본문 바로가기

- CS14

[SVN] TortoiseSVN Microsoft Window에서 사용할 수 있는 SVN, TortoiseSVN 입니다.설치한 후 재부팅이 필요합니다. TortoiseSVN TortoiseSVN은 설치하게 되면 윈도우 탐색기 Context Menu에 등록되어 편리하게 이용할 수 있습니다.용어들을 아래 간단하게 요약해보았습니다.Update다른 사람이 수정한 내용 받아오기Commit내가 변경한 사항을 서버에 업로드하기Add새 파일을 버전 관리에 추가하기Delete파일 삭제 (단순 삭제가 아닌 SVN 관리 삭제... 조심)Log파일의 변경 이력 보기Revert로컬 변경 사항 취소하기 항상 작업 전에 Update하는 것을 잊지 않고, 업데이트하여 파일들을 최신 버전으로 유지하는 것이 좋습니다.작업이 끝난 후엔 Commit하여, 꼭 의미가 잘.. 2025. 7. 1.
[SVN] Subversion SVN Subversion(서브버전)은 CLI에서 사용하는 명령어를 따서 'SVN'이라고 줄여부른다고 합니다. SVN; Subversion풀네임은 'Apache Subversion' 이며, 프로젝트의 버전관리를 위해서 사용하는 Git과 같은 형상관리 도구입니다.SVN은 CVS가 가진 한계점(파일 이름 변경 불가, 디렉터리 이동 및 변경 불가, 파일 이름 유니코드 제한적)을극복하기 위해서 만들어진 도구입니다. Client - Server Model 이기 때문에, 서버가 개발자들의 컴퓨터에 둘 수도 있고,네트워크에 연결된 별도의 컴퓨터에 두고 사용할 수도 있습니다. SVN의 큰 특징은 Centralized version control (중앙 집중식 버전관리) 입니다. Centralized Version Contr.. 2025. 6. 28.
[CS] Logic Gate 논리 회로 ... with Minecraft 주말에 가끔 마인크래프트를 플레이하며 별장도 짓고, 농사도 짓다가 번뜻,RedStone 레드스톤으로... 1학년 전공시간에 배웠던 회로를 만들어볼까해서 정리해봤습니다. RedStone's Elements (소자)Redstones (전원, 도선)Repeater (중계기)Comparator (비교기)Logic Gate (논리회로)NOTANDORXORNANDNOR먼저 레드스톤의 기본적인 요소들 먼저 살펴본 다음, 논리회로로 들어가겠습니다.RedStone's Elements (레드스톤 소자)마인크래프트 인벤토리 (E) 를 눌러 RedStone 카테고리에 들어가면,레드스톤 장치를 구현할 때 필요한 아이템들을 사용하실 수 있습니다.Redstones 각각 Redstone Block 과 Redstone Torch 라.. 2025. 6. 24.
[CS] DI Dependency Injection 디펜던시 인젝션, 우리말로 '의존성 주입'인데저는 어감 때문에 처음엔 조금 낯설게 느껴졌습니다. DI; Dependency InjectionDependency Injection(의존성 주입)을 프로그래밍 차원에서는클래스가 필요한 객체(의존성)를 스스로 생성하지 않고, 외부에서 주입받는 방식을 말합니다. 먼저 Dependency(의존성)는, "A depends on B." ("A가 B에 의존한다.") 관계 입니다.그렇기 때문에, 의존대상인 B가 변한다면 → A에게도 영향이 갈 것입니다.예를 들어 자동차와 엔진으로 비유해서 설명드리자면,Car는 Engine 없이 작동할 수 없으니까, Car는 Engine에 의존하는 것을 Dependency (의존성)이라고 합니다.원래는 Car가 스스로 직접 Engine 객.. 2025. 6. 23.
[CS] 버전 관리 Version / revision / source control SE (Software Engineering) 에서는 소스 코드 내역을 관리하는 것을 버전관리라고 정의합니다.Software Configuration Management (형상관리) 의 개념은 산업 공학이나 생간 기반 제조 공학등이소프트웨어 쪽으로 넘어오면서 학문적인 관심에 의해 생겨나게 된 개념이라고 합니다. Why왜 버전 관리를 해야하는 가?소스코드를 백업해 두어 분실의 위험에서 보호하며, 코드 수정 전후 내용을 파악하여추후 발생할 지도 모를 에러 수정에 대비하는 절차가 필요했습니다.뭔가 잘 못 됐을 때 복구과거의 특정 시점으로 돌아가기팀 프로젝트의 팀원간 수정 내역 동기화를 자동화소스 코드 변경사항을 (안전하게) (누가했는지) (코드의 의미) 추적Branch 로 프로젝트에 영향을 최소화하며 새 기.. 2025. 6. 9.
[OOP] OOP Object-Oriented Programming 개요 객체지향프로그래밍의 몇가지 주요 개념들을 정리해보았습니다. OOP; Object-Oriented Programming전공 서적에 나오는 말을 빌리자면,"현실 세계를 객체로 모델링하여 interactive 하게 구성한 프로그래밍의 paradigm" 이 되겠습니다.현실 세계와 OOP 개념 아이디어를 매칭시키면 아래와 같습니다.설계도클래스(Class)실제 사물객체(Object)행동메서드(Method)속성필드(Field)동작 방식 다양화다형성공통된 특성 물려받기 (like 종 분류계)상속 Object (객체) 는 데이터 기반의 어떠한 기능을 가진 독립적 단위를 뜻하며,객체 간 메세지 전달 (or 메서드 호출 등...) 로 프로그램이 동작하는 것을 포함합니다. OOP의 각 개념들은 유기적으로 연결돼있으며, 아.. 2025. 6. 7.
[OOP] SOLID 설계 원칙 solid한 사람이 되어야겠습니다. SOLID 설계 원칙SOLID는 Object-Oriented(객체 지향) 설계의 5가지 핵심 원칙을 말합니다.각각 SRP, OCP, LSP, ISP, DIP 이 5개의 원칙을 의미하며, 유지보수와 확장성을 높입니다.유연하고 견고한 소프트웨어를 만들기 위해 여러 디자인 패턴에 입각해서 만들어집니다. 해당 포스트에서는 인터페이스 개념을 선행으로 알고 있으면 도움이 됩니다.https://bulletprooves.tistory.com/36 [C#] virtual abstract interfaceOOP에서 상속에 관한 키워드 virtual(추상), abstract(가상) 한정자와 interface를 정리했습니다.세가지 키워드 모두 Override(재정의) 할 수 있다는 공통점이.. 2025. 6. 7.
[협업] CI/CD Pipeline 파이프라인 ※ 경험 기반이라기 보단, 개인적으로 조사한 결과를 바탕으로, '게임 개발'에 맵핑하여 정리한 내용이기에,실제 회사마다 현업에서 사용하는 방법과 조금 다르거나, 다소 불확실할 수 있다는 점을 주의하시길 바랍니다. 개발하는 과정에서, 버그 없는 배포와 빠른 테스트, 그리고지속적인 업데이트등을 위해 정교하고 체계적인 과정이 필요합니다. 게임 개발 DevOps개발팀과 운영팀 간의 커뮤니케이션(협업)의 장벽을 해소하기 위해 DevOps가 있습니다.제가 알고 있는 바로는,코드를 자동으로 빌드하고, 테스트하고, (CI/CD)서버에 배포한 뒤,문제를 실시간으로 감지하고 빠르게 대응하는 흐름을 DevOps 라고 합니다. 게임 개발 간단한 흐름간단하게 어떤 흐름으로 업무가 이루어질지 아이디어를 떠올려 보겠습니다.1. .. 2025. 6. 5.
[협업] CI / CD '어떤 CI 시스템을 사용하세요?' 에 대한 개발자들의 답변은 아래와 같습니다.출처 : https://www.jetbrains.com/lp/devecosystem-2023/team-tools/# CI/CDContinuous Integration / Continuous Deployment(Delivery) CI/CD는 위의 약자입니다. 수 많은 개발회사에서 각자의 CI/CD 개발 프로세스를 사용합니다.개발부터 배포까지 효율적이고 신속하게 (또 자주) 사용자에게 도달할 수 있도록 하는 자동화하는 환경을 뜻합니다. Continuous Integration지속적인 통합, 주기적으로 추가된 기능, 수정된 버그, 수정된 코드들이 main Branch에 merge 되는 것을 말합니다. 특히, 프로그래머는 변경된 코드.. 2025. 6. 3.
[Issue Tracker] Jira 지라 협업툴 팀원들 간의 Task, Bug, Request 등을 요청하고, 각 작업의 상태 등을 기록하고 표시하는 것은 매우 중요합니다.그렇기에 Agile Software Dev. process (프로젝트 관리) 개발 방법론 중, 협업툴 Jira에 대해 정리해 보았습니다. Jira를 시작하기 전에, Agile Software 개발론의 Sprint를 알아두어야 합니다.Sprint 란,Agile 소프트웨어 개발의 Scrum 방법론에서, 정해진 짧은 기간 동안 끝내고자 하는 작업 unit 을 뜻합니다.한 스프린트 주기를 1주~4주 정도로 짧게 잡고, 를 싸이클로 돌아가며 반복하는 방식으로,Jira Software 가 그 도구로 유용하기에 많은 개발팀들이 사용한다고 합니다.Scrum (Agile Software Deve.. 2025. 5. 31.
[Git] GitHub & Git 전에 친구와 이야기하던 중, 제가 브랜치명을 'master' 라고 하니,친구가 말하길, "에헤이! main 이라 하지, 언제적 master 여, 이 양반아~" 라고 한게 떠올라 정리해 보았습니다. 우선 깃과 깃허브는 각각 아래와 같습니다.Git, version control systemGitHub, 원격 저장소 ( remote repository )Getting Start with Git가장 먼저 Git 이 없으시다면, 아래 링크에서 OS에 맞게 설치해줍니다.https://git-scm.com/downloads Git - DownloadsDownloads macOS Windows Linux/Unix Older releases are available and the Git source repository.. 2025. 5. 29.
[자격증] 정보처리기사 실기 정리 요약 정보처리기사 실기 이론 파트 요약한 내용입니다.(프로그래밍 부분은 따로 공부했기에 아래에는 없으며,오타나 부정확한 내용이 있을 수 있기 땜에 ㅠ.ㅠ 참고용으로만 봐주세요!)20mb 이상은 포스트에 첨부가 안되길래 깃허브 링크에 올려두었습니다.https://github.com/bulletprooves/EngineerInformationProcessing/tree/main GitHub - bulletprooves/EngineerInformationProcessing: 정보처리시사 실기 정리정보처리시사 실기 정리. Contribute to bulletprooves/EngineerInformationProcessing development by creating an account on GitHub.github... 2025. 5. 29.
[Git] gitignore 사용하기 개인 정보가 들어간 파일이나 깃허브에선 100mb 넘어갈 때 ( Git LFS는 비용이 발생), gitignore를 사용합니다. gitignoreGit에서 .gitignore 파일은 형상 관리에서 제외하고 싶은 파일이나 폴더를 지정하는 데 사용됩니다.중요한 개인정보나 파일이 너무 큰( > 100mb) 인 파일들을 제외(Track 하지 않도록)하고 싶을 쓸 수 있씁니다. .gitignore파일은 위와 같이 프로젝트 최상위 위치에서 찾아 편집할 수 있습니다.유니티같은 경우는 아래와 같이 자동 생성된 것을 확인하실 수 있습니다. 규칙'#'로 시작하는 라인은 무시표준 Glob 패턴을 사용슬래시(/)로 시작하면 하위 디렉터리에 적용되지(recursivity) 않음디렉터리는 슬래시(/)를 끝에 사용하는 것으로 표.. 2025. 5. 27.
[OOP] Design Patterns ( GoF ) Object Oriented 프로그래밍에서 협업을 위해 설계를 할때,내가 작성한 코드, 다른 분께서 작성한 코드를 전달해줄 때 생기는 어려움을 극복하기 위해디자인 패턴이라는 일종의 의사소통 방법을 사용합니다. (일종의 베스트 프랙티스 이기도 하죠) Design PatternsObject Oriented Programming; OOP 에서, 설계한 프로젝트 마다의 이해관계를 좀 더 수월하게 할 수 있도록,제안된 개념 패턴들을 Design Patterns 라고 부르며, 일종의 코딩 방법론입니다.위 다자인 패턴을 통해, 코드를 재사용하고, 유연하게 작성하며, 유지보수가 쉽게 만들어지는 것에 도움을 줍니다.맨 처음 아이디어는 논문 Using Pattern Languages for Object-Oriented .. 2025. 5. 26.