자주쓰는 vim 단축키 정리 vscode 한정 단축키 ctrl + shift + p : vim toggle b: 커서를 단어단위로 왼쪽으로 w: 커서를 단어단위로 오른쪽으로 :n n라인으로 이동 ctrl + b 한페이지 위로 ctrl + f 한페이지 밑으로 ctrl + e 스크롤 밑으로 ctrl + y 스크롤 위로 ctrl + o 과거에 보던 파일 보기 ctrl + i 가장 최근에 보던 파일로 하나씩 이동하기 ctrl + r : undo( 단축키 u) 했던 내용을 다시 실행하기 m[a - z] : 북마크 생성 :marks : 북마크 리스트 `a : a 북마크로 이동 gt : 다음탭 보기 gT: 이전탭 보기 ctrl + ws : 가로로 탭 분할해서 보기 ctrl + wv : 세로로 탭 분할해서 보기 ctrl + ww : 탭간 이동하기.. 2021. 9. 29. 2021 09 06 - 문제 해결을 위한 JAVA8 학습 - Stream 먼저 기억할것은, 이때의 Stream은 byte를 다루기위한 InputStream, ouputStream이 아니라는 점이다. 배경 자바에서는 많은 양의 데이터를 다루기 위해 배열이나 컬렉션을 사용한다. 이런 데이터에 접근하기 위해서는 반복문이나 반복자를 사용하여 코드를 작성해야 했다. 문제 반복문이나 반복자를 사용하는 코드는 길이가 너무 길고 가독성이 떨어진다.. 정형화된 처리패턴을 가지지 못해서 데이터마다 다른방법으로 접근해야 했다. 해결 스트림 API 도입 데이터를 추상화하여 다루므로, 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공한다. 스트림 API를 이용하면 배열이나 컬렉션 뿐만 아니라 파일에 저장된 데이터도 모두 같은 방법으로 다룰 수 있다. 스트림 API 특징 - 내부반복.. 2021. 9. 6. 2021 08 25 개발자를 위한 코드 분석 방법 (JICA) 강의 수강 기존 코드를 이해한다는 것의 의미 어떻게 하면 기존코드를 이해한다고 할 수 있을까? 1) 큰기능을 이해 할 수 있어야 한다. 우리가 파악해야 하는 기능은 크게 독립적으로 실행이 가능하거나, 불가능한 모듈로 나뉜다. 독립적으로 실행의 가능한 모듈의 기능을 이해하는것은 어떻게 해야할까? 사용자 관점에서 기능을 먼저 동작시켜본다. 이때, 입력 A에 대해서 어떤 출력 B가 나오는지 기록한다. 이때 사용하면 좋은것이 Fit Fit(Framework for Integrated Tests) 사업적 관점의 통합테스트를 수행하는 자동화 테스트 프레임워크 실질적 예제를 통해 구체적으로 소통할 수 있기 때문에 추측과 질문이 감소한다. 그렇다면 독립적으로 수행이 불가능한 모듈의 기능은? API 문서부터 보기 시작한다. 만약 .. 2021. 8. 27. 2021 08 13 - Builder Pattern 언제 사용할까 초기화 하는 '흐름'은 같은데, 로직이 서로 다른 객체들이 있을때 사용한다. 1) 그 '흐름'을 Builder라는 interface (혹은 abstract class)로 나타내고, 2) 구체적인 로직은 Builder를 implement한 class에 설명되어있다. (Concrete Builder) 3) 그리고 Director는 Concrete Builder를 주입받아서 Builder의 흐름에 따라 로직을 실행한다. 아이고 말로 설명하려니 힘드네.. 개인적으로 위키피디아에 나와있는 예제 코드가 이해하기 좋았다. https://ko.wikipedia.org/wiki/%EB%B9%8C%EB%8D%94_%ED%8C%A8%ED%84%B4 빌더 패턴 - 위키백과, 우리 모두의 백과사전 빌더 패턴이란 .. 2021. 8. 13. 2021 08 10 - Abstract Factory 팩토리를 만드는 팩토리! 라고밖에는 이해가 안간다..... 언제 사용할까. 코드가 관련 제품의 다양한 제품군과 함께 작동해야 하지만 해당 제품의 구체적인 클래스에 의존하고 싶지 않을때 사용한다. 이번에는 실제 java 코드를 보면서 생각해보자. xml 파일을 Document로 파싱해오는 예제코드중 일부이다. DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(fXmlFile); netInstance를 하게되면 두가지 분기를 탄다. 1) getProperty를 해와서 팩토.. 2021. 8. 10. 2021 08 10 - Factory Method 언제 사용하면 좋을까? 작업해야 하는 객체의 정확한 유형과 종속성을 알 수 없는 경우 라이브러리 또는 프레임워크의 사용자에게 내부 구성요소를 확장하는 방법을 제공하려는 경우 하나의 상황을 가정해보자. (말도안되는 극단적인 가정이지만 이해를 위해서 은근슬쩍 넘어가자.) 가정: 새로 시작한 프로젝트에 로거를 도입해야 한다. '파일로 Exception정보를 기록한다'가 요구사항으로 들어왔다. 황소희는 룰루랄라 코드를 작성했다. //황소희가 작성한 로거 클래스. public class FileLogger { public FileLogger(String path) { /* 파일 로거 셋팅..*/ } public void write(String msg) { System.out.println(msg); } } // .. 2021. 8. 10. 이전 1 2 3 4 5 6 ··· 47 다음