본문 바로가기

Happyer16

(314)
맥이 비싸서 윈도우로 개발할때 ㅠㅠ oh-my-zsh ( terminal 편하게 쓰기 )https://evdokimovm.github.io/windows/zsh/shell/syntax/highlighting/ohmyzsh/hyper/terminal/2017/02/24/how-to-install-zsh-and-oh-my-zsh-on-windows-10.htmlhyper에서 docker 설치https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04#step-8-%E2%80%94-pushing-docker-images-to-a-docker-repository
Lombok 사용하기 Intellij에 설정하기 : http://blog.egstep.com/java/2018/01/12/intellij-lombok/get/set 함수 너무 많아..
디자인 패턴6 - 옵저버 패턴(Observer pattern) 옵저버 패턴(Observer pattern)뜻을 보면 뭔가 변화가 발생하면 어떠한 행위를 해야할 때 쓰는 패턴 같아 보인다. 즉, 한 객체의 변화에 따라 다른 객체의 상태도 연동되도록 1:다 객체 의존관계를 구성할 때 사용된다. 데이터 변경이 일어나면 어떠한 행위가 일어나야 한다. 만약에 생각없이 코딩을 한 경우 아래와 같이 짤 것이다. onChanged() { // 변경이 일어난 경우class1.function();class2.function();....} 이렇게 되면 1. class1의 function()이 변경된 경우 해당 클래스까지 수정해야 되므로 OCP에 위반된다.2. 변경이 일어난 경우 어떠한 행위를 추가해야 한다면??? 해당 클래스 전체가 바뀌어 버린다..... ( 말도 안되는 재사용성.....
디자인 패턴5 - 컴포지트 패턴 ( Composite pattern ) 디자인패턴5 - 컴포지트 패턴 (Composite pattern )이것도 단어 뜻을 그대로 살펴보면 composite(복합물) 패턴? 또 뭔가 조합을 하는 패턴인 것 같다. 사용자(클라이언트)가 어떠한 조합으로 생성 된 클래스를 동일하게 사용할 때 쓰는 패턴이다. 말만 보면 항상 와닿지 않는다. public class Keyboard { private int price; private int power; public Keyboard(int power, int price) { this.power = power; this.price = price; } public int getPrice() { return price; } public int getPower() { return power; }}public c..
디자인 패턴4 - 템플릿 메소드 패턴이란(Template method pattern) 템플릿 메소드 패턴이란?이것도 뜻만 살펴 보면 템플릿? 뭔가 양식을 정해놓고 메소드? 함수를 이용하는 패턴일까 싶다. 어떤 작업을 처리하는 방식은 서브 클래스로 빼두어서 구조는 바뀌지 않고 특정 수행하는 내역을 바꾸는 패턴이라고 한다. 템플릿 메소드 패턴 예제자동차 시동에 관한 것을 예제로 들겠다. 1. 모터가 돌고2.불이 들어오고3. 등등등 이 상황에서 현대차와 BMW 자동차를 구현해야 한다면? 아무 생각 없이 구현한다면 현대차 클래스에 boot() { .// 1,2,3 동작 } BMW차 클래스에 boot() {.// 1,2,3 동작 } 이런식을 할 것이다. 이렇게 구현이 되면 중복된 코드가 발생한다! 하지만 1번과 같이 구현체만 다르고 전체 동작 방식이 같다면 자동차 클래스를 아래처럼 만들자. pub..
디자인 패턴3 - 데코레이터 패턴 데코레이터 패턴이란?단어 뜻 그대로 살펴보면, 뭔가 꾸밀 때 사용해야하는 패턴같다. 즉, 객체의 결합을 통해 기능을 확장(꾸미기)위해 사용되는 패턴이다. 데코레이터 패턴 예제햄버거로 간단하게 예제를 들겠다. 기본 기능 : 빵추가 기능 : 고기 / 야채 / 토마토 / 치즈 등등등 아무 생각 없이 클래스를 만든다면 저 조합들에 맞는 객체들을 모두 만들어야 할 것이다.... 생각만해도 유지보수 하기 싫어진다. ----------------------------- 데코레이터 패턴에서는 추가 기능 1개당 1 클래스를 만들어서 객체의 조합을 이용한다. 추가와 조합하기가 이제 용이해졌다. 참고 : https://gmlwjd9405.github.io/2018/07/09/decorator-pattern.html
Window(윈도우) 개발환경 꾸미기 Putty 좀 이쁘게 쓰고 싶다1. oh my zsh 설치하기https://the-illusionist.me/47 2. theme 변경하기저는 maran 3. 유용한 플러그인1) auto suggestions : 내가 사용했던 명령어 자동완성https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 적용이 안되거나 에러가 나는경우$zsh
디자인 패턴2 - 어댑터 패턴(Adapter Pattern) 어댑터 패턴 (adapter pattern)이란?항상 110V, 220V 변환기로 비유를 많이 든다. 하지만 나는 정확히 와닿지가 않았다. 좀더 코드단의 예로 들면, 프로젝트에서 검색엔진 A를 사용하고 있었다. A의 search()함수와 이를 이용하여 분석하는 비즈니스 코드가 있을 것이다. 하지만, 검색엔진 B가 더 좋다고 판단되어 수정을 한다면? ( 표준화는 되어있지 않을 것이기 때문에 A,B의 사용방법이나 함수는 무조건 다를 것이다 ) 어댑터 패턴 예제1음악 파일과 음악 재생기로 예제를 살펴보자. interface MediaPlayer { void play(String filename); } interface MediaPackage { void playFile(String filename); } cl..
디자인 패턴 1 - 파사드 패턴(facade pattern) Facade란?건물의 외간이란 뜻이다. Facade Pattern다른 인터페이스들을 통합하여 단순화 시킬 때 사용하는 패턴이다. 아래는 컴퓨터가 켜질 때 필요한 동작들을 하나의 인터페이스에 정의한 예제이다./* Complex parts */ class CPU { public void freeze() { ... } public void jump(long position) { ... } public void execute() { ... } } class Memory { public void load(long position, byte[] data) { ... } } class HardDrive { public byte[] read(long lba, int size) { ... } } /* Façade */ ..
React vs Vue 잘 정리되어 있는 기사가 있어 가져왔습니다 https://joshua1988.github.io/web_dev/vue-or-react/