본문 바로가기

기초지식25

형상관리 란? ▏형상관리(Software Configuration Management) - 변경사항을 체계적으로 추적, 통제하는 것을 말한다. 자세히 설명하자면, 어떤 문서나 파일이 변경되었을 경우 변경된 내역을 기록해두고 나중에 이를 찾아야 할 경우에 변경 원인과 변경 사항 을 확인하는 것 이다. - 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술분야의 형태로 넓히는 근간이다. ▏버전관리 형상관리 중에 문서, 소스코드 등 버전을 관리해주는 버전관리시스템이다. 일반적으로 우리가 알고있는 형상관리가 이 버전관리라고 생각하면 된다. - 변경점 관리 : 여러 사용자들이 release한 시점을 관리 - 버전 관리 : 특정 시점에 꼬리표(Tag)를 달아 버전을 표시, 브랜치(branch)를 여러 버전을 개.. 2022. 1. 11.
Socket (소켓) 이란? 네트워크 소켓(network socket)은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. > 프로세스가 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 하는 것 이다. 따라서 프로세스가 데이터를 주고받기 위해서는 반드시 소켓을 열어 소켓에 데이터를 쓰거나 읽어들여야 한다. 소켓 통신의 흐름 소켓은 프로토콜, ip주소, 포트넘버로 정의 * 프로토콜 : 어떤 시스템이나 다른 시스템과 통신을 원활하게 해주는 통신규약 * ip : 전세계 컴퓨터에 부여된 고유 식별 주소 * port : 네트워크 상 통신하기 위해 호스트 내부적으로 프로세스가 할당 받아야하는 고유 숫자. 한 호스트 내 프로세스를 식별하기 위한 값으로 같은 호스트 내에서 다른 프로세스가 .. 2022. 1. 5.
WEB / WAS 란? ▏WEB ( Web Server ) 클라이언트가 서버로 페이지 요청을 할 때, 요청을 받아 정적인 컨텐츠를 제공하는 서버다. 정적인 컨텐츠는 무엇인가 ? 서버에 미리 저장될 파일들로, 예를들면 html, css, js 같은 것들이다. 정적인 컨텐츠의 특징은 어느 사용자에게나 동일한 결과값을 보여준다. 따라서 빠르다는 장점이 있으나 서비스가 한정적이며 추가.수정.삭제의 작업들을 모두 수동으로 해야한다는 단점이 있다. 그렇다면 어떻게 요청 하는가 ? 브라우저가 http를 통해 파일을 요청하여 웹서버에 도달하면 http server는 요청된 문서를 http를 통해 보내준다. HTTP 란 ? 문자로된( Textual ) 독립적 프로토콜 ( Stateless ) - Textual : 모든 명령어들은 기본문자로 사.. 2021. 11. 30.
Git 명령어 파헤치기 내가 여러 프로젝트들을 하면서 git의 중요성을 뼈저리게 느꼈다. 처음 개발자가 되기로 마음먹고 공부하고 프로젝트들을 시작했을 당시엔 github를 알지 못해 팀원들과의 협업 과정에서 코드 충돌이 매우 많았다. 이뿐 아니라 애초에 코드 통합하기 위한 과정에서부터 매번 압축을 하고 메일로 주고받아야 하는 불편함도 있었다.  처음 git을 알고 나선 명령어가 어려워 GitHub Desktop을 사용하여 버튼으로 간편하게 했었다. 이렇게 익숙해진 후 명령어도 배워보고자 해서 구글링을 통해 명령어를 공부하고 프로젝트하며 사용해보니 이젠 간단한 명령어들은 거의 외워 사용하는데 어려움 없이 잘 쓰고 있다. 이렇게 익숙해진 지금, 오늘 그 명령어를 정리해보려고 한다. 순서 정리 없이 생각나는 것들을 나열할 거라 보는.. 2021. 9. 28.
윈도우 포트 죽이기 프로젝트를 하면서 이미 사용중인 포트라서 실행 할 수 없다는 에러를 종종 겪었다. 그 때 마다 인터넷에서 검색해 하다보니 나도 모르게 명령어가 외워졌다. 그래서 오늘은 그 명령어를 정리하려고 한다. 현재 실행중인 port 찾기 netstat 실행중인 port 표시, 프로세스 PID(id) 표시 netstat -a -o {pid} 프로세스 PID(id) kill taskkill /f /pid {pid} 2021. 6. 30.
ORM이란 무엇인가? "ORM" 그것이 알고싶다. ORM : Object Relational Mapping OOP(객체지향프로그래밍)에서 사용하는 객체 개념의 클래스와 RDB(Relation DataBase)에서 사용하는 데이터인 테이블을 매핑(연결) 해주는 것 이다. 쉽게 말해, 객체-관계 매핑을 의미한다. SQL구조의 데이터를 OOP적 구조의 형태로 매핑 시키게 되면 데이터를 다루는 방식의 차이에서 불일치가 발생하게 되는데, 이를 해결하기 위해 ORM을 통해 SQL문을 자동으로 실행하여 불일치를 해결한다. 따라서 ORM을 사용한다면 SQL문을 직접 짤 필요없이 데이터베이스를 조작할 수 있게 된다. ORM의 장단점 장점 객체지향적 코드로 개발자가 더 집중하게 해준다. 데이터 베이스를 SQL문이 아닌 클래스의 메서드를 사용하.. 2021. 5. 6.
JPA란 무엇인가? JPA를 제대로 이해하기 위해서는 ORM의 개념을 먼저 이해해야 한다.ORM은 객체와 관계형 데이터베이스를 자동으로 매핑(연결)해주는 역할이다.자세한 내용은 ORM 포스트에서 보면 된다.  JPA란 Java Persistence API로, 프로그램을 종료한 후에도 데이터가 남아있는, 데이터 지속성 기능을 제공한다.java 기반의 ORM을 사용하기 위한 인터페이스를 모아둔 것으로, 가장 많이 사용하는 구현체에는 Hibernate 가 있다.  내가 작년 2020년 말에 airbnb 클론코딩 프로젝트를 만들었다.그 과정에서 숙소, 회원 등의 정보들을 Mybatis를 사용하여서 많은 VO, DAO등을 반복적으로 만들었고, SQL문들을 직접 작성하면서 많은 문법적인 이슈들이 발생했다. public class Ai.. 2021. 5. 2.