우아한 테크코스/테크코스
-
[Git] 초기 설정하기우아한 테크코스/테크코스 2020. 3. 9. 14:13
사용자 이름 & 메일 주소 설정 Git의 commit 로그 등에 사용 GitHub 레파지토리를 공개하는 경우에도 사용되므로, 공개되어도 문제 없는 이름과 메일 주소를 사용할 것 한글&한자보다는 영어를 사용하는 편이 좋음, 실명이 아닌 닉네임이어도 상관 없음 $ git config --global user.name "Firstname Lastname" $ git config --global user.email "email@example.com $ vi ~/.gitconfig # This is Git's per-user configuration file. [user] # Please adapt and uncomment the following lines: name = jamie email = jamie@ex..
-
[Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)우아한 테크코스/테크코스 2020. 3. 5. 18:10
1. 한 메서드에 오직 한 단계의 들여쓰기만 한다. 한 메서드에 들여쓰기가 여러 개 존재한다면, 해당 메서드는 여러가지 일을 하고 있다고 봐도 무관하다. 메서드는 맡은 일이 적을수록(잘게 쪼갤수록), 재사용성이 높고 디버깅도 용이하다. 대충 아래와 같이 나눈다면, 메서드명을 통해 조금 더 직관적이면서도 나뉜 메서드를 다른데서도 재사용 가능한 코드가 된다. public class JamieObject { String JamieAndNewLine() { StringBuilder stringBuilder = new StringBuilder(); int raw = 10; int repeat = 5; for (int i = 0; i < raw; i++) { for (int j = 0; j < repeat; j++..
-
[Java] StackTrace 읽기우아한 테크코스/테크코스 2020. 3. 5. 13:05
Stack Trace란? 응용 프로그램(Application)이 시작된 시점부터 프로그램 내에서 현재 실행 위치까지의 메서드 호출 목록 예외가 발생했을 때까지 프로그램의 위치와 진행정도를 나타내기 위해 예외가 발생하면 JVM에 의해 자동으로 생성 가장 최근의 메서드 호출이 목록에 맨 위에 있음 printStackTrace 예외의 메서드를 호출하여 StackTrace를 표준 오류로 인쇄할 수 있음 public class Throwable implements Serializable { // 전략 ... public void printStackTrace() { printStackTrace(System.err); } // 후략 ... } StackTrace는 java.lang.StackTraceElement 클..
-
[Mac] 단축키 기호 및 모음우아한 테크코스/테크코스 2020. 3. 5. 01:38
기호 및 조합키 ⌘ command(또는 cmd) ⇧ shift ⌥ option(또는 alt) ⌃ control(또는 ctrl) ⇪ caps lock fn 일반적인 단축키 ⌘ + X : 오려두기 ⌘ + C : 복사하기 / Finder 파일에도 적용 ⌘ + V : 붙여넣기 / Finder 파일에도 적용 ⌘ + Z : 실행 취소 ⇧ + ⌘ + Z : 실행 취소를 취소 ⌘ + A : 전체 선택 ⌘ + F : 찾기 또는 찾기 윈도우 열기 ⌘ + G : 다음 항목 찾기 / 이전에 찾은 항목이 다음으로 나타나는 위치 ⇧ + ⌘ + G : 다시 찾기 / 이전에 찾은 항목 위치 ⌘ + H : 전면 앱의 윈도우를 가림 ⌥ + ⌘ + H : 전면 앱을 제외한 모든 앱의 윈도우를 가림 ⌘ + M : 전면 윈도우 최소화하여 D..
-
[Java] Stream map vs Stream foreach vs Collection foreach우아한 테크코스/테크코스 2020. 3. 5. 00:07
For Loop문 수동 로또를 만드는 메서드를 아래와 같이 작성을 했었는데, foreach나 map을 적용해봐도 좋을 것 같다고하여 적용 해보면서 간단하게 정리. 나름 직관적인 코드라고 생각했지만, 아래 방법들이 더 직관적으로 들어온다. private static List createManualLottos(List manualLotto, LottoCount count) { List lottos = new ArrayList(); int lottoCount = manualLotto.size(); for (int index = 0; index < lottoCount; index++) { lottos.add(LottoFactory.createManual(manualLotto.get(index))); } retu..
-
[Vim] Game - pacvim vs VIM Adventures우아한 테크코스/테크코스 2020. 3. 2. 16:45
pacvim https://github.com/jmoon018/PacVim CLI 무료 게임! 이 게임은 팩맨같은 게임이다 :) 해보고 재밌으면 VIM Adventures도 결제할까 고민중.. MAC OS나, LINUX, 또는 DOCKER를 이용해서 설치 가능 mac에서 설치하기 1. Command + Space를 이용해 terminal.app을 연다. (아이텀즈도 상관없음..) 2. 아래의 명령들을 실행(맥 비밀번호 입력 필요) $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" /dev/null $ brew install pacvim 3. 아래의 명령어로 실행 #..
-
[독서] 코딩을 지탱하는 기술우아한 테크코스/테크코스 2020. 2. 24. 17:00
코딩을 지탱하는 기술 특정 언어에 국한된 지식이 아닌, 보다 보편적인 지식을 습득할 수 있도록 함 이를 위해 '비교를 통한 배움'과 '역사를 통한 배움'이라는 두 방법을 사용함 비교를 통한 배움 특정 언어로 프로그래밍을 배우는 것이 아닌, 다수의 언어를 비교하면서 학습하는 것 무엇이 언어에 따라 다르고 무엇이 공통적인지 배울 수 있음 역사를 통한 배움 언어가 어떻게 바뀌었고 바뀌기 전에는 어떤 의문점이 존재했는지 학습 언어가 가지고 있는 다양한 기능이 '왜' 탄생했는지 배울 수 있음 프로그래밍 언어가 생긴 이유 사람을 편하게 하기 위하여 생김 어떤 부분에서 편한지는(목적) 언어에 따라 다름 문법 언어 설계자가 정한 규칙 FORTH과 LISP FORTH - 가장 간단한 컴퓨터 언어; 괄호도 우선순위라는 규..
-
[독서] 클린 코더우아한 테크코스/테크코스 2020. 2. 24. 10:35
자신의 시간 주 40시간을 일을 한다면, 그 외 추가로 20시간을 자신을 위해 사용해야 함 프로 소프트웨어 개발자라면 알아야하는 최소한의 기능 목록 디자인 패턴 24가지 GOF 패턴을 설명할 수 있고, POSA 패턴을 실무에 적용할 수준으로 알아야 함 설계 원칙 SOLID 객체지향 원칙을 알아야 하고 컴포넌트 개념을 충분히 이해해야 함 방법론 XP, 스크럼, 린, 칸반(KANBAN), 폭포수, 구조적 분석, 구조적 설계 개념을 충분히 이해해야 함 원칙 테스트 주도 개발(TDD), 객체지향 설계, 구조적 프로그래밍, 지속적 통합, 페어 프로그래밍을 실천해야 함 도구 UML, 데이터 흐름도(DFD), 구조 차트(Structure Chart), 페트리 넷(Petri Net), 상태 전이 다이어그램과 테이블(S..