전체 글206 팀 프로젝트가 끝난 후, 해당 소스코드를 내 GitHub로 옮겨와서 이어가는 방법 팀 프로젝트의 repository(==repo라고 부른다.)를 나의 GitHub로 가져오고 싶었다. 소스코드가 다른 멤버의 깃허브에 있었고 가져와서 좀 더 develop하고 싶은 마음에 다른 멤버의 소스 코드에 영향을 주고 싶지 않았다. 단, 과거의 commit, branch 그리고 tag history는 그대로 살려오고 싶었다. 그 방법을 잘 정리해둔 블로그를 보았고 내 관점에서 다시 풀어 블로그에 기록하고 찾아보려 포스팅을 한다. STEP 1. 오리지널 repo의 소스코드를 clone한다. [가져오려는 멤버(내가 아닌) GitHub에 repo를 내 PC로 복붙하는 방법!!] 나의 GitHub에 repo(폴더)를 만들고 '내 폴더'에 내가 관리하려는 폴더를 같은 이름으로 만들었다. cmd 창에서 '내 .. 2022. 11. 16. SDK, API 개념과 차이점 API란? (Application Programmimg Interface) 모듈화하여 만들어진, 어떤 기능을 제어/제공하는 인터페이스 우리가 사용하는 대부분의 애플리케이션은 API에 의존하고 있다. SDK란? (Software Development Kit) 소프트웨어 개발 도구 모음 SDK는 API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티가 포함될 수 있다. SDK는 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합이다. 예) IOS SDK를 다운로드하면 개발자에게 IOS 애플리케이션을 만드는 데 필요한 모든 도구가 제공된다. API SDK 목적 소프트웨어 연결 및 통합 다양한 개발 도구 포함 형질 가볍고 빠르며 전문화되어 있음 더 견고함, 많은 유틸리티를 포함 사용사례 애플리케이.. 2022. 11. 8. [JS #3] 바닐라 JS로 크롬 앱 만들기 # 3.2 Searching For Elements getElementById는 querySelector("#hello form")처럼 id=hello 하위에 있는 form을 가져오지 못한다. querySelector(".hello h1")은 class=hello에 h1이 여러개 있다면, 첫 번째 h1만 가져온다. 다 보고 싶다면 querySelectorAll을 사용한다. querySelectorAll은 array를 반환해준다. # 3.3 Event js 파일이 있기 때문에 js를 통해서 html의 내용을 가져올 수 있다. html이 js파일을 load하기 때문에 document가 존재한다. -> browser가 우리를 document에 접근할 수 있게 해준다. - element의 내부를 보고 싶으면 c.. 2022. 11. 8. [devtools] - Intellij에 적용하는 방법 1. devtools 적용법 build.gradle을 선택하고 developmentOnly를 넣어준다. 2. file - settings에서 아래와 같이 체크한다. 2022. 10. 30. [스프링 부트 설치] - intellij와 연동 1. 자바 11 버전 설치 && 사이트 접속 초보자는 자바 11버전을 설치하는 것이 막힘이 없이 수행할 수 있기 때문에 11버전 추천! https://start.spring.io/ 2. Spring Boot 설정 Maven Project는 XML을 사용하는데 잘 사용하지 않고 요즘은 Gradle Project를 설치한다고 한다. Spring Boot에서 SNAPSHOT, M1의 경우 아직 만들고 있는 중이거나 정식 release되지 않은 것이라서 선택하지 않고 높은 버전인 2.7.5로 선택했다. Project Metadata에서 Group은 보통 기업 도메인명을 쓰면 된다. Artifact에는 보통 프로젝트명을 쓰고 빌드되어 나올 때 결과물이다. packaging은 웹을 개발할 때, war를 선택한다. .. 2022. 10. 28. 세션(Session) HTTP 기반으로 동작하는 클라이언트가 서버에 정보를 요청할 때 생성되는 "상태 정보"를 세션이라고 합니다. 세션은 HttpSession이라는 인터페이스 객체로 표현되며, HttpSession 객체는 HttpServletRequest의 getSession()이나 getSession(true) 메소드를 이용하여 생성할 수 있습니다. HttpSession 객체가 생성될 때는 요청을 보내온 클라이언트 정보, 요청 시간 정보 등을 조합한 세션 ID가 부여되며, 이 세션 ID는 클라이언트 측에 쿠키 기술로 저장됩니다. HttpSession객체는 서버에 생성되며, 클라이언트에는 세션 ID가 쿠키 기술로 저장되어 각 클라이언트에 대하여 생성되는 HttpSession 객체를 클라이언트마다 개별적으로 유지 및 관리합니다.. 2022. 10. 20. 쿠키 클라이언트 단위로 상태정보를 유지해야 하는 상황이 많다. 예를 들어 이전에 방문한 적이 있는 웹서버에 다시 방문했을 때 몇 번째 방문인지를 출력하는 상황 회원가입 화면에서 자동으로 주소, 전화번호 등이 입력되는 상황 로그인하고 난 후 로그아웃할 때까지 인증 상태 유지 쇼핑몰에서 주문할 때까지 장바구니에 선택한 상품 정보들 유지 쇼핑몰에서 클라이언트가 체크했던 상품 정보 유지 포탈 사이트에서 클라이언트가 특별히 관심 있어 하는 항목에 대한 정보 유지 이처럼 클라이언트 단위로 상태정보를 유지하게 하려면 쿠키와 세션을 사용합니다. 쿠키와 세션은 다음과 같은 기준에 따라 선택하여 사용합니다. 상태정보의 유지 기간이 브라우저가 종료될 때까지인지의 여부 유지하려는 정보의 저장 위치(서버, 클라이언트) 유지하려는 정.. 2022. 10. 20. 옵티마이저 Optimizer : SQL 실행계획을 수립하고, SQL을 실행하는 데이터베이스 관리 시스템의 소프트웨어 같은 SQL문이더라도 어떻게 실행하냐에 따라 성능이 달라진다. (소요시간, 자원사용량 등) =>SQL문을 분석한 후 일정한 기준을 통해 실행계획을 세워줘야함. 이때 사용되는 것이 옵티마이저! SQL문 작성 - Parsing(문법 검사, 구문 분석) - 옵티마이저 (비용기반/규칙기반) - 실행계획(plan_table 저장) - SQL 실행 1. 옵티마이저는 '비용기반 옵티마이저'와 '규칙기반 옵티마이저'가 있으며, 최신 오라클은 비용기반을 default로 사용한다. 2. 비용기반 옵티마이저는 시스템 통계와 오브젝트 통계를 통해 해당 SQL문 실행에 대한 총 비용을 계산하고, 총 비용이 가장 적은 쪽으로.. 2022. 10. 17. window 함수, 계층형 조회 window함수: 행간 구분을 지어서 그 안에서의 관계를 쉽게 정의하기 위한 함수. 구조 : select window_function (arguments) over ([partition by 컬럼명][order by 컬럼명][windowing]) from 테이블명; ex) select 매장코드, 지역명, 메뉴명, 판매량, dense_rank() over (partition by 지역명 order by 판매량 desc) as 판매순위 from 판매 window_function : 윈도우 함수 argument : 인수 ( 컬럼명 등 함수의 작업이 이뤄지는 대상) partition by : 테이블의 레코드들을 쪼개는 기준 order by : 쪼개진 레코드들 내에서 혹은 전체 테이블에서 레코드들을 어떤 기준으로.. 2022. 10. 14. NULL 관련 함수 NVL(col1, 대체값) : NULL이면 다른 값으로 바꿔주는 함수. ISNULL도 같은 역할! 표현식 두개의 데이터 타입이 같아야 함. ex) NVL(col1, 100) >> col1이 null이면, 100으로 바꿔줌 NVL2(col1, 결과1, 결과2) : col1이 NULL일 때,NVL2(col1, 'F', 'T') >>'T'출력. col1이 NOT NULL일때 'F'출력 NULLIF(v1, v2) : v1 == v2면 NULL, v1 != v2면 v 1을 출력 COALESCE(v1, v2, v3...vn) : NULL이 아닌 최초의 값을 반환. 2022. 10. 12. [SQL] TCL TCL(Transaction Control Language) : 트랜잭션을 제어하기 위한 언어 * 트랜잭션: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위 COMMIT : 데이터에 대한 변화를 DB에 반영하기 위한 명령어 SAVEPOINT : 코드를 분할하기 위한 저장 포인트 지정 ROLLBACK : 트랜잭션이 시작되기 이전의 상태로 되돌리기 위한 언어. 최신 COMMIT이나 특수한 SAVEPOINT로 되돌릴 수 있는 명령어. 트랜잭션의 특징 고립성: 트랜잭션이 실행되는 동안 다른 트랜잭션에 영향을 받아 잘못된 결과를 만들어선 안된다. 원자성: 트랜잭션에서 정의된 연산은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 있어야 한다. 지속성: 트랜잭션이 성공적으로 완료되면 해당 트.. 2022. 10. 12. IP & TCP/UDP & PORT & DNS IP (Internet Protocol) 출발지IP, 도착지IP와 데이터 등을 갖고 있는 패킷이 송수신된다. 패킷(Packet)이라는 통신 단위로 데이터가 클라이언트와 서버 사이에서 전달된다. IP 프로토콜의 한계 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태(ex. 상대방 pc가 off 상태)여도 패킷 전송. 비신뢰성 : 패킷이 소실되거나 전달 순서가 보장되지 않는다. 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상(내가 사용하고 있는 PC에서 음악도 듣고 게임도하고 여러가지 일을 동시 수행한다는 뜻)이면 구분하지 못한다. TCP (Transmission Control Protocol : 전송 제어 프로토콜) 연결지향 - TCP 3 way handshake (.. 2022. 10. 8. 이전 1 ··· 14 15 16 17 18 다음