본문 바로가기

개발기술/빌드, 배포, 인프라

(6)
Git 그리고 GitHub Git 공식문서https://git-scm.com/docs Git 설치 (MAC) 1. 터미널 실행2. brew intall git 입력3. git ‒version 입력해 확인4. Config 설정 (User Name / User Email 설정) 5.설치완료 Git 초기설정로컬에서 사용할 Git 사용자 이메일과 이름을 설정한다. 이메일을 세상에 단 한가지만 존재할 수 있기때문에 효과적인 Identification 기호이다. 해당 설정을 바꾸면 git을 통해서 적용되는 commit들에 본인의 email이 tag된다.  GIT config에 이름와 메일 초기설정하기git config : Git에 관한 설정을 추가/변경/삭제하는 명령어 System 설정 파일 : 모든 시스템 사용자에게 적용 (git conf..
SQL과 NoSQL NoSQL관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는데 특화된 저장소스키마 없이 사용간ㅇ하거나 느슨한 스키마를 제공하는 저장소 전통적인 **관계형 데이터베이스 관리 시스템(RDBMS)**은 분산 데이터베이스와 같은 방식으로 데이터를 수평적으로 확장하는 것이 본질적으로 어렵습니다. RDBMS는 ACID(Atomicity, Consistency, Isolation, Durability) 특성을 유지하며 데이터의 일관성과 무결성을 보장하는 데 최적화되어 있는데, 이 특성 때문에 데이터베이스를 여러 노드에 분산하는 데 있어 몇 가지 중요한 제약이 있습니다.RDBMS의 확장성 제약수직 확장(Vertical Scaling)에 의존:전통적으로 RDBMS는 하나의 강력한 서버에서 실행되도록 ..
인프라 확장 스케일업 : 단일 서버(하드웨어)의 성능을 증가시켜 더 많은 요청을 처리하는 방법 스케일아웃 : 동일한 사양의 새로운 서버(하드웨어)를 추가하는 방법일반적으로, 스케일업을 할때에는 서비스 중단이나 추가적인 하드웨어 비용이 발생한다. RDBMS는 스케일 업을 하기위해서는 새로운 서버에 기존 서버의 데이터를 옮기고 데이터를 정리하는데 번거로운 작업이 필요함.반면, NoSQL은 처음부터 스케일 아웃을 염두에 두고 설계되었기때문에 데이터의 증가나 요청량이 증가하더라도 비슷한 사양의 새로운 하드웨어를 추가하면 문제가없음.   Horizontal Scaling (Scale-Out)What It Is: Horizontal scaling involves adding more machines (or nodes) to t..
스프링 부트 환경설정 (스프링 Init, Package, Configuration) 스프링부트Spring Boot는 Spring Framework의 모든 기능을 포함하면서도, 개발자가 빠르게 개발을 시작할 수 있도록 추가적인 지원과 도구를 제공합니다. spring initializer(https://start.spring.io/)를 사용한자동 설정을 통해 Spring boot project의 구조를 알아서 만들어준다.  Spring 애플리케이션 구성을 간소화합니다. 반면, Spring Framework는 수동으로 빈을 구성하고 의존성을 주입해야 합니다. 스프링부트 프로젝트 생성spring initializer : 스프링 기반으로 프로젝트를 만들어주는 스프링 부트 사이트 (https://start.spring.io/)Project (빌드관리도구) : 라이브러리를 관리해주고 빌드 및 실행을..
Test 코드 작성 테스트 시작 전 점검Fuctionaly Prototype comes First. 테스트 코드를 아무리 잘짜더라도 특정한 기능이 Missing되는 부분은 테스트 코드로 잡아줄 수가 없다. 우선은 요구하는 기능이 제대로 동작하는지 Manual Testing이 선행되고 CoreFunction이 제대로 동작하는지 확인이 완료된 후에 테스트코드가 의미가 있다. 그렇지 않으면 테스트코드도 다 수정해야됨.테스트의 중요성과거1. 방식 : 자동화하기어려운 sql중심의 코드들이 많아, 테스트케이스를 개발자가 직접 만들고, 기능을 동작시켜보는 식으로 수동적으로 진행.  2.관점 : 해당 방식은 1회성 외주 개발 후 철수하는 방식으로 진행되어, 코드의 품질보다는 기능적 완성도만 점검하는 방식이며 코드의 유지보수성에 대해서는 ..
Command-Line Instructions(CLI) Windows EnvironmentWindow CLIpip install package_name : the Python package installer, to install a Python package (library)python my_script.py : runs a Python script (my_script.py in this case) using the Python interpreter.python -m venv new_environment : run a python module called venv to run virtual environment called new_environmentdir - Lists the files and directories in the directory.cd pat..