전체 글 458

[리팩토링 refactoring] Composing Method 메소드 구성 - Extract Method 메소드 추출

Extract Method 메소드 추출 메소드에서 행이 많을수록 메소드가하는 일을 파악하는 것이 더 어렵다. 코드에서 거친 모서리를 제거하는 것 외에도 메소드 추출은 다른 많은 리팩토링 접근법의 한 걸음이기도하다. Problem 함께 구룹화 할 수 있는 코드 조각이 있다. void printOwing() { printBanner(); //print details System.out.println("name: " + name); System.out.println("amount: " + getOutstanding()); } Solution 이 코드를 별도의 새 메서드 (또는 함수)로 이동하고 이전 코드를 메서드 호출로 바꾼다. void printOwing() { printBanner(); printDetai..

[한국사/공부꿀팁] 한국사지도, 세계지도 포스트잇 만들기! [한국사 지도 인쇄 파일 첨부]

한국사 지도 포스트잇 만들기! 공무원 한국사 시험 수능한국사 시험 한국사 검정능력시험 필기할때 유용함! A4용지, 프린터기 그리고 재접착풀 인터넷가 550원, 오프라인 (문구점) 900원에 주고 구매했음! 구글에서 가져온 outline map 이미지를 편집했음 편집한 후에 A4용지 사이즈로 4X3 과 4X2 사이즈로 만들었음 위에 pdf 파일 클릭하면 손쉽게 인쇄가능함 인쇄 후에는 알맞게 자름 지도 뒤에 재접착 풀을 이용하면 포스티잇으로 사용할 수 있음! 간단. 일단 구글에서 outline map eastnorth Asia 검색 이미지 검색에서 큰 이미지로 보기 해서 괜찮은걸 골랐음 강까지 그려진걸 찾고 싶은데 강까지 그린거는 컬러 이미지라 보정하기도 귀찮고 해서 그냥 이미지로 썼음 원래 이미지 이거 편..

일상/생활꿀팁 2017.01.29

[ppt/발표/참고사이트] 대학생들의 과제를 업그레이드 해줄 사이트 모음!

자료정보 Kosis 국가 통계 포털 http://kosis.kr/ 통계자료를 사용할 수 있다.특히 교양 수업이나..발표 도입부분에 신뢰감을 줄 수 있는 통계자료를 쓸때 많이 들린 사이트다. Riss 학술 연구 정보 서비스 http://www.riss.kr/index.do 특히 발표 수업할때 이 사이트 도움을 받은것 같다.컴공 다녀서 다닐때 IOT 제품설계..(물론 개발은 하지 않았지만 가상으로..)하는 발표가 많았었는데 부품이나 그 제품에 들어갈 기술이나 알고리즘 논문 하나하나 읽어서 성적 잘맞은 기억이 난다.(근데 이해하느라 힘들었음..) 아이콘 thenounproject https://thenounproject.com/ 아이콘을 많이 얻을 수 있는 사이트다.아이콘 같은게 많다.ppt 가독성을 높이기 ..

컴퓨터/ppt 2017.01.29

[사이트 추천] 무료로 매트랩 코딩 연습 할 수 있는 곳 매트랩 자격증

매트랩 공식사이트에서Cody라는 곳에서 매트랩 코딩연습을 무료로 할 수 있다.단, 회원가입 해야 이용가능하다. https://kr.mathworks.com/matlabcentral/cody/ 매트랩 자격증은https://kr.mathworks.com/services/training/certification.html?s_eid=PSB_6934이 링크를 들어가면 자세히 알 수 있다.근데 자격증 응시료가..375000...\.........!!!!!

컴퓨터/팁 2017.01.29

[리팩토링 refactoring] Dealing with Generalisation 일반화 처리 - Pull Up Constructor Body 생성자 내용 상향

Problemclass Manager extends Employee { public Manager(String name, String id, int grade) { this.name = name; this.id = id; this.grade = grade; } //... }Solutionclass Manager extends Employee { public Manager(String name, String id, int grade) { super(name, id); this.grade = grade; } //... }Pull Up Method와 차이점 1. 자바에서는 하위 클래스가 생성자를 상속받을 수 없으므로 하위 클래스 생성자에 Pull Up Method를 적용하고 수퍼 클래스에 대한 모든 생성자 코..

[리팩토링 refactoring]Simplifying Method Calls 메서드 호출 단순화 - Separate Query from Modifier 상태 변경 메서드와 값 반환 메서드를 분리

▪Separate Query from Modifier 상태 변경 메서드와 값 반환 메서드를 분리 이 인수 분해 기술은 명령 및 쿼리 책임 분리를 구현이 원칙은 객체를 변경하는 코드와 데이터를 가져 오는 코드를 분리해야한다는 것을 의미 데이터 가져 오기 코드는 쿼리 이름이다.오브젝트의 가시 상태에서 변경하는 코드는 수정 자로 지칭된다.쿼리와 수정자를 결합하면 조건을 변경하지 않고 데이터를 가져올 방법이 없다.즉, 질문을하고 답변을받을 때 답변을 변경할 수 있다.이 문제는 쿼리를 호출하는 사람이 메소드의 "부작용"에 대해 알지 못해 런타임 오류를 유발할 수있는 경우 더욱 심각 해진다. 그러나 부작용은 객체의 가시 상태를 변경하는 수정 자의 경우에만 위험하다.예를 들어 객체의 공용 인터페이스, 데이터베이스의 ..

[리팩토링 refactoring] Dealing with Generalisation 일반화처리

▶Dealing with Generalisation 일반화 처리추상화는 주로 클래스상속 계층구조를 따라 기능을 이동과 관련된 새로운 클래스와 인터페이스의 생성하는 위임과 역 상속의 대체하는 리팩토링 기술의 하나의 그룹이다 Dealing with Generalisation- Pull Up Field- Pull Up Method- Pull Up Constructor Body- Push Down Method- Push Down Field- Extract Subclass- Extract Superclass- Extract Interface- Collapse Hierachy- Form Template Method- Replace Inheritance with Delegation- Replace Delegation..

[리팩토링 refactoring] Simplifying Method Calls - 메소드 호출 단순화

▶Simplifying Method Calls 메서드 호출 단순화이 기술은 메서도 호출을 더 단순하고 이해하기 쉽게 한다. 이것은 차례로 클래스 간의 상호작용을 위한 인터페이스를 단순화한다. Simplifying Method Calls- Rename Method- Add Parameter- Remove Parameter- Separate Query from Modifier- Parameterize Method- Replace Parameter with Explicit Methods- Preserve Whole Object- Replace Parameter with Method Call- Introduce PArameter Object- Remove Setting Method- Hide Method- Re..

[리팩토링 refactoring] Simplifying Conditional Expressions 조건문의 간결화

▶Simplifying Conditional Expressions 조건문의 간결화조건문은 시간이 지남에 따라 그들의 논리에 점점 더 복잡해지는 경향이 있다. 이 기술은 조건문을 간결하게 한다. Simplifying Conditional Expressions- Decompose Conditional- Consolidate Conditional Expression- Consolidate Duplicate Conditional Fragments- Remove Control Flag- Replace Nested Conditional with Guard Clauses- Replace Conditional with Polymorphism- Introduce Null Object- Introduce Assertion

[리팩토링 refactoring] Simplifying Conditional Expressions 조건문의 간결화 - Remove Control Falg 제어 플레그 제거

▪Remove Control Flag 제어 플래그 제거제어 플래그는 프로그래머가 항상 함수 (함수 선언 행)와 종료 점 (함수의 맨 끝에 있음)에 대해 한 개의 진입 점을 가지고있는 yore 일까지 거슬러 올라간다. 현대 프로그래밍 언어에서는 루프 및 기타 복잡한 구문에서 제어 흐름을 수정하기위한 특수 연산자가 있으므로이 스타일은 더 이상 사용되지 않는다. • break : 루프를 중지 • continue : 현재 루프 분기의 실행을 중지하고 다음 반복에서 루프 조건을 확인 • return : 전체 함수의 실행을 중지하고 연산자에 주어진 경우 결과를 반환 Problem & Solution일련의 boolean식에서 컨트롤 플래그 역할을하는 변수가 있는 경우, break 또는 return을 대신 사용하라. ..