템플릿 메서드 패턴이란? 템플릿 메서드 패턴은 소프트웨어 공학에서 동작 상 알고리즘의 프로그램 뼈대를 정의하는 행위 디자인 패턴이다. -위키백과- 템플릿 메서드 패턴은 알고리즘의 골격을 부모 클래스에서 정의하되, 자식 클래스들이 해당 알고리즘의 구조를 변경하지 않고 알고리즘의 특정 단계들을 오버라이드(재정의) 할 수 있도록 하는 행동 디자인 패턴이다. 템플릿 메서드 패턴은 부모 클래스에서 알고리즘을 일련의 단계들(메서드)로 나누고 단일 템플릿 메서드 내부에서 이러한 메서드들을 호출한다. 자식 클래스는 단일 템플릿 메서드 내부에서 호출되는 메서드들 중에서 필요한 경우 선택적으로 오버라이드 하여 사용할 수 있다. 이렇게 하면 중복을 제거하고 다형성을 확보할 수 있다. 템플릿 메서드 예시 예를 들어 쉽게 이해..
GoF와 이펙티브 자바의 빌더 패턴 빌더 패턴은 "Design Patterns"의 공동 저자 4명을 부르는 GoF(Gang of Four)에서 소개하는 버전과 이펙티브 자바(Effective Java)에서 소개하는 버전이 존재한다. 이 글에서는 요새 자주 쓰이고 Lombok에서도 지원하는 간단한 빌더 패턴에 대해 알아보겠다. 참고) GoF 빌더 패턴 빌더 패턴 / 디자인 패턴들 / 생성 패턴 빌더 패턴 다음 이름으로도 불립니다: Builder 의도 빌더는 복잡한 객체들을 단계별로 생성할 수 있도록 하는 생성 디자인 패턴입니다. 이 패턴을 사용하면 같은 제작 refactoring.guru 빌더 패턴이란? 빌더 패턴이란 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과..
SQLD 자격증이란? SQL 개발자(SQLD*, SQL Developer)란 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는 데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 말한다 - 한국데이터산업진흥원- SQLD 자격증은 SQL Developer 자격증으로, 한국데이터산업진흥원에서 발행하는 자격증이다. 말 그대로 SQL을 활용할 수 있는 능력을 갖추고 있는지 판단하는 시험이며, 여러 회사에서 인정을 해주기도 하는 자격증이다. 우리 회사도 SQLD 자격증을 취득하면 시험 비용을 전액 지원해주고 성과 평가에도 가점을 준다. 하지만 아쉽게도 나는 이미 몇 년 전에 SQLD 자격증을 취득해서 SQLP 자격증을 따려고 준비 ..
싱글톤 패턴(Singleton Pattern)이란? 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 주로 공통된 객체를 여러 개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다. - 위키백과 - 싱글톤 패턴은 쉽게 말해 생성 할 수 있는 객체의 인스턴스를 하나로 제한하는 패턴이다. 싱글톤 패턴을 따르는 클래스는 아무리 생성자를 여러 번 호출하더라도 최초의 생성으로 생겨난 인스턴스가 반환된다. 예시를 통해 이해해 보자. ..
df 명령어 df는 disk free의 줄임말로 디스크의 여유 공간을 확인할 때 사용한다. $df [옵션] df 명령어를 입력했을 때 나오는 출력의 의미는 다음과 같다. Filesystem : 리눅스에 마운트 된 파일 시스템 목록 1k-blocks : 전체용량 Used : 사용량 Available : 남은 용량 Use% : 전체 용량 대비 사용량 퍼센트 Mounted on : 마운트 된 경로 자주 사용하는 옵션 -a : 모든 파일 시스템 출력 -h : 사람이 읽기 쉬운 형태(GB, MB, KB 등)로 출력 -l : 로컬 파일 시스템만 출력 -T : 파일시스템 타입으로 제한 du 명령어 du 명령어는 Disk Usage의 줄임말로 디스크 사용량을 확인할 때 사용한다. $du [옵션] df 명령어는 시스템 ..
디베아 차이슨 ALLNEW 22000을 사게 된 이유 나는 작은 원룸에서 자취를 하고 있다. 원래는 집 청소를 할 때 다이소에서 산 정전기 청소포와 밀대를 이용했지만, 바닥이 깨끗하게 청소되지 않는 것 같았다. 그래서 가성비가 괜찮은 무선청소기를 하나 사기로 마음먹었다. 유튜브와 구글 등 여러 곳에서 검색 후 디베아 차이슨 ALLNEW 22000이 가성비가 좋기로 유명하다는 것을 알 수 있었다. 여기서 차이슨은 "차이나" + "다이슨"의 합성어로, 중국의 다이슨이라는 뜻인 것 같다. 즉, 다이슨만큼의 성능을 가지면서 중국의 가성비를 가지고 있다는 것이다. 1. 구성 차이슨 22000은 아래와 같은 구성으로 온다(구매 플랫폼 별 상이) 본체 UV터보브러쉬 UV침구브러시 NEW물걸레 키트 멀티카펫 브러시 솔..
top 명령어 top 명령어는 리눅스 시스템의 CPU 사용량, 메모리 사용량 등 전반적인 상황을 실시간으로 모니터링할 수 있는 명령어이다. $top 터미널에서 top 명령어를 입력하면 [그림 1]과 같이 출력된다. CPU사용량, 메모리 사용량 등을 나타내주며 실시간으로 정보가 업데이트된다. top 명령어를 사용했을 때 나오는 결과에 대해 설명하자면 다음과 같다. 요약 영역 가장 상단에 출력되는 부분은 요약 영역이다. 말 그대로 다양한 정보를 요약해서 보여준다. 1. 시스템 시간, Uptime, 유저 세션 수 가장 왼쪽 위에 시간은 시스템 현재 시간을 나타내고 바로 이어서 OS가 Up(구동)된 시간인 uptime이 출력된다. 예를 들어 [그림 3]는 현재 22시 18분 08초로 OS가 구동된 지 약 8분 ..
맥북을 사게 된 이유 나는 '개발자는 무조건 맥북이지!'라는 생각을 가지고 있었기 때문에 늘 맥북을 갖고 싶었다. 맥북의 이미지는 고급지고 세련된 노트북이라는 느낌과, 스타벅스 입장권이라는 별명도 있을 만큼 허세의 이미지 또한 크다. 하지만 모두들 맥북이 한 번쯤은 사용해보고 싶은 노트북이라는 점에 대해서는 공감할 것이다. 깔끔하고 심플한 디자인에, 감성 넘치는 애플 로고가 더해져 괜히 카페 같은 데 가서 펼쳐놓고 자랑하고 싶은 마음이 드는 것이다. 대학생 때부터 이러한 생각을 가지고 있다가 회사에 취직하고 경제적으로 여유가 생겨 맥북을 구매하게 되었다. 내가 구매한 제품은 2021 맥북 프로 M1 Pro 16인치 스페이스 그레이 모델이었다. 이하 m1 pro로 지칭하겠다. 1. 디자인 맥북을 구매하면 ..
HTTP 1.0과 HTTP 1.1의 차이 HTTP 1.0과 HTTP 1.1의 가장 큰 차이점은 역시 Keep-alive 기능이다. HTTP 1.0은 매 요청마다 TCP 세션을 맺어야 했지만 1.1은 한 번의 TCP 세션으로 여러 개의 요청을 날릴 수 있다. 좀 더 자세한 내용은 다음을 참고하자. [Web] HTTP 1.0 과 HTTP 1.1의 차이 HTTP란? HTTP(Hyper Text Transfer Protocol)는 인터넷에서 주로 사용하는 데이터를 송수신하기 위한 프로토콜이다. HTTP에 대한 자세한 내용은 다음을 참고하자. [네트워크] HTTP란? non-persistent HTTP vs persistent code-lab1.tistory.com HTTP 1.1의 문제점 HTTP 1.1에서는 ..
웹엑스(Webex)란? 웹엑스(Webex)는 Cisco 사의 화상회의 소프트웨어이다. 무료 버전으로 최대 100명이 최대 50분을 사용할 수 있다. 웹엑스(Webex) 다운로드 웹엑스는 아래 Cisco 사의 공식 홈페이지에서 다운로드 받을 수 있다. https://www.webex.com/ko/downloads.html Cisco Webex | Video Conferencing, Webinars, Screen Share, & Conference Call Cisco Webex is the leading enterprise solution for video conferencing, webinars, and screen sharing. Web conferencing, online meeting, cloud c..
ps 명령어 ps 명령어는 Process Status의 줄임말로 말 그대로 프로세스 상태 등을 확인 할 수 있다. $ps [option] 주로 위와 같은 옵션을 사용하기도 한다. ps 명령을 사용하면 현재 실행중인 프로세스들과 상태를 출력해준다. ps 명령어는 스냅샷으로 명령어를 입력한 시점을 보여주기 때문에, 실시간으로 프로세스 정보를 보고 싶다면 top 명령어를 사용하면 된다. ps 명령어는 UNIX, BSD, GNU 환경에 따라 결과가 다르고 표기법에도 차이가 있다. UNIX 계열은 dash("-")를 사용하고, BSD 계열은 dash를 사용하지 않는다. GNU 계열은 두 개의 dash("--")를 사용한다. 따라서 사용할 때 아래와 같이 help 옵션을 사용해 정확한 옵션 사용법을 숙지하길 추천한..
서류 네이버의 자기소개서는 다음과 같은 항목을 물어봤다. 1. 본 직군으로 지원을 결정하시게 된 계기와, 앞으로 팀네이버에서 어떻게 성장하고 싶은지 작성해 주세요. (1000자) 2. 가장 열정을 가지고 임했던 프로젝트(목표/과제 등)를 소개해 주시고, 해당 프로젝트의 수행 과정 및 결과에 대해 기재해 주세요. (1000자) * 지원 부문과 관련된, 어려웠거나 인상 깊었던 문제를 해결한 경험을 중심으로 작성해 주세요.(학교수업, 경진대회, 대외활동 등) 3. 다음 중 본인이 가장 자신 있고 희망하는 분야를 한 가지 선택해 주세요. ■ Front-end ■ Back-end ■Android ■ iOS ■ Data ■ 공통 선택한 분야에 관심을 갖게 된 계기와 자신 있는 이유(그 동안의 노력, 경험, 강점 포..