1. 스프링의 핵심 개념 스프링 프레임워크(이하 줄여서 스프링)의 핵심 목표는 '자바 개발 간소화' 이다. 객체지향 프로그래밍을 공부한 사람들이라면 느슨한 결합이나 재사용에 대해 들어봤을 것이다. 스프링은 그런 객체지향 프로그래밍을 지원하기 위해 나온 프레임워크들 중 하나다. 앞서 말했듯이 자바 개발 간소화를 하기 위해 스프링의 전략은 다음과 같다.POJO를 이용한 가볍고 non-invasive 개발DI와 인터페이스 지향을 통한 느슨한 결합도AOP와 공통 규약을 통한 선언적 프로그래밍템플릿을 통한 상투적인 코드 축소1-1. POJO란 무엇인가? POJO(Plain Old Java Object)란 평범한 자바 객체이다. 마틴 파울러가 2000년 가을 컨퍼런스에서 처음 만들어낸 말이다. 마틴 파울러는 EJB..
※본 내용의 순서는 [Spring in Action]의 교재를 통해 진행됩니다.
2010년도 개인적으로 고급차에 관심 많아서 이번에 자동차속에 들어가는 새로운 기능들을 관심있게 보는데, 워크샵때 배운 내용들을 바탕으로 SL에서 개발 또는 생산 중인 제품들을 소개합니다아~~~!! SL의 주력 제품인 헤드램프에 대해서 알아보겠습니다. 해드램프란?? 이것이죠!! 많은 사람들이 해드램프를 만드는 곳이다 라고 하면,, BULB를 만드는 것으로 착각 한다고 하는데요...여기서 벌브란.. 쉽게 말해서 해드램프속에 들어가는 속칭 '다마' 를 말하는 것입니다. 사실 SL이 그런 벌브를 만드는 기업은 아닙니다.헤드램프를 제조는 것은 굉장한 기술력이 필요한 분야입니다.무슨 램프를 만드는데 그렇게 대단한 기술력이 필요할까 생각하시는 분을 위해서 아래에 그림을 준비했습니다아래에 그림을 참고 해주세요^^ 아..
입사 해야하는 이유, No.3 1. 세계적인 자동차 부품 전문기업 SL은 2014년 매출액 약 4조 원, 인력 약 10,500명 규모의 매우 튼튼한 기업입니다. 또한, 미국, 인도, 슬로바키아, 폴란드, 중국 등의 해외 사업장과 국내 각지의 사업장을 가진 글로벌 기업입니다. 2. 해당 직군의 전문가를 양성하는 SL 아카데미 SL의 신입사원들은 설계학교, 전자학교, 생산기술학교, 품질학교 등 다양한 ‘SL 아카데미’의 과정들로부터 해당 직군에 대한 전문지식 및 노하우를 배워 전문가로 성장합니다. 3. 인간 제일주의 경영철학 SL은 인간 제일주의 경영철학을 근간으로 한 온정적인 기업문화를 가지고 있습니다. 젊은 구성원들이 많아서 역동적이며, 사내 동아리 활동도 활발하게 이루어지고 있습니다. 더불어 사내 소통..
Codility-Lesson02-1. OddOccurrencessInArray 문제N개의 정수로 구성된 배열 A가 있는데 이 배열은 홀수 개의 원소들을 가지고 있다. 그리고 딱 한 원소를 제외한, 나머지 원소들은 다른 원소와 같은 값을 가지고 짝을 이룬다. 여기서 짝을 이루지 않는 원소를 알아내라.{9,3,9,3,9,7,9} 에서는 7이 짝을 이루지 않는 원소이다.시간 복잡도 : o(n)풀이 방법 : XOR 비트 연산 12345678910111213141516171819package codility; public class OddOccurrencessInArray { public static void main(String[] args){ int arr[] = {9,3,9,3,9,7,9}; System.o..
Codility-Lesson01. BinaryGap 문제랜덤으로 발생하는 10진수 숫자 N 을 int Type으로 받는다2진법으로 N 을 변환한다2진법으로 표현된 N 에서 1과 1 사이에서 연속된 0의 최대 갯수를 리턴한다. 예컨대 2진법으로 변환한 결과가 ‘1010001’ 이라면 1과 1사이에 있는 0은 각각 1개, 3개 이다. 이중 최대값인 3을 리턴하면 된다. ‘100001001’ 의 경우에는 4 가 된다. 단 ‘10010000’ 인 경우 리턴 값은 2이다. 1과 1사이의 0 갯수만 해당되기 때문이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344// you can also use imports, for..
vector::push_back 백터 끝에 원소를 추가한다.현재의 마지막 원소 뒤에 새로운 원소를 추가하며, 그 원소의 값은 x의 복사본으로 초기화 된다. 이 함수는 효과적으로 벡터의 크기를 1 늘리는데, 만일 capacity와 벡터 size가 같다면 내부적으로 재할당이 일어나게 된다. 이 때 이전에 사용되었던 반복자(iterator), 레퍼런스, 포인터들은 사용할 수 없게 된다. void push_back(const T& x); 인자 : x새로 추가 될 원소에 복사 될 원소T는 벡터에 저장되어있는 원소들의 타입이다. 리턴값 : 없음만일 재할당이 발생한다면 이는 Allocator::allocate() 를 이용해서 수행되는데, 예외를 던질(throw) 수 있다. (디폴트 할당자의 경우 만일 요청한 할당이 ..
JAVA 특징 1. 이식성이 높은 언어 - 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것 2. 객체 지향 언어 (OOP) => 자세히 알아보기3. 함수적 스타일 코딩 지원 - 대용량 데이터의 병렬 처리 그리고 이벤트 지향 프로그래밍에 적합 - JAVA 8 부터 람다식을 제공 => 컬렉션의 요소를 필터링, 매핑, 집계 처리하는데 쉬워짐, 코드가 간결해짐 4. 메모리를 자동으로 관리한다. - 객체 생성시 자동으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 쓰레기 수집기(Garbage Collector) 실행 5. 다양한 애플리케이션 개발 가능 - 윈도우, 리눅스, 유닉스, 맥 등 다양한 OS에서 실행되는 프로그램을 개발 가능 6. 멀티 스레드를 쉽게 구현 가능 - 하나의 ..
오늘 할일은 ?? 1. 문법적인 에러를 발생시켰을때2. 동작하는 과정에서 예상하지 못한 에러가 발생할 때3. 코드를 수정했을 때 바로 변경사항에 변경되는 seting 에러를 본다는 것은 코딩에 중요한 부분을 차지하는 것 같습니다.때문에 bitnami에서 에러를 빠르게 볼 수 있도록 수정하도록 하겠습니다. 1. 먼저 bitnami 폴더에서 C:\Bitnami\wampstack-5.6.30-3\php 이와 같은 경로로 접근합니다. 다음 php.ini을 찾습니다. 만약 안보일경우 파일 탐색기 위에 보시면 보기 또는 view창이 있습니다. 누르고 파일 확장명보기를 체크를 하신다면 보이실 겁니다. 2. 다음으로 php.ini을 text로 열어 display_errors를 찾고 Off 되어있는 것은 On으로 바꾸어..