본문 바로가기
반응형

전체 글1225

[VS Code] Plant UML 설치 Plant UML은 Code로 쉽게 다이어그램을 그릴 수 있는 오픈소스이다. Code로 생성할 있기에 빠른 생산성이 특징이다. VS Code Extension에서도 Plant UML 제공한다. 결과 확인까지는 Graphviz와 Java가 필요하다고 한다. 직접해보니 Java 프로그램만으로도 충분한 것 같기도..? 설치 방법 ① Extension 클릭 ② "plantuml" 검색 ③ "PlantUml" 선택 ④ 설치 (이미지는 설치된 모습) 지원하는 파일 확장자 *.wsd, *.pu, *.puml, *.plantuml, *.iuml 예시 코드 @startuml Class11 Class14 Class15 ..> Class16 Class17 ..|> Class18 Class19 2022. 9. 6.
[C/C++] #ifdef, #if defined() 비교 및 활용 [전처리기] #ifdef에서 #ifdef 형태와 활용 방법을 다루었다. #define IMSI #ifdef IMSI #define MAX_SPEED 10 #else #define MAX_SPEED 100 #endif int speed; int main() { // 최고 속도이하로 수치조정 if (speed > MAX_SPEED) speed = MAX_SPEED; } [C] [전처리기] #ifdef #ifdef 사용되는 형태는 아래와 같다. #ifdef {NAME} ... #else ... #endif {NAME} 선언 여부에 따라 컴파일 되는 부분이 달라진다. #define에서 선언여부와 관계 있지 정의 여부와는 관계가 없다. #define TEST.. zoosso.tistory.com [예제 코드] #.. 2022. 9. 1.
💻 템플릿 메소드 (Template Method) 패턴 템플릿 메소드 패턴 (Template Method Pattern) 상위 클래스에서 먼저 전체 흐름(큰 골격)을 구현하고, 실제적인 동작은 하위 클래스에서 구현 이러한 동작은 후크 기능과 유사하다. 후크 (Hook) 하위 클래스에서 구현되는 함수를 "후크 메서드"라고도 한다. "후크"는 중복된 코드를 제거하고 처리 로직의 일부를 변경할 때 자주 사용하는 기법 📌 디자인 패턴(Design Pattern)이란? 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있 zoosso.tistory.com 예제 코드 .. 2022. 8. 30.
[프로그래밍] 디자인 패턴 필요성 간단한 예제로 디자인 패턴 필요성을 알아보고자 한다. 📌 디자인 패턴(Design Pattern)이란? 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있 zoosso.tistory.com 예제 코드 배열[]에서 find()로 특정 원소를 찾을 수 있다. #include #include using namespace std; int* find(int* first, int* last, int v) { while (first != last && *first != v) { ++first; } return fi.. 2022. 8. 29.
MVC 패턴이란? MVC 패턴이란? • Model - View - Controller 구조를 말한다. • Model: 데이터나 Business Logic 내포 (= 데이터 제어) • View: 사용자에게 보여지는 인터페이스 • Controller: View ↔ Model 사이 요청/응답 관리 • 하나의 Model로 여러 형태 View를 보여줄 수 있다. → 1:多 구조로 Model을 재활용 (실서비스는 View 변화가 많은 편) ex) 하나의 raw 데이터로 표, 원형 차트, 막대 그래프 등을 표현 • 이전에는 View가 Model을 의존해야 했지만 Controller로 View-Model 의존성을 낮추는 구조이다. = 각 View 요청은 Controller 동작에 영향을 주어서 안된다. • Controller 역할? →.. 2022. 8. 28.
📚 [책 리뷰] 나는 주니어 개발자다 5명의 주니어 개발자 이야기 분야도 다르고 처한 상황도 다르기 때문에 개발자로 입문하는 사람들에게는 도움이 되는 책이라고 생각한다. #첫 직장에서 느낀 이야기 #이직하기 위한 노력 #꾸준한 자기 개발 원론적인 내용보다 주인공들이 직접 겪은 이야기가 생생하게 전달되기에 날 것의 성장 스토리 있는 그대로 경험할 수 있다. 토이 프로젝트나 개발 스터디 하다보면 초기 멤버가 끝까지 함께하지는 않는다. 각자의 사정으로 자의든 타의든 변화가 생긴다. 어쩌면 처음부터 그런 상황이 있을 수 있다고 생각하면 덜 힘들지 않을까. 🙃 잡일꾼 같은 현실을 거쳐 백엔드 개발자로 성장한 이야기다. 모집공고의 그럴싸한 기술 스택은 더 이상 믿을 수 없다. 몇 년 일하다보니 부서 분위기 맞지 않은 사람이 들어오기도 자신의 분야가 아.. 2022. 8. 15.
[C 전처리기] #error 활용 예제 #error 지시문은 전처리 과정에서 개발자에게 제약 사항 위반을 알리는데 유용하다. 사용 형태는 아래처럼 정의되지 않을 때 Compile Error 되도록 한다. 복잡한(제약사항) 프로그램일 때 사용될 수 있다. #include #define ENGINE 0; void main() { #if ENGINE printf("Engine on.."); #else #error Engine Off.. #endif } 파일 구조가 단순하면 코드에서 빨간 밑줄을 바로 확인할 수 있다. 파일 구조가 복잡하더라도 빌드하면 오류 메시지를 확인할 수 있다. Compiler 종류나 버전 제약이 필요할 때도 활용 가능하다. 예를들어 c++ 아닌경우 error 처리할 수 있다. #if !defined(__cplusplus) #e.. 2022. 8. 11.
[C++] 네임스페이스(namespace) 활용 『 :: 』 기호는 Scope Operator로 "범위지정 연산자" 라고 한다. (네임스페이스 지정할 때 사용하는 연산자) #include namespace A { void Print() { printf("a...\n"); } } namespace B { void Print(); } int main() { A::Print(); B::Print(); } void B::Print() // 선언부와 정의부 구분 { printf("b...\n"); } 여러 사람이 작업을 하다보면 변수나 클래스명이 같을 수 있다. namespace로 영역을 구분할 수 있다. 동일한 영역에서 정의된 함수 호출할 때는 네임스페이스를 명시할 필요가 없다. 네임스페이스 중첩 #include namespace A { void Print(.. 2022. 8. 9.
💻 회의록 작성 Tip 회의록 작성 Tips 회사에서 업무하다보면 회의 간사 역할 등 회의록을 작성해야 하는 경우가 있다. 좋은 회의록은 그 자리에 없었던 사람도 어떻게 진행 되었는지 유추할 수 있다. 회의 주제에 따라 회의록 작성방식이 다양한다. 예를 들어 Raw Data 그대로 작성해서 작성자 생각을 아에 배제할 수도 있다. 일반적으로는 핵심 / 요약하는 경우가 많긴하다. 회의 진행 전 육하원칙에 맞게 템플릿을 만들어두면 편하다. • why (배경, 목적, 활용 계획) • who (참석자 및 주관자) • when (시작 일시, 소요시간) • where (회의 장소 및 진행 방식) • what (논의 주제, Agenda, 요청사항, 근거) • how (다음 계획, Action Plan) 예시 • 가독성을 위해 기호와 표 활용.. 2022. 8. 8.
[Git 깃] git blame git blame 특정 코드가 누가, 언제, 어떤 Commit으로 변경했는지 확인할 수 있는 명령어 git blame {파일명} author와 timestamp 출력 X git blame -s {파일명} 특정 라인[start, end] 까지만 확인 git blame -L {start},{end} {파일명} Commit Hash 값으로 변경 정보 확인 git show {Commit ID} 📌 [Git 깃] git show [Git 깃] git show git show Commit 변경 사항과 Metadata(Hash 값, Commit Message, 수정된 파일 목록, 변경 내용 등) 표시 현재 Branch의 가장 최근 커밋 정보 확인 git show 특정 커밋 정보 화인 git show {Commit H.. 2022. 8. 7.
반응형