본문 바로가기

전체 글

(334)
[Git] 분산 환경에서의 Git 2 - Pro git book, 2nd Edition 정리 비공개 대규모 팀 대규모 팀은 보통 팀을 여러 개로 나눈다. 각 팀이 각각의 feature를 작업하는 상황이라면 회사는 Integration-manager 워크플로를 선택하는게 좋다. 작은 팀이 수행한 결과를 매니저가 Merge 하고 공유 저 장소의 master 브랜치에 업데이트 한다. 공개 프로젝트 Fork 비공개 팀을 운영하는 것과 공개 팀을 운영하는 것은 약간 다르다. 공개 팀을 운영할 때는 모든 개발자가 프로젝트의 공유 저장소에 직접적으로 쓰기 권한을 가지지는 않는다. Git 호스팅 사이트(GitHub, BitBucket, repo.or.cz 등) 대부분은 Fork 기능을 지원하며 프로젝트 관리자는 보통 Fork 하는 것으로 프로젝트를 운영한다. 일단 프로젝트의 웹사이트로 가서 “Fork” 버튼을..
방송대 프로젝트 - 환경설정 GitHub - eugene-doobu/Meister-Unity-assignment-2021_2nd Contribute to eugene-doobu/Meister-Unity-assignment-2021_2nd development by creating an account on GitHub. github.com 내가 과거 강의를 위해 정리했던 글을 이용했다. 이대로 해보니 아주 초스피드로 셋팅이 완료되었다. 과거의 나 아주 칭찬해. 오큘러스와 관련된 기본 셋팅은 날마다 업데이트되며 계속 바뀌어가서 삽질을 많이 해야했다. 저번에 오큘러스로 프로젝트를 진행하다 프로젝트 마감 직전에 내부 함수들이 과거버전과 호환도 안되게 바뀌어서 거의 멸망했다는 팀도 있었다고 한다. 그래서 이러한 개발의 편의성들을 지켜주기 위..
[Git] 분산 환경에서의 Git 1 - Pro git book, 2nd Edition 정리 4.분산 환경에서의 Git 4.1. 분산 환경에서의 워크플로 이번 장에서는 분산 환경에서 Git을 어떻게 사용할 수 있을지 살펴본다. 프로젝트 기여자 입장과 여러 수정사항을 취합하는 관리자 입장에서 두루 살펴본다. 즉, 프로젝트 기여자 또는 관리자로서 작업물을 프로젝트에 어떻게 포함시킬지와 수 많은 개발자가 수행한 일을 취합하고 프로젝트를 운영하는 방법을 배운다. 분산 환경에서의 워크플로 Git에서는 각 개발자의 저장소가 하나의 노드이기도 하고 중앙 저장소 같은 역할도 할 수 있다. 즉, 모든 개발자는 다른 개발자의 저장소에 일한 내용을 전송하거나, 다른 개발자들이 참여할 수 있도록 자신이 운영하는 저장소 위치를 공개할 수도 있다. 중앙집중식 워크플로 중앙 저장소는 딱 하나 있고 변경 사항은 모두 이 중..
나의 코딩테스트 공부법 안녕하세요. 게임클라이언트로 근무하고 있는 두부입니다. 최근 홍정모 교수님이 알고리즘의 중요성에 대해 많이 이야기해주셨는데, 제가 이번에 쓰는 대상은 교수님이 말씀하신 근본적인 알고리즘과는 거리가 좀 있을지 모르겠지만, 그래도 코딩테스트 문제풀이를 준비하시는 분들에게 저의 경험과 공부방법을 공유해보고자 이런 글을 작성하게 되었습니다. ​ 평소 조금씩 알고리즘을 공부해오다가 어느날 이직이 하고싶어서 국내 이런저런 회사에 코딩테스트를 봤는데 보는 곳 마다 합격해버리고 심지어 한 회사에서 제가 코딩테스트 제일 잘 본 편이라는 말까지 듣게되는 경험을 하게 되었습니다. 제가 본 회사중에 코딩테스트 컷이 높은 회사가 없기도 하였지만.. 뒤늦게 알고리즘 시작한 사람으로써 이렇게 공부하고 이정도 결과를 만들었다는 걸 ..
[cpp]사라지는 발판 - 2022 카카오 블라인드 채용 플레이어 A와 플레이어 B가 서로 게임을 합니다. 당신은 이 게임이 끝날 때까지 양 플레이어가 캐릭터를 몇 번 움직이게 될지 예측하려고 합니다. 각 플레이어는 자신의 캐릭터 하나를 보드 위에 올려놓고 게임을 시작합니다. 게임 보드는 1x1 크기 정사각 격자로 이루어져 있으며, 보드 안에는 발판이 있는 부분과 없는 부분이 있습니다. 발판이 있는 곳에만 캐릭터가 서있을 수 있으며, 처음 캐릭터를 올려놓는 곳은 항상 발판이 있는 곳입니다. 캐릭터는 발판이 있는 곳으로만 이동할 수 있으며, 보드 밖으로 이동할 수 없습니다. 밟고 있던 발판은 그 위에 있던 캐릭터가 다른 곳으로 이동하여 다른 발판을 밞음과 동시에 사라집니다. 양 플레이어는 번갈아가며 자기 차례에 자신의 캐릭터를 상하좌우로 인접한 4개의 칸 중에서..
[Git] Git 브랜치 2 - Pro git book, 2nd Edition 정리 3.4. 브랜치 워크플로 Long-Running 브랜치 Git 개발자가 많이 선호하는 워크플로가 하나 있다. 배포했거나 배포할 코드만 master 브랜치에 Merge 해서 안정 버전의 코드만 master 브랜치에 둔다. 개발을 진행하고 안정화하는 브랜치는 develop 이나 next 라는 이름으로 추가로 만들어 사용한다. 이 브랜치는 언젠가 안정 상태가 되겠지만, 항상 안정 상태를 유지해야 하는 것이 아니다. 개발 브랜치는 공격적으로 히스토리를 만들어 나아가고 안정 브랜치는 이미 만든 히스토리를 뒤따르며 나아간다. 토픽 브랜치 토픽 브랜치는 어떤 한 가지 주제나 작업을 위해 만든 짧은 호흡의 브랜치다. 브랜치 각각은 독립돼 있기 때문에 매우 쉽게 컨텍스트 사이를 옮겨 다닐 수 있다. 묶음별로 나눠서 일하..
방송대 프로젝트 - 프로젝트 초기 셋팅 2022.06.21 방송대 기말고사를 끝내고 프로젝트를 제대로 시작하기 위한 준비를 하기 시작했다. 아마 이번달은 할 일이 많아서 기본 셋팅정도만 보고 다음달부터 최대한 시간을 내서 작업을 하게 될 것 같다. 이거 외에도 진행하는 프로젝트(유니티 플젝, 영어공부)가 있기 때문에 최대한 빠른시간 안에 성과를 내기 위해 버릴건 버리고 진행해나갈 것이다. 앞으로 프로젝트를 편하게 진행하기 위한 툴들을 추가하는 작업을 했다. 나중에 이런것들을 모아 EugeneTemplate과 같은 레포를 만들까 하는 생각도 든다. 이를 위해 레포에 추가한 이슈내역은 다음과 같다. 1.루키스 기반 기본 템플릿 성능상 살짝 아쉬운 부분도 있고 평소 쓰던 타입도 아니지만, 그래도 다양한걸 사용해보고자 하는 마음에서 지난번 루키스님의..
운영체제 - 분산 운영체제 정리 (방송통신대학교 운영체제) 분산 운영체제의 개요 분산 시스템 메모리나 클럭을 물리적으로 공유하지 않은 프로세서들의 집합 네트워크로 연결되어 상호 협력 가능 네트워크를 중심으로 여러 프로세스(서버, 클라이언트 ,자원 등)이 연결이 되어있다. 서버: 자원을 제공하는 쪽 클라이언트: 자원을 사용하는 쪽 분산 시스템의 목적 자원 공유 연산속도 향상 신뢰성 향상 통신의 용이성 자원 공유 연결된 다른 사이트의 자원을 사용 예: 원격 사이트의 파일 공유, 원격 사이트에서의 프린팅, 분산 DB의 정보 처리 등 연산속도 향상 분할이 가능한 작업을 분산 시스템의 여러 사이트에 분산시켜 동시 처리 부하 공유를 통해 과부하 해소 및 전체 처리속도 향상 신뢰성 향상 일부 사이트에서 장애가 발생하더라도 전체 시스템의 동작이 멈추지 않음 장애 검출, 장애 ..