분류 전체보기 478

Git pull request 후 다음날, 무조건 동기화하기

https://jybaek.tistory.com/775 [GitHub] fork repository 최신 버전으로 유지하기 # TL;DR git remote add upstream ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git git fetch upstream git merge upstream/master # 들어가며 GitHub 에서 좋은 프로젝트를 발견했고 유용하게 사용을 하다보면 Contribut.. jybaek.tistory.com 원본저장소는 끊임없이 변하므로 포크저장소와 로컬저장소를 계속해서 동기화해줘야한다

Git 2021.07.22

Git Pull Request(Contribution) 후기

https://salix97.tistory.com/222 [Git] 깃허브 - fork 와 pull request 를 통한 협업 과정 정리 1. 지금까지의 협업 방법 : Collaborator 지금까지는 깃허브를 통해 협업할때, 하나의 프로젝트 레포지토리에 Collaborator 를 추가한 다음, 각자의 브랜치를 만들고 자신의 브랜치에 직접 체크아웃하여 salix97.tistory.com 지금까지 나는 위블로그의 1번과정과 똑같이 팀개발을 해왔었다. 하지만 모두에게 Collaborator를 선정하고 Push, pull 할수있는 권한을 주는건 너무 위험하다는 생각이들었다. 회사에서 대규모로 팀개발을 할때는 과연 어떻게 개발할까 싶어서 많은 자료를 찾아보고, 직접 github 계정을 여러개 만들어서 구현해보..

Git 2021.07.22

OOP, TDD, 리팩토링

https://codesquad-yoda.medium.com/%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9C%BC%EB%A1%9C-tdd-%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81-oop%EB%A5%BC-%EC%97%B0%EC%8A%B5%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%80-7ecc9ddb5d45 효과적으로 TDD, 리팩토링, OOP를 연습하는 방법은? 강의를 하다 보면 개발자들에게 듣는 질문 중의 하나는 “테스트 주도 개발(Test Driven Development, 이하 TDD), 리팩토링(Refactoring), 객체 지향 프로그래밍(Object Oriented Programming, 이하… codesquad-yoda...

SOLID Principles

https://walbatrossw.github.io/oop/2018/07/27/03-solid-srp.html SOLID - 단일책임 원칙(Single Responsibility Principle) - 더블에스 Devlog 본 글은 자바 객체지향과 디자인패턴를 읽고 개인적으로 학습한 내용을 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁드리겠습니다. 1. 책임의 의미 객 walbatrossw.github.io https://walbatrossw.github.io/oop/2018/07/27/04-solid-ocp.html SOLID - 개방-폐쇄 원칙(Open-Closed Principle) - 더블에스 Devlog 본 글은 자바 객체지향과 디자인패턴를 읽고 개인적으..

Checked Exception, Unchecked Exception 차이

https://www.youtube.com/watch?v=q80kLBw04gI&list=PLuHgQVnccGMCrFJLxpjhE0N5tvOVxJuVB&index=6 CheckedException은 컴파일러가 체크해주므로 try, catch를 구현해주지 않으면 컴파일 되지 않는다 UncheckedException은 컴파일러가 체크해주지 않는 RuntimeException을 상속받는 자식이므로 개발자가 직접 신경써서 구현해줘야한다 그리고 외부 Resource를 사용하는 코드의 경우 그 Resource를 붙잡고있는 행위를 하다가 놔줘야할떄(close) FileWrite f=null; try { f = new FileWriter("data.txt"): f.write("hello"); } catch(IOExcep..

Gitflow에 대한 생각 feat. agile

대학과제로 3명이서 팀프로젝트를 한 적이 있었다. 팀원들은 Github를 써서 나중에 마지막으로 merge 하자고 했다. 한명씩 master branch로부터 각자의 repository를 만들어 마지막에 merge 하자고했다. 그때는 브랜치 전략에 대한 생각이 없었으므로 그냥 마지막에 각자 local repository에서 결과물을 merge하면 되겠지라고 생각했는데, 막상 마지막날에 merge하고 배포할때 충돌이 많이 일어났던 경험이 있다. 우리는 자연스럽게 폭포수방법론(Waterfall Method)를 쓰고 있었던 것이다. 중간에 프로토타입의 테스트 과정 없이 마지막에 결과물을 테스트를 하고 한꺼번에 고치려고 하니 마지막 출시에 가까워졌을때 굉장히 당황을 많이 했고, 중간중간 배포를 통해 추가기능을 ..

Git 2021.07.19

GIt 팀개발시 Branch strategy

http://www.inbogi.com/bok/2020/04/1/ [GIT] GIT branch strategy 명명규칙 및 전략 - LIBRON Magazine. GIT branch 명명 규칙 만약 1~2명에서 하는 소규모 프로젝트에서 GIT을 사용하면 특별하게 규칙이라고 할것도 없습니다.하지만 프로젝트 규모가 커지고 인원도 늘어나게되면 한가지 레파지토리내에 www.inbogi.com git version관리를 어떻게 하는가? 먼저 Master branch를 만들고, Develop branch로 분기한다 그다음 Develop branch에서 개발을 이어나가다가, 배포가 끝나고 출시중에 버그수정이 필요하다면 hostfix branch에서 버그를 수정하고 master branch와 develop branc..

Git 2021.07.19

카프카를 왜쓸까?

https://heodolf.tistory.com/49 [Tech.] Message Broker란? Message Broker(메시지 브로커)는 Publisher(송신자)로부터 전달받은 메시지를 Subscriber(수신자)로 전달해주는 중간 역할이며 응용 소프트웨어 간에 메시지를 교환할 수 있게 한다. 이 때 메시지가 적재 heodolf.tistory.com 이번에 프로젝트를 구현하면서 카프카를 도대체 왜쓰는지에 대해서 궁금했는데 위 블로그 글을 보고나서 확실하게 이해할수 있었다. Producer와 Consumer가 계속해서 DB를 중심으로 데이터를 주고받는다면 너무 느리다. 따라서 Message broker(Message queue)를 둬서 데이터를 주고받는 속도를 향상시킴으로써 실시간 데이터 처리가 ..

카프카 2021.07.18

참고#1 왜 채팅시스템에서 웹소켓을 구현해야할까?

https://www.slipp.net/wiki/pages/viewpage.action?pageId=30769546 1. 실시간 웹을 구현하기 위한 기술들 - 서영 - SLiPP 스터디 - SLiPP::위키 Clienet에서 Server로 요청을 끊지 않고 필요한 메시지를 계속 보내는 방식 (장점) 메시지를 보내고 다시 연결하는 부담이 적음, 특별한 프로토콜/서버구현 필요 없음 (단점 www.slipp.net HTTP는 connectionlees 프로토콜이다. 즉, 서버에서 클라이언트로 단방향으로 보내는 통신의 경우 적합하다. https://victorydntmd.tistory.com/286 [HTTP] HTTP 특성(비연결성, 무상태)과 구성요소 그리고 Restful API 이번 글에서는 HTTP의 가..