본문 바로가기
반응형

전체 글1305

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.
💻 회의록 작성 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.
[C++] 인라인(inline) 함수 키워드 「inline」 로 정의된 함수를 "인라인 함수"라 한다. 보통, 구조가 간단한 함수를 inline 처리해야 효율성을 높일 수 있다. inline void Add(int a, int b) { return a + b; } 클래스 또는 구조체 안에 멤버함수 정의부를 두면 자동 인라인 함수화한다. 소스코드를 .h와 .cpp로 분리하는 경우 컴파일시간에 인라인함수 코드가 확장될 수 있도록 함수 정의부는 헤더파일에 둔다. (함수가 호출될 때 읽히기 때문에 미리 읽도록 처리) A.h class A { int res; public: inline int add(int a, int b); void print(void); }; inline int A::add(int a, int b) { res = a + b; re.. 2022. 8. 6.
💻 함수 오버로딩(Overloading) 함수 오버로딩 (overloading) • 동일한 이름의 함수명이 여러개 중복 정의되어 있는 형태 • 함수 파라미터(parameter) 자료형 혹은 개수가 다르다. • C 언어에서는 동일한 이름의 함수 정의를 허용하지 않는다. (컴파일 오류) 하지만 C++에서는 함수 중복 정의 허용 void sub(int n) { … } void sub(char* str) { … } void sub(void) { … } void sub(int n, char* str) { … } 오버로딩(중복 정의)이 안되는 경우 리턴 타입만 다른 경우 int sub(void) { … } void sub(void) { … } 디폴트 파라미터(default parameter) 활용 중복 정의는 되지만 모호한 호출 오류 발생 void sub.. 2022. 8. 3.
💻 [Git 깃] 영역별(add, commit, push) 되돌리기 add 취소 git reset HEAD {file명} • 파일명이 없는 경우 add한 파일 전체 취소 • UnStaged (add 전) 상태로 변경하는 것으로 내용 자체는 남아 있다. • commit 상태 및 내용은 변하지 않는다. commit 취소 git reset HEAD^ • commit 취소하고 변경내역을 unstaged 상태 (add 전)로 변경 내용 자체는 삭제되지 않고 파일에 남아 있다. (--mixed 옵션과 동일) * add되어 있는 변경내역도 add "전" 상태로 변경 • --soft 옵션 staged 상태 (add 후)로 commit 취소 git reset --soft HEAD^ • --hard 옵션 commit 취소와 함께 변경 내역 자체를 삭제 git reset --hard HEA.. 2022. 8. 2.
📚 [책 리뷰] 나는 아끼는 대신 더 벌기로 했다. "블로그 운영 잘 하고 있는걸까?" 블로그 운영하면서 드는 의구심 개발자니까 "기술 블로그 운영 한번 해봐야지" 라는 막연한 생각을 가지고 시작했고, 적성(?)에 맞아 일상 블로그까지 시작해 어느덧 2년을 넘어서고 있다. 책에서도 많이 언급하는 부분이지만 블로그 운영에서 가장 중요한 것은 성설성 꾸준하지 못할거면 차라리 다른 것을 알아보라고 한다. 🙃 점검차원에서라도 블로그 운영 관련 책을 읽었다. [📚 책 리뷰] 구글 애드센스로 돈 벌기 [📚 책 리뷰] 구글 애드센스로 돈 벌기 제목: 구글 애드센스로 돈 벌기(2021):수익형 블로그에서 유튜브까지 저자: 안동수(풍요) 출간: 2021. 02. 25 츨판사: 아틀라스북스 가격: 18,000원 네이버 책 Link 필자 주변에는 블로그 하는 사람이 없 zo.. 2022. 8. 1.
[Git 깃] git revert reset과 마찬가지로 과거로 되돌리기 위한 명령어다. reset과 revert 차이는 실행 후 commit 이력이 남는가? revert는 reset과 달리 commit을 삭제하지 않고 추가한다. git revert {Commit ID} 📍 reset 📍 revert 예시 git log 확인 결과 A → B → C → D commit 이 존재한다. B Commit 수정이 필요한 것을 확인하여 해당 변경내용만 없애고 싶다. 하지만 이미 push 해서 다른 팀원들이 사용하고 있을 수 있어서 commit 이력을 없애기는 부담스럽다. revert로 인해 B commit 당시 변경 내역만 사라진다. (C, D 변경내용 변화 X) 기존 B Commit을 포함해 전체 commit 내역은 그대로 남아있고, revert.. 2022. 7. 31.
반응형