스트래티지 패턴(Strategy Pattern) 알고리즘군을 정의하고 각각캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할수 있다. 오리 어플리케이션 게임을 운영하는 회사를 다니면서 오리게임을 만든다고 가정했을때. 표준적인 객체지향 기법을 사용하여 Duck 이라는 슈퍼클래스를 만든다음 그 클래스를 확장하여 다른 종류의 오리를 만든다. 추상클래스인 Duck 클래스를 ReadHeadDuck 클래스와 MallardDuck 클래스가 상속을 받아 추상메소드인 display()를 각각 구현한다. 문제의 시작1 원래는 그럴 계획이 없었는데.. 오리들이 물에 떠있는 기능 이외에 날아다녀야하는 요구사항이 생겼다. 간단하네.. ? 이제 모..
1. 애플리케이션에서 달라지는 부분을 찾아 내고, 달라지지 않는 부분으로부터 분리시킨다. 첫번째 원칙은 스트래티지 패턴에 해당하는 장에서 등장했다. 새로운 요구사항이 추가로 들어왔다. 혹은 기존 화면의 요구사항이 변경됬다. 이럴때 우리는 클래스의 메소드나 생성자를 고치고 추가하는 작업을 한다. 그 다음에 해당 클래스를 사용하는 모든 코드를 고친다. 생각만해도 끔찍하다. 나중을 위해... 코드에 바뀌는 부분이 있다면, 그 행동을 기존 코드에서 분리시켜야한다. * 바뀌는 부분을 따로 뽑아서 캡슐화한다. * 이를 지키면 나중에 바뀌지 않는 부분에 영향을 미치지 않을 채로 그 부분만 고치거나 확장할 수 있다. Ex) class A { public methodA() { 바뀌지 않는 부분 바뀌는부분 -> 이 부분을..
JAR, WAR, EAR 정의 ※ J2EE 애플리케이션에서 모듈은 기능에 따라 EAR, JAR 및 WAR로 패키지됩니다. JAR (Java Archive) 엔터프라이즈 Java Bean (클래스 파일) 및 EJB 배치 디스크립터를 포함하는 EJB 모듈은 .jar 확장을 갖는 JAR 파일로 압축됩니다. WAR (Web Application Archive) 서블릿 클래스 파일, JSP 파일, 지원 파일, GIF 및 HTML 파일을 포함하는 웹 모듈은 확장자가 .war (웹 아카이브) 인 JAR 파일로 패키지됩니다. EAR (Enterprise Archive) 위의 모든 파일 (.jar 및 .war)은 확장자가 .ear (enterprise archive) 인 JAR 파일로 패키지되어 Application S..
1. 이승만은 1875년에 태어난 인물로 출생일 기준으로 이승만과 정조 사망(1800년)의 시간적 거리가 2019년인 오늘보다 더 짧은, 생각보다 훨씬 오래전의 인물이다. 2. 이승만은 우리나라 최초의 일간지인 '매일신문'의 창립자이다. 3. 이승만은 스무살 때 명성황후 시해 사건이 발생하자, 그 원수를 갚겠다는 (춘생문 사건) 계획을 세웠다가 발각되어 피신한 적이 있다. 4. 이승만은 고종 폐위 음모에 가담했다는 혐의로 사형선고를 받고 20대의 대부분을 감옥에서 보냈다. 투옥 도중 탈옥 시도를 한 적이 있으나 다시 잡혀 곤장 100대를 맞았고 같이 탈옥시도를 했던 사람은 사형당했다. 당시 고문의 후유증으로 평생 안면경련증에 시달렸다. 5. 이승만은 투옥 도중 성서를 읽으며 영한사전을 집필했고, 계몽운동..
본 게시물은 역사적 사실과 실화를 바탕으로 재구성된 게시물입니다. 군인 (軍人) 박정희 (朴正熙) - 대한민국의 군인, 교사, 정치가이며 5,6,7,8,9 대 대통령이다. 대한민국 최초의 군인 출신 정치가이다. 그는 1917년 11월 14일 경상북도 구미 어느 시골마을 가난한 농부의 5남 2녀중 막내로 태어났다. 45세라는 적지 않은 나이의 어머니 백남의는 뱃 속에 아이가 있다는 사실을 알자 매우 부끄러워했다. 먹을 밥도 키울 여력도 안되었기 때문에 당시 간장 사발과 높은 곳에서 뛰어 내리고 바닥에 구르며 애를 떼기 위해 애썼다고 한다. 구미공립보통학교에 진학하였고 당시 성적으로 급장을 정해 가장 성적이 뛰어났던 박정희는 학기 내내 급장을 맡았고 뛰어난 성적과 강력한 리더쉽으로 학우들을 이끌었다고 한다...
- Coupling의 정의 coupling이란 서로 상호작용하는 시스템들간의 의존성을 의미한다. 의존성은 실질적 의존성과 인위적 의존성으로 나뉠 수 있다. 실질적 의존성은 한 시스템이 소비하는 다른 시스템의 기능이나 서비스 집합을 의미한다 인위적 의존성은 한 시스템이 다른 시스템이 제공하는 기능이나 서비스를 소비하기 위해 필요한 여러 요소들의 집합을 의미한다. 전형적으로 인위적 의존성은 언어적인 의존성, 플랫폼 의존성, API 의존성등이 있다. 인위적 의존성은 언제나 존재하지만 그 비용은 충분히 감소될 수 있다. Loose Coupling은 이러한 인위적 의존성을 최소한으로 줄이는 구조를 의미한다. 긴밀한 결합(Tight Coupling) 강하게 결합된 객체(Tightly Coupled Object)는 ..
Goal Garbage Collection의 역할에 대해 설명할 수 있다. Garbage Collection의 메모리 해제 과정을 3단계로 설명할 수 있다. Generational Gabage Collection에 대해 설명할 수 있다. Generational Garbage Collection 과정에 대해 설명할 수 있다. Minor GC와 Major GC의 차이점에 대해 설명할 수 있다. Abstract C/C++ 프로그래밍을 할 때 메모리 누수(Memory Leak)를 막기 위해 객체를 생성한 후 사용자하지 않는 객체의 메모리를 프로그래머가 직접 해제 해주어야 했습니다. 하지만, JAVA에서는 JVM(Java Virtual Machine)이 구성된 JRE(Java Runtime Environment)..
1. 한 부위는 주당 15~20세트가 적당하다. 2분할이 대세를 이루었던 적이 있죠? 네츄럴 훈련자라면 고빈도로 자주 몸을 타격해줘야 근육성장에 효율적이다는 뭐 다들 아시리라 봅니다. 2분할로 나누었을 시 20세트정도가 주당 최대치 세트수가 나오더군요. 2. 1rm의 60% 로 10세트 훈련시 근성장이 가장 높다. 이는 인자약도미닉님의 유투브 영상을 참고하심이 정확한듯 합니다. 링크 걸어드립니다. https://www.youtube.com/watch?v=ikkgItrVOlw 3. 스트렝스 훈련을 반드시 포함하라. (1rm 80%이상) 네츄럴 훈련자에겐 스트렝스 즉 힘이 근육을 키우는데 매우 중요한 요소로 작용하죠. 파붕이님들은 힘이 이미 넘쳐흐르시니 의미가 없으실지 모르겠지만 스트렝스 훈련을 반드시 주 ..
Goal JAVA의 동작 원리에 대해 설명할 수 있다. JVM의 역할에 대해 설명할 수 있다. JIT 컴파일러에 대해 설명할 수 있다. Introduction 자바는 OS에 독립적인 특징을 가지고 있는데, 그것이 가능한 이유는 JVM(Java Vitual Machine) 상에서 실행되기 때문입니다. JVM에 대해 간략하게 설명하자면, 자바 소스코드 컴파일 후 생성된 파일이 해석(Interpret)과 Link없이 바로 JVM에 적재되고, OS로 부터 메모리를 할당받아 GC(Garbage Collection)를 통해 스스로 메모리 관리를 한다는 특징이 있습니다. 이제 본격적으로 JAVA의 동작원리에 대해 학습해보겠습니다. Process 우선 위의 그림을 토대로 간략하게 동작원리에 대해 짚고 넘어가보겠습니다...
- Total
- Today
- Yesterday