개발자노트

고정 헤더 영역

글 제목

메뉴 레이어

개발자노트

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • James (134)
    • IT (123)
      • 프로그래밍 (119)
      • 기록 혹은 팁 (4)
      • 트러블 슈팅 (0)
      • 메모 (0)
    • Contact (0)
    • 에세이 (11)

검색 레이어

개발자노트

검색 영역

컨텐츠 검색

IT/프로그래밍

  • 스프링 기초 - 인터페이스 기반 프로그래밍

    2016.05.02 by James Lee.

  • 스프링 컨테이너(IoC컨테이너)정리

    2016.04.24 by James Lee.

  • [프로젝트 오일러] 백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은?

    2016.04.17 by James Lee.

  • [프로젝트 오일러] 50자리 숫자 100개를 더한 값의 첫 10자리 구하기

    2016.04.17 by James Lee.

  • 스프링 프레임워크란 무엇인가?

    2016.04.17 by James Lee.

  • Spring 의 DI란?

    2016.02.24 by James Lee.

  • [프로젝트 오일러] 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (Largest palindrome product)

    2015.12.28 by James Lee.

  • intellij 에서 Auto publishing 설정하기

    2015.12.26 by James Lee.

스프링 기초 - 인터페이스 기반 프로그래밍

인터페이스 기반 프로그래밍무엇인가? Architectural pattern for implementing modular programming at the component level in an object-oriented programming language which does not have a module system. (오역의 소지가 있으므로 원문을 기고하였음)인터페이스 기반 아키텍처로도 알려져 있음구상 클래스(Concrete Class)를 직접 참조하지 않고 상위 인터페이스를 선언하고 다형성을 이용하여 유연하게 프로그램을 작성하는 방법 ※ 구상 클래스라는 용어가 낯설다면 클릭왜 쓰는가?인터페이스 기반 프로그래밍을 하지 않는다면의존성을 다른 구현으로 대체하려면 의존 클래스까지 변경해야 한다. 즉 변..

IT/프로그래밍 2016. 5. 2. 21:01

스프링 컨테이너(IoC컨테이너)정리

스프링 컨테이너 (IoC컨테이너)무엇인가?빈의 생성과 관계 설정, 사용, 생명주기 관리 등을 관장하는 컨테이너※메타데이터는 xml, java code로 작성할 수 있음 의존성이란?현재 객체가 다른 객체와 상호작용(참조)하고 있다면 다른 객체들을 현재 객체의 의존이라 한다. 스프링의 의존성 주입 순서애플리케이션의 구성 메타데이터를 읽음객체 인스턴스화인스턴스 주입이 외에도 여러가지 기능(트랜잭션 관리, 보안 등)으로 애플리케이션 객체를 보완한다.따라서, 애플리케이션 객체를 POJO로 모델링 할 수 있다.※POJO에 필요한 엔터프라이즈 서비스는 스프링 컨테이너가 내부적으로 제공 POJO(Plain Old Java Object)란 무엇인가?프레임워크 인터페이스나 클래스를 구현하거나 확장하지 않는 단순한 클래스...

IT/프로그래밍 2016. 4. 24. 13:56

[프로젝트 오일러] 백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은?

