본문 바로가기
반응형

까망 동네77

[클린코드] 의미 있는 이름 개발자가 자주 고민하는 것 중 "의미 있는 이름" 📌 프로그래머가 가장 힘들어 하는 것은? 프로그래머가 가장 힘들어 하는 것은? IT 혹은 SW 업계에 있다보면 가끔 "프로그래머가 가장 힘들어 하는 것"이 무엇일까? 물론 개인 역량, 역할에 따라 비중은 달라질 수 있지만 아래 항목들이지 않을까 생각이 든다. ① 이름 짓기 코 zoosso.tistory.com ✔️ 의도(존재 이유, 기능, 사용 방법)를 분명히 하라 ✔️ 검색하기 쉬운 이름 사용 (+ 자동완성 기능) ex) 긴 이름이 짧은 이름보다 검색하기 좋다. 예시 코드 vector getData() { vector ret_list; for (int* x : theList) { if (x[0] == 4) { ret_list.push_back(x); }.. 2022. 7. 17.
클린 코드(Clean Code)란? 💻 클린 코드 (Clean Code)? • 프로그래밍을 모르는 사람도 한눈에 읽히는 코드 (가독성) • 다른 사람이 수정하기 쉬운 코드 • 한 가지 일에 집중하는 코드 • 중복이 적은 코드 • 테스트가 존재하는 코드 • 유지보수가 쉬워진다. * 유명한 프로그래머들이 언급하는 항목들이다. 사실, 프로그래머 수 만큼 클린 코드 기준도 다양하다. 방 청소 기준이 개인마다 다른 것과 같다 🤔 구현 당시 최선이었지만 환경이 변하면서 더 이상 최선이 아닐 수 있다. A 환경에서 적용된 항목이 B 환경에서 맞지 않을 수 있다. 그럼에도 대다수가 끄덕이는 정도가 있다. 쌓여버린 Bad Smell 업무 생산성을 저하시킨다. 그렇기에 꾸준히 관심가지고 리팩토링해야 한다. 💻 왜? 클린 코드 작성이 어려울까? • 기존(Le.. 2022. 7. 17.
상태 패턴 (State Pattern) 상태(State) 패턴이란? • 객체 내부 상태에 맞춰 스스로 행동을 변경하는 패턴 • 객체는 마치 자신의 클래스를 바꾸는 것처럼 보인다. • if-else와 같은 분기문으로 상태전이 하는 것을 해소한다. 기존 설계 가독성이 충분하다면 굳이 State 패턴을 적용할 필요 없다. • 각 상태에 해당하는 클래스를 설계한다. 상태를 취급하는 만큼 클래스 개수가 증가한다. • 디자인 패턴(Design Pattern) 중 행위패턴에 속한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있 zoosso.tis.. 2022. 5. 27.
마크다운(Markdown) 문법 마크다운(Markdown) 이란? • 일반 텍스트 기반의 경량 마크업 언어이다. • 일반 마크업 언어에 비해 문법이 쉽고 간단한 편. • HTML과 리치 텍스트(RTF) 등 서식 문서로 쉽게 변환되는 편 • Github 등 다양한 플랫폼에서 지원한다. • 표준이 없어서 도구에 따라 결과가 상이할 수 있다. 줄바꿈 • 마크다운에서는 [Enter] 한번으로 개행 되지 않는다. • 공백을 2번 입력해서 개행처리 가능 • [Enter] 두 번은 단락을 나누기 까망 하르방 까망 포레스트 까망 포레스트 주석 Comment 글머리 1~6까지 지원 # H1 ## H2 ### H3 #### H4 ##### H5 ###### H6 인용 BlockQuote 중첩 블록이 가능하며, [Enter] 두 번 입력하면 분리할 수 있.. 2022. 4. 24.
[후기] 로지텍 무선 헤드셋 G733 로지텍 G733 무선 헤드셋 구매 가격 169,000원 주변 소음 차단과 고품질 음량을 위해 🙇‍♂️ 제품 사양 Spec • USB를 PC에 꽂으면 자동으로 연결된다. • 무선 사용 범위는 20m • 전원 스위치를 짧게 누르면 켜진다. • 충전식으로 조명없이 29시간 / 기본 조명시 20시간 정도 사용 가능 • SW 프로그램을 통해 Customizing 가능 구성품은 USB / C-Type 충전기 / 마이크 / 설명서 • 충전 케이블은 스마트폰 케이블보다 내구성이 있는 편. • 마이크 탈부착 가능 • 충전 케이블 연결시 녹색등이 5번 정도 깜박인다. • 배터리 10% 미만이면 오디오 알림이 온다. 2% 미만이면 빨간등도 깜박인다. • LED가 전면부에서 은은하게 빛난다. 앞 (Front) / 뒷 (Rea.. 2022. 4. 18.
[googletest] 테스트 픽스처(Test Fixture)란? 🎈 Test Fixture 필요성 에서 소수 판정 함수를 구글 테스트 해보았다. 2022. 4. 12.
🧑‍💻 CI / CD 란 무엇일까? CI / CD 란? • Continuous Integration (지속적 통합) • Continuous Delivery (지속적 제공) • Continuous Deployment (지속적 배포) 규모 있는 SW 개발은 단순 기능 개발에 그치지 않고 클린코드 명목하에 리팩토링 과정을 거친다. 📌 SW 개발자에게 유지보수란? SW 개발자에게 유지보수란? SW 개발 주기에 대해 작성한적이 있습니다. 요구사항 분석(Analysis) → 설계(design) → 구현(Implementation) → 테스트(Testing) → 유지보수 ▶ 애자일과 워터폴 : 요구사항 분석 → 설계 → 구현 →. zoosso.tistory.com 결국, 소스 코드를 어떻게 관리하고 배포할지 전략을 갖추는 것이다. 요즘은 「DevOps.. 2022. 4. 11.
[예시] TDD 방식으로 개발 해보기 해당 포스팅에서는 TDD 개발 방식으로 [소수 찾기] 알고리즘을 검증해 볼 것이다. 📌 TDD (Test Driven Development) 란? TDD (Test Driven Development)란? 「테스트 주도 개발」로 "테스트가 개발을 이끌어 나간다" ① [Red] 실패하는 테스트 코드 먼저 작성 ② [Green]테스트 코드를 성공시키기 위한 프로덕션 코드 작성 ③ [Black] 중복 코드 제거, 일 zoosso.tistory.com 개발환경으로 Google Test (gTest) 활용하였으며 에서는 동작 함수와 테스트 함수를 다른 파일로 분리하였지만 해당 포스팅에서는 하나의 파일에서 작업 Google Test (gTest) 실행해보기 💻 Google Test란 무엇일까? Google에서 만든 .. 2022. 4. 10.
Google Test (gTest) 실행해보기 💻 Google Test란 무엇일까? Google에서 만든 C++ Test Framework • Windows / Linux 등 다양한 플랫폼 사용 가능 • xUnit 아키텍처 기반 📌 TDD (Test Driven Development) 란? TDD (Test Driven Development)란? 「테스트 주도 개발」로 "테스트가 개발을 이끌어 나간다" ① [Red] 실패하는 테스트 코드 먼저 작성 ② [Green]테스트 코드를 성공시키기 위한 프로덕션 코드 작성 ③ [Black] 중복 코드 제거, 일 zoosso.tistory.com 💻 Google Test 환경 확인 Visual Studio에서 Google Test 사용할 수 있다. Visual Studio 2017 (15.5 이상) 버전부터 공.. 2022. 4. 2.
💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방법론 • 자주 반복되는 문제에 해결책 → 재사용과 팀원과의 의사소통 • 23가지 디자인 패턴이 존재한다. • 연관되는 개념으로는 SOLID 원칙과 클린 코드(Clean Code) 등이 있다. • 「Gof (Gang of Four) 디자인 패턴」 으로 알려져 있다. → Erich Gamma / Richard Helm / Ralph Johnson / John Vissides 👨‍💻 디자인 패턴 종류 디자인 패턴은 목적에 따라 3가지로 구분할 수 있다. • 생성 패턴 (Creational Pattern.. 2022. 3. 30.
반응형