Lookup Method 이번에는 정말 신기한 이야기를 해드리려고 합니다. 그동안 Java에서는 추상 클래스를 상속(extends)받아서 완전한 메서드로 구현하거나 인터페이스를 구현(implements)해야만 객체를 생성할 수 있었습니다. 그런데, 스프링에서는 룩업 메서드를 이용하면 추상클래스일지라도 스프링에 해당 추상 메서드만 일러주면 알아서 객체를 생성하여 반환해 줍니다. 정말 쇼킹할 만한 일 아닌가요? 추상클래스 주제에 메서드가 구현되지도 않았는데 어떻게 객체를 반환한담? 이번에는 학교, 학생 주제에서 좀 떠나서 새로운 주제로 클래스를 작성해보도록 하겠습니다. 클래스 구성 폰.java public class SmartPhone { private String os; public String getOs..
Bean객체의 Scope 속성 그동안은 의존성 주입(DI)의 개념에 대해 살펴보았고, 이를 통해 제어의 역전(IoC)이라는 것이 무엇인지에 관해 살펴보았습니다. 그렇다면 이번 시간에는 값을 입력하는 것도 외로도 많은 기능을 살펴보도록 하겠습니다. 학교에 학생이 있습니다. 그동안 스프링에서 의존성 주입을 통해서는 싱글톤 객체로 관리한다는 것까지는 알았는데, 갑자기 학교에서는 이제 학생 여러 명을 관리하고 싶어졌습니다. 그렇다면 어떻게 해야 할까요? 학생.java public class Student { private Pencil pencil; public Pencil getPencil() { return pencil; } public void setPencil(Pencil pencil) { this.pen..
p 프로퍼티로 객체 값 삽입하기 이전까지는 property 태그를 이용하여 값을 삽입하거나 constructor-arg 태그를 이용하여 생성자를 통해 값을 삽입해 보았다면, 이번 시간에는 p 프로퍼티를 이용해서 값을 삽입하는 방법에 대해 알아보도록 하겠습니다. 먼저 xml에는 다음의 네임스페이스가 선언되어 있어야 합니다. xmlns:p="http://www.springframework.org/schema/p" 기존의 property 태그보다 간소화된 형태라고 생각하시면 됩니다. 이전 7강에서 했던 것과 java소스코드에는 차이가 없습니다. 소스코드는 파일로 첨부해 드리기로 하고 대신 xml파일인 applicationContext.xml 먼저 확인해 보겠습니다. 기존의 property태그나 construc..
객체를 생성하는 것까지는 완료했는데, 아직 제 구실을 다하지는 못하는 것 같습니다. 객체를 생성해서 프로그램을 실행만 하면 끝나는 게 아니라, 우리는 프로그램을 실행할 때 무언가 값을 설정해 주는 것이 필요합니다. 그렇다면 이번 시간에는 객체를 생성하여 값을 설정하는 방법에 대해 알아보도록 하겠습니다. setter메서드를 통한 값 설정 이전에 bean객체에 관해 짤막하게 이건 "객체"라고 말씀드린 적 있죠? 그런데 사실 bean객체라고 불리기 이전에 조건이라는 게 있습니다. 필드(멤버변수)별 getter/setter메서드가 존재해야 한다. 필드는 접근제한자가 private로 설정돼 있어서 별도로 필드 변수에 직접 접근하여 값을 가져오거나 설정하는 것이 아니라 메서드를 통해 거쳐가게 되어 있습니다. 클래스..
객체 초기화, 소멸 메서드 안드로이드 운영체제이든, 리액트(라이브러리이기는 하지만...)이든 어떠한 프레임워크에서든지 라이프사이클이 존재합니다. 라이프사이클이란? 메서드나 객체가 생성되고 종료될 때까지의 일련의 과정이라고 볼 수 있는데요, 이러한 프로그램의 흐름을 타면서 초기화 메서드나 소멸 전 메서드를 수행시킬 수 있습니다. 초기화, 소멸 메서드 코드 작성하기 이전 프로젝트에 이어서 Student클래스에 다음의 코드를 추가해 보겠습니다. 아래의 코드는 기존 코드에 enroll(초기화 메서드)와 graduate(소멸 메서드)을 추가한 것입니다. public class Student { private Pencil pencil; public Student() { System.out.println("학생이 태..
명쾌한 스프링 프레임워크 강좌 - #5 의존성 주입 (DI dependency Injection) 실습하기 의존성 주입 (DI) 복습 이전 강좌에서 의존성 주입에 관해 설명한 내용을 복습합니다. 이전까지는 다음과 같이 서비스 클래스의 실행 주도권을 내가 만든 클래스가 가지고 있었다면, 이제부터는 다음과 같이 서비스 클래스의 실행 주도권은 스프링에게 내준다고 배웠습니다. 그래서 이 클래스(학교)는 물론이고 사용되는 클래스(학생)까지 몽땅 생성은 스프링 컨테이너에 맡기는 것이 되었습니다. 프로젝트 만들기 프로젝트를 만들어 예제를 실습하시기 난감하신 분들을 위해 블로그 하단에 파일을 첨부해 두었습니다. 프로젝트를 로드하여 사용하시기 바랍니다. 0. 시작 전에 프로젝트에서 pom.xml 설정하기 pom.xml을..
Maven Project 만들기 이번 시간에는 STS 프로젝트를 만들어보도록 하겠습니다. 참고로 이번 시간에 안내해 드리는 프로젝트 생성 방법은 "스프링 웹 MVC" 프로젝트가 아닙니다. 스프링 컨테이너를 이용하여 의존성 주입을 위해 공부하고자 만드는 프로젝트입니다. 오해 없으시길 바랍니다. 1. File > New > Maven Project 클릭 2. Create a simple project(skip archetype selection) 체크 후 Next 3. GroupId와 ArtifactId를 입력한 후 Next GroupId와 ArtifactId는 다음과 같이 입력하신 후 다음을 눌러주세요. 프로젝트 생성에 관한 자세한 설명은 생략합니다. 4. 프로젝트명에 마우스 우클릭 후 Properties..
스프링 IDE - STS 설치하기 이번 시간에는 XML을 이용한 DI(의존성 주입) 예제를 진행하고자 했지만, 아직 IDE 설치에 관해 언급해드지 않아 IDE 설치하는 방법에 관해 말씀드리고자 합니다. 기본적으로 최신 버전을 사용하는 것이 마땅하겠지만, STS의 경우에는 3.9.12버전이 아닌 3.9.6 버전을 설치해서 진행하겠습니다. 12버전을 설치하는 것이 타당하지만, 이 버전에서는 Simple Spring Maven프로젝트 생성이 불가능하기 때문에 불가피하게 3.9.6버전을 설치하여 진행하기로 했습니다. 개인적으로 리액트는 CRA(Create React App)로 프로젝트를 만들어 진행하는 것이 편리하지만, 스프링은 맨땅에서 시작하는 것을 기준으로 배우는 중입니다. 3.9.6 다운로드 3.9.6 다..
들어가기 전에 이번 시간에는 의존성 주입에 관해 자세히 알아보도록 할 예정입니다. 이전 시간에 의존성 주입에 관해 짤막하게 소개했었는데 조금 더 자세한 설명이 필요하다 싶어 남깁니다. 개인적으로 의존성 주입이라고 하는 용어 자체가 너무 어려운데다가 영어 표기법인 DI(Dependency Injection) 또한 이해가 잘 되지 않아서 정말 많이 혼란스러웠습니다. 인강을 찾아봤지만, 인강에서도 의존성 주입에 관해 잘 설명해준 동영상을 찾기 어려웠고 거의 국어책 읽기 수준으로만 말씀해주셔서 당혹감을 감추지 못했습니다. 지금 배우려고 하시는 초보 여러분들.. 모두 스프링 처음이시잖아요. 이제 막 JAVA에서 new라는 키워드를 배운 지도 얼마 되지 않았는데 객체를 생성하는 또 다른 방법이라니... 멘붕입니다...
스프링 프레임워크 입문 개인적으로 웹 서비스를 개발하면서 다음과 같은 생각을 해보았었다. JAVA언어와 친숙하기 때문에 언어는 JAVA로 개발하고 싶었고 그러므로 프레임워크는 되도록 JAVA언어 기반으로 돌아가는 프레임워크를 고르고 싶다. 하지만 이 꿈은 계속해서 스프링 프레임워크에 의해 좌절(?)했었다. 이는 이전에 레거시한 PHP로만 웹 생태계를 바라봤던 나의 시선 때문에 제약이 있던 사항이었다. 뭔가 체계적으로 프레임워크를 배우기 이전에 웹 생태계의 개념(MVC라든지...)을 알고 있었으면 좋았을 텐데 이건 뭐 php로 프런트엔드와 백엔드를 분절해서 보지 못하고 HTML처럼 php확장자 파일 안에서 모든 걸 다 해결하는 나의 시야로는 스프링 프레임워크를 배울 수 없었다. 일단... 스프링 프레임워크..
국비지원교육 유명학원 면접 합격률 높이기 면접 합격률 높이는 방법 툭 까놓고 이야기한다면, 대부분의 학원은 교육 정원을 채우느라 급급하여 양질의 수강생을 모집하기가 어려운 상황이다. 물론 좋은 학원이라면 수강생을 모집하는 데 비교적 수월하겠지만 마감이 빠르겠지만 말이다. 적어도 개강하기 한 달 전이면 유명 학원이라도 충분히 합격해서 들어갈 수 있다는 이야기이고 면접에서 이상한 이야기를 하지 않고 웹 개발자로서 역량을 갖추기 위해 끈질기게 공부할 준비가 되어 있다는 것을 어필하면 합격률은 99%가 될 것이다. 그런데도 떨어졌다면 본인보다 한발 빨리 다른 사람이 빨리 지원하여 합격했거나, 명성없는 학원이라면 수강생이 채워지지 않아 개강을 할 수 없기에 불합격을 통보했을 것이다. 그럼 면접 아예 준비 안 해도..
좋은 수강생 만나기 강사도 만나기 어려운데 어떻게 좋은 수강생을 내 마음대로 만나? 맞는 말이다. 강사조차 아니 학원조차 어떤 학원이 걸릴지 모르는데 좋은 수강생을 만나라고 하니 너무 터무니없는 이야기가 아닌가? 사실은 그렇다. 그렇지만 무시할 수는 없는 요소이기 떄문이 이야기하고자 한다. 좋은 수강생이 좋은 면학 분위기를 만든다. 학원생들은 정시에 오고 정시에 하원하는 수강생들은 많지 않았다. 다른 반은 분위기가 좀 달랐던 것 같은데 적어도 내가 함께했던 수강생들은 정시에 오더라도 항상 남아서 자습을 하고 갔다. 학원이 문을 닫을 때까지 공부하고 가는 학생들이 많았다. 이런 분위기 덕분인지 조별 세미 프로젝트를 할 때 그 누구도 소극적인 학생이 없었다. 실력차는 있을지 몰라도 누구든 열심히 하고자 노력..
이전 포스트에서는 국비지원교육 학원에 대해 고르는 방법에 관해 이야기해보았다면, 이번에는 이어 좋은 학원 고르는 방법에 관해 또 다시 작성해보고자 한다. #1. 웹 개발자 국비지원교육 학원 고르는 방법 웹 개발자 국비지원교육 학원 고르는 방법 (광고아님) 이번 국비지원포스팅은 전공자가 비전공자의 시각에서 바라 보았을 때 좋은 학원을 골라갈 수 있도록 성의껏 생각하여 작성한 글입니다. 오해의 소지가 없게 학원명은 일절 언급하지 않을 예정입니다. 웹 개발자.. digest1.tistory.com 웹 개발자 좋은 국비지원학원 고르는 방법 (2화) 이번에는 웹 개발자로서의 역량을 갖추기 위해 좋은 국비지원학원을 고르는 방법에 관해 다시 알아보고자 한다. 이전에는 좋은 학원을 고르기 위한 방법을 제시했다면 이번에..
이번 국비지원포스팅은 전공자가 비전공자의 시각에서 바라 보았을 때 좋은 학원을 골라갈 수 있도록 성의껏 생각하여 작성한 글입니다. 오해의 소지가 없게 학원명은 일절 언급하지 않을 예정입니다. 웹 개발자 국비지원교육 학원 고르기 (광고아님) 필자도 웹 개발자로서 커리어를 바꾸고 취직을 준비하게 되었는데 그 과정에서 국비지원교육을 신청하여 학원에서 수강을 하고자 희망했다. 국가에서 국가기간전략직종훈련으로 밀어주는 것이 웹 개발자인지라 국민내일배움카드를 발급받기에는 비교적 타 직종보다는 수월했다고 생각한다. 하지만, 이러한 6개월 정도 소요되는 교육훈련을 수강하는 것은 단 한 번밖에 수강할 수 없다는 것을 알고(실제로는 또 들을 수 있지만 여러 조건들이 있음) 있기 때문에 좋은 학원과 좋은 강사, 그리고 좋은..
반응형 레이아웃 1. 최대 골칫거리 반응형 레이아웃을 설계하는 것은 너무 힘든 일인 것 같습니다. 여러 장치의 해상도를 고려해야 하고, 또 장치만 고려한다고 되는 것이 아니라 PC버전의 모든 브라우저별로 버전에 따라서도 똑같이 보이도록 만들어야 하기 때문에 한 치의 오차도 없어야 하기 때문이죠. 대부분의 포털 사이트의 퍼블리셔께 존경을 표하는 일이 바로 이 때문입니다. 개(...)떡같이 말하더라도 찰떡같이 알아듣는 현재 최신버전의 크롬과는 다르게 찰떡같이 말하더라도 개(...)떡같이조차 못알아먹는 인터넷 익스플로러 8을 위해 최적화시켜줘야 하는 일이 너무 힘든 것임을 알기 때문이죠. 그래도 예전 익스플로러 6 버전보다는 낫지 않을까 싶었지만, HTML5가 너무 비약적으로 발전하다 보니 오히려 지금은 익스..
- Total
- Today
- Yesterday
- html5
- 개발자
- 웹개발자
- 정렬
- 재귀함수
- 데이터베이스
- 국비지원교육
- 반응형레이아웃
- 미로찾기
- 청년구직활동지원금
- 대학생
- 해커스매거진
- 20대
- 보고서
- 시간복잡도
- java
- 영문법
- 국가기간전략직종훈련
- ORM
- 멱집합
- 퀵정렬
- 부분집합
- 알고리즘
- 보고서양식
- BLOB
- N-Queens
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |