개발자의 공부방 216

Git 사용하기 feat. CMD

들어가기에 앞서.. 나 같은 경우에는 개인 프로젝트를 GitHUB에 올릴 때 Git Desktop 을 사용한다. 하지만 개발자로서 크기 위해서는 GUI 에 너무 의존하지 않는게 좋다고 하셔서 익숙하지 않은 cmd 로 commit 하는 방법을 해보려고 한다. 폴더를 분류..? 이클립스(STS)를 사용해서 만든 프로젝트 같은 경우 Repository 가 따로 있다. 이클립스는 저장공간이 eclipse-workspace 인데 이 안의 있는 프로젝트 폴더를 복사해서 Git 전용 저장소를 만들어 넣은 후 Commit을 시키는 쪽으로 하고 있다. 이클립스(IDE) 에서 하는 것도 괜찮은 것 같으나 왜 인지 모르게 계속 에러가 뜬다. 그래서 한번에 성공하지 못하다보니 여간 불편한게 아니다. 그래서 깃허브 데스크탑 사..

Git 이란?

1. Git 이란? Git은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 빠른 수행 속도에 중점을 두고 있는 것이 특징이다. 최초에는 리누스 토르발스가 리눅스 커널 개발에 이용하려고 개발하였으며, 현재는 다른 곳에서도 널리 사용되고 있다. 깃의 작업 폴더는 모두, 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하고 있으며, 완전한 형태의 저장소이다. (로컬에 커밋이 된다.) 네트워크에 접근하거나 중앙 서버에 의존하지 않는다. 2. Git 용어 Repository : 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있습니다. Working Tree : 저장소를 어느 ..

스프링 학습 중

아직 정리하지 않은 글 입니다. 스프링OOP 구조를 뒷받침하고 구조를 설계하는 사상.다른 프레임워크들과의 통합을 지원. ApplicationContex이 녀석이 필요한 객체들을 생성, 필요한 객체들을 주힙하는 역할을 해주는 구조.스프링에서는 ApplicationContext가 관리하는 객체를 Bean 이라는 용어로 부름. 빈과 빈 사이의 의존관계XML, 어노테이션, JAVA로 설정 가능. AOP반복적인 코드의 제거보안, 로그, 트랜잭션 → 횡단관심사 라고 함.횡단관심사를 모듈로 분리하는 프로그래밍의 패러다임 1) 핵심 비즈니스 로직에만 집중해서 코드를 개발2) 각 프로젝트마다 다른 관심사를 적용할 때 코드의 수정을 최소화3) 원하는 관심사의 유지보수가 수월한 코드를 구성 트랜잭션지원 의존성 주입 테스트1..

스프링 기초] jUnit 이란?

jUnit의 특징 TDD의 창시자인 Kent Beck과 디자인 패턴 책의 저자인 Erich Gamma가 작성했다. 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별한다. ex) assertEquals(예상 값, 실제 값) jUnit4부터는 테스트를 지원하는 어노테이션을 제공한다. ex) @Test @Before @After 각 @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 한다. jUnit 어노테이션 @Test @Test가 선언된 메서드는 테스트를 수행하는 메소드가 된다. jUnit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 하므로 @Test 마다 객체를 생성한다. @Ignore @Ignore가 선언된 메서드는 테스트를..

스프링 기초] DI (Dependency Injection)란?

1. DI 의 개념 각 클래스간의 의존관계를 빈 설정 (Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말함. 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 된다. 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성된다. 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해주는 것이다. 빈 설정을 개발자가 XML, annotation 방식으로 설정을 하면 컨테이너가 빈의 설정 정보를 읽어서 컨테이너가 자동으로 짝짝꿍을 시켜준다. (프로필을 등록하고 프로필에 취미, 성향 등을 보고 자동으로 매칭 시켜주는...? 결혼 정보 업체같은 느낌..?) new 를 사용해서 객체를 불러올 필요성이 없어진다? 2. DI의..

스프링 기초] 컨테이너와 IoC (Inversion of Control, 제어의 역전) 란?

웹개발을 배우면서 항상 개념에 대한 부분이 너무 어렵고 공부를 하고 나면 까먹고 또 까먹는다. 컨테이너 또한 JAVA 기초와 함께 MVC를 배우면서 배웠으나 또 까먹었다...그런데 스프링에서도 컨테이너가 나온다. 과연 컨테이너는 뭐고 IoC랑은 어떤 상관관계가 있는지 한번 배워보겠다. IoC == 컨테이너? 그럼 먼저 컨테이너라는 것이 무엇인지 한번 알아보자. 1. 컨테이너란?? Servlet 컨테이너, EJB 컨테이너 ... 등 기본적으로 웹개발을 배우다보면 처음에 Servlet 컨테이너라는 말로 '컨테이너' 라는 것이 익숙하게 느껴질 것이다. 컨테이너는 보통 인스턴스의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록하는 것이라고 한다. 즉, 컨테이너란 당신이 작성한 코드의 처리과정을..