14번 문제같은 경우는 문제를 보자마자 설계가 바로 나왔기 때문에 분석 - 설계 - 의사코드 작성 - 코딩의 순서로 넘어갔고, 무난하게 풀 수 있었다.느낀점중 하나는 TDD를 항상 할 필요는 없다는 것이다. 이미 설계가 있는 상황에서 굳이 TDD를 하는 것은 시간비용의 소모가 크기 때문에 비효율적이라는 생각을 했다.다만 정상적인 동작을 보장하는 테스트 코드는 필요했기에 중간중간 테스트 코드를 작성하긴 했다.time complexity는 O(n)이다. /** * 설계 * * 입력값이 크므로 (100만) 시간 복잡도를 고려해야한다. * * 1. 객체가 필요하다. * 객체는 두가지 속성을 가진다. * - 값 (1~100만) * - 1이 될 때까지 걸린 과정의 횟수 * * 2. 1~100만의 우박수에 대하여 각..

IT/프로그래밍 2016. 4. 17. 23:42

[프로젝트 오일러] 50자리 숫자 100개를 더한 값의 첫 10자리 구하기

문제 링크 : http://euler.synap.co.kr/prob_detail.php?id=13 이번 문제는 기존처럼 Java가 아닌 Javascript로 풀었다. time complexity는 O(1)현재 주로 사용하는 언어가 Javascript이므로 익숙해질 겸 당분간 Javascript로 계속 풀 예정. 생각했던대로 한번에 풀려버려서 무난했다. (문제가 한번에 풀리는건 좋지만 참 어색한 일이기도 하다.)그렇지만 TDD를 사용했음에도 Baby step이 아닌 Big step으로 한번에 풀어버린 건 개선해야 할 점이다. (사실 귀찮았다.) Test Case Logic/** * 1. 문자열을 숫자 50개로 바꾼다. * 2. 숫자에서 적당한 값을 잘라낸다. * -> 50번이상 9가 나와도, 앞 10자리에..

IT/프로그래밍 2016. 4. 17. 18:07

스프링 프레임워크란 무엇인가?

스프링무엇인가?애플리케이션 개발을 간소화하기 위해 개발한 오픈소스 애플리케이션 프레임워크독립형 애플리케이션, 웹 애플리케이션, 애플릿 등 모든 유형의 자바 애플리케이션을 개발하는데 사용 가능 이미지 출처 : http://ooz.co.kr/170왜 쓰는가?스프링을 쓰지 않았을 때..개발자는 애플리케이션을 구조적이고, 테스트하기 쉽게 만들기 위하여 수많은 디자인 패턴을 사용해야 했음결과적으로 개발자의 생산성과 제품의 품질에도 좋지 않은 영향을 미침스프링을 쓴다면?구조적이고, 관리가 용이하며, 테스트하기 쉬운 애플리케이션을 개발하기 위한 인프라 제공개발자는 비즈니스 로직에만 집중할 수 있음결과적으로 개발자의 생산성이 크게 높아짐

IT/프로그래밍 2016. 4. 17. 12:19

Spring 의 DI란?

Dependency Injection(의존성 주입)객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념이다.스프링에서 이런 개념을 사용하는데에는 이유가 있을 것이다.의존성 주입이 왜 필요할까? 이걸 사용하게 되면 무엇이 편할까? 아니, 그 전에 의존성이란 무엇일까? 나는 처음 공부할때 이런 것들이 궁금했다.우선 가장 간단한 예제를 들어보자. 아래의 HelloApp은 MessageBean이라는 클래스에서 sayHello라는 메소드를 호출한다.실행 결과 : Hello, Spring!package sample1; /** * Created by james on 16. 2. 10. */ public class HelloApp { public static void main(String[] ars){ MessageB..

IT/프로그래밍 2016. 2. 24. 20:33

[프로젝트 오일러] 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (Largest palindrome product)

4번째 프로젝트 오일러 문제입니다. (3번은 풀었으나, 손볼 곳이 조금 있는 관계로 나중에 포스팅하도록 하겠습니다.)문제 전문은 아래와 같습니다.앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 코드를 작성함에 있어서 가장 기본적인 원칙은 아래와 같습니다.clean code를 최대한 준수하도록 합니다. 코드의 라인 수가 짧을 수록 좋겠지만 그것보다는 깨끗한 코드를 만드는데에 더 초점을 두었습니다.SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), 한 메소드 내에 동일한 추상화를 최대한 유지하도..

IT/프로그래밍 2015. 12. 28. 21:14

intellij 에서 Auto publishing 설정하기

나는 이클립스를 사용하다가 인텔리제이로 넘어온 개발자다.인텔리제이를 쓰면서 모든 면에서 이클립스보다 우월하다고 생각했다 (특히 자바스크립트 리팩토링 기능은 대박..)하지만 웹개발을 주로 하면서 불편한 점을 발견했는데 바로 Auto Publish가 안된다는 것.자바스크립트는 스크립트 언어이기 때문에 수정을 하면 서버를 재기동할 필요 없이 바로 배포가 되었었는데 (이클립스에서는 Build Automatically에 이 기능이 포함되어 있다.) 인텔리제이에서는 이 기능을 찾기가 어려웠다.하지만 찾아내었고 정보를 공유하고자 한다! 톰캣 서버창에 들어가면 On frame deactivation이 기본으로 Do nothing으로 설정되어 있는 것을 볼 수 있다.이것을 아래 그림과 같이 Update classes a..

IT/프로그래밍 2015. 12. 26. 09:43

추가 정보

인기글

최신글

페이징

이전
1 ··· 5 6 7 8 9 10 11 ··· 15
다음
TISTORY
개발자노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바