본문 바로가기

개발 기록

(44)
[Clean Code/클린 코드] 3장 함수 3장 함수 📖 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. 목차 🗒️ 책에서 기억하고 싶은 내용 Switch문 public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); case HOURLY: reutrn calculateHourlyPay(e); case SALARIED: return calculateSalariedPay(e); default: throw new InvalidEmployeeType(e.type); } } 위 함수에는 몇 가지 문제가 있다. • 함수가 길다...
[Clean Code/클린 코드] 2장 의미있는 이름 2장 의미있는 이름 📖 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 목차 🗒️ 책에서 기억하고 싶은 내용 의도를 분명히 밝혀라 // before public List getThem() { List list1 = new ArrayList(); for (int[] x : theList) if (x[0] == 4) list1.add(x); return list1; } // after public List getFlaggedCells() { List flaggedCells = new ArrayList(); for (Cell cell : gameBoard) if (cell.isFlagged()) flaggedCells.add(cell); return flaggedCells;..
[Clean Code/클린 코드] 1장 깨끗한 코드 1장 깨끗한 코드 📖 나쁜 코드는 나쁜 코드를 '유혹'한다! 목차 🗒️ 책에서 기억하고 싶은 내용 객체 지향 설계의 다섯 가지 원칙 (SOLID) SRP(단일 책임 원칙) : 클래스에는 한 가지, 단 한 가지 변경 이유만 존재해야 한다. OCP(개방 폐쇄 원칙) : 클래스는 확장에 열려 있어야 하며 변경에 닫혀 있어야 한다. LSP(리스코프 치환 원칙) : 상속받은 클래스는 기초클래스를 대체할 수 있어야 한다. ISP(인터페이스 분리 원칙) : 클라이언트에 밀접하게 작게 쪼개진 인터페이스를 유지한다. DIP(의존관계 역전 원칙) : 추상화에 의존해야 하며, 구체화에 의존하면 안 된다. 바야네 스트롭스트룹 (C++ 창시자 / The C++ Programming language 저자) 나는 우아하고 효율적인..
[Clean Code/클린 코드] Clean Code 로버트 C. 마틴 저/박재호, 이해영 역 인사이트(insight) 2013년 12월 24일 독서 기간 2023년 11월 9일 ~ ing GitHub Link
[디스코드 봇 개발] - #0 개발 동기 및 개발 환경 목차 #0 디스코드 봇 만들기 개발 동기 디스코드 하루봇에 주식 기능이 있더라고요. 친구들과 열심히 이 기능을 가지고 놀다가 문득 디스코드봇을 만들고 싶어졌습니다. 친구들과 1년 이상 꾸준히 사용해온 서버의 장으로서 다양한 디스코드봇을 사용한 경험이 있습니다. 그 중 노래봇을 가장 유용하게 사용하고 있는데, 그 봇이 종종 오류로 인해 재생이 되지 않아 불편했던 경험을 되새겨 보며 노래봇을 하나 만들어 보기로 결정했습니다! JDA JDA란 Java Discord API의 줄임말입니다. (이미지에 링크 걸어뒀습니다.) JDA를 사용하여 개발을 해보겠습니다. 개발 환경 IDE : IntelliJ Build Tool : Gradle JDK : 17 사용하여 개발할 예정입니다.
GitHub Fork 리포지토리 업데이트 오류 - Untracked working tree file ~ by merge. 추적되지 않은 파일 덮어쓰기 에러 - src refspec main does not match any 목차 GitHub Fork 리포지토리 업데이트 방법 GitHub Fork 리포지토리 업데이트 방법 https://heiioworid.tistory.com/22 업데이트 방법은 이 포스팅을 확인하시면 됩니다. 에러 1 : Untracked working tree file -. 깃허브 포크한 리포지토리를 원본 리포지토리의 내용으로 업데이트 하려고 하는데 이런 문구가 떠서 해결하는 방법을 가져왔습니다. fetch 명령어로 최신 내용을 불러오는 것까지 완료하고 merge 명령어를 입력하니 저런 에러 문구가 떴는데요. 만약 원본 저장소에 있는 파일로 덮어쓰기를 원한다면, 아래의 명령어를 사용할 수 있습니다. 이 명령은 원격 저장소에서 최신 변경사항을 가져와서 현재 브랜치에 적용합니다. 주의사항 주의: 이 작업은 ..
백준 : 5635번 생일 (JAVA) 목차 JAVA 풀이 5635번 생일 문제 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 반에 있는 학생의 수 n이 주어진다. (1 ≤ n ≤ 100) 다음 n개 줄에는 각 학생의 이름과 생일이 "이름 dd mm yyyy"와 같은 형식으로 주어진다. 이름은 그 학생의 이름이며, 최대 15글자로 이루어져 있다. dd mm yyyy는 생일 일, 월, 연도이다. (1990 ≤ yyyy ≤ 2010, 1 ≤ mm ≤ 12, 1 ≤ dd ≤ 31) 주어지는 생일은 올바른 날짜이며, 연, 월 일은 0으로 시작하지 않는다. 이름이 같거나, 생일이 같은 사람은 없다. 출력 첫째 줄에 가장 나이가 적은 사람의 이름, 둘째 줄에 가장 ..
GitHub Fork 리포지토리 업데이트 방법 목차 GitHub Fork 리포지토리 업데이트 방법 Fork한 Repository가 자동으로 업데이트 되지 않더라고요. 그래서 업데이트하는 방법을 가져왔습니다. 1. 포크해 온 저장소 추가 git remote add origin (포크한 리포지토리 주소) 주소를 복사해서 바로 붙여넣으면 다른 기호도 같이 들어가기 때문에 메모장이나 다른 곳에 한 번 붙여넣은 뒤에 다시 복붙해서 넣어주세요. 2. 원본 저장소 추가 git remote add upstream (원본 리포지토리 주소) 이것 또한 링크를 다른 곳에 한 번 붙여넣은 뒤에 다시 복붙해서 넣어주세요. 3. 확인 git remote -v 잘 추가되었는지 확인해줍니다. 4. 최신 내용 불러오기 git fetch upstream 5. merge git me..