전체보기101 Git cherry-pick 활용하기 git cheery-pick은 다른 브랜치의 특정 커밋을 선택적으로 적용할 때 사용하는 명령어이다. cherry-pick을 직접 사용해보는 경험을 포스팅할 것이다. 주의사항cheery-pick은 새로운 커밋을 생성하므로 커밋이 중복되거나 커밋 내역이 지저분해질 수 있다. 여러 브랜치사이에서 부분적으로 커밋을 적용하고 싶을 때 사용되지만 가능하면 전체 브랜치를 병합하는 것이 관리면에서는 깔끔할 수 있다. # 특정 커밋을 가져오는 명령어git cherry-pick 커밋해시# 범위를 설정하여 커밋을 가져오는 명령어(맨 처음 작성한 커밋해시는 적용되지 않는다. 그 이후의 커밋해시만 적용된다)git cherry-pick 커밋해시..커밋해시..커밋해시# 개별적으로 여러 커밋 가져오기git cherry-pick 커밋.. 2024. 9. 23. Git 충돌 해결하기 Git을 사용하다보면 Merge와 Rebase 상황에서 충돌이 발생하는 경우가 생길 수 있다. 충돌이 일어나는 상황을 직접 만들어 본 후 문제를 해결할 것이다. Merge와 Rebase의 충돌이 일어나는 케이스는 대부분 비슷하기 때문에 하나의 시나리오를 가지고 진행할 것이다. 시나리오 : master 브랜치와 dev 브랜치에서 같은 파일을 서로 수정한 상황ㅇMergemaster 브랜치에 text.txt 파일을 준비한다. 파일 안에는 "hi git"이라는 내용이 담겨 있다. 브랜치를 하나 생성 해준뒤 text.txt 파일을 master에서는 "hi"로 dev1에서는 "git"으로 수정하고 commit 후 merge한다. dev 브랜치에서 파일을 수정하고 커밋하는 과정이다. master 브랜치도 commit.. 2024. 9. 21. CS 오토 스케일링(Auto Scaling)이란 오토 스케일링(Auto Scaling)은 클라우드 컴퓨팅 환경에서 시스템의 부하나 트래픽의 변화에 따라 자동으로 리소스의 수를 조정하는 기능이다. 애플리케이션이나 서비스가 고가용성과 성능을 유지하면서 효율적인 비용으로 운영될 수 있도록 돕는다. (클라우드의 유연성을 극대화 하는 핵심 기술이라 할 수 있다.) ㅇ 스케일링(Scaling)스케일링이란 컴퓨팅 시스템에서 성능과 처리능력을 향상시키거나 감소시키는 과정을 말한다. 클라우드 환경에서는 VM 인스턴스 또는 VM 인스턴스의 컴퓨팅 파워를 늘리는 것을 말한다. 스케일링의 종류 스케일 업(Scale Up)서버에 더 많은 리소스(CPU, 메모리, 스토리지)를 추가하여 성능을 향상 시키는 방법(쉽게 컴퓨터 사양을 업그레이드 한다고 생각하면 된다.)클라우드 환경.. 2024. 9. 19. JAVA 변수 ㅇ 변수의 종류변수의 종류에는 멤버 변수와 지역변수로 구분할 수 있고, 멤버 변수는 인스턴스 변수와 클래스 변수로 구분할 수 있다. 인스턴스 변수static이 붙지 않은 멤버 변수, 멤버 변수는 인스턴스를 생성해야 사용할 수 있고, 인스턴스를 만들 때 마다 새로 만들어진다.클래스 변수정적, static, 클래스 변수라고 부른다. static 키워드가 붙어있는 멤버 변수는 인스턴스와 무관하게 클래스에 바로 접근해서 사용이 가능하다. 클래스 자체에 소속되어 있다.지역 변수메서드 블럭안에 생성된 변수다. 메서드의 파라미터로 사용되는 매개 변수도 지역변수다. 메서드가 종료되면 사라진다.ㅇ 변수의 생명주기인스턴스 변수인스턴스 내부에 존재하는 멤버 변수를 인스턴스 변수라고 한다. 인스턴스는 힙 영역을 사용하기 때문.. 2024. 9. 19. JAVA 메모리 구조 자바의 메모리 크게 3가지로 나눌 수 있고 간단하게 설명하면 아래와 같다.메서드 영역: 클래스 정보를 보관한다.스택 영역: 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다.힙 영역: 객체(인스턴스)와 배열이 생성되는 영역이다. new 명령어를 사용하면 이 영역을 사용한다. ㅇ 자바의 메모리 구조메서드 영역(Method Area)메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 프로그램의 모든 영역에서 공유한다.클래스 정보: 클래스의 실행 코드(바이트코드), 필드, 메서드, 생성자 등 모든 실행 코드가 존재한다.Static 영역: static 변수들을 보관한다.런타임 상수 풀: 공통 리터럴 상수를 보관한다. 리터럴 문자가 있으면 공통으로 묶어서 관리하고, 이 외.. 2024. 9. 19. JAVA 캡슐화(Encapsulation) 캡슐화(Encapsulation)캡슐화는 객체 지향 프로그래밍의 중요한 특징 중 하나다. 속성과 기능을 하나로 묶어 외부에 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는 것을 말한다. 캡슐화를 통해 데이터의 직접적인 변경을 방지하거나 제한할 수 있다. ㅇ 속성객체에는 속성이 존재한다. 캡슐화에서 가장 필수로 숨겨야 하는 것은 속성이다. 객체 내부의 데이터를 외부에서 접근이 가능하게 한다면 클래스 안에서 데이터를 다루는 모든 로직을 무시하고 데이터를 변경할 수 있기 때문에 캡슐화가 깨질 수 있다. 개발자가 의도하는데로 프로그램이 동작하지 않을 수 있다. 예를 들어 우리가 Tv를 개발하고 있다는 가정을 해보자 Tv의 채널은 5번을 넘어가게 되면 폭발한다. 그렇다면 Tv의 채널을 5번이 넘어가지 않게 설.. 2024. 9. 18. Spring Mybatis 페이징 처리 이해하기 2 스프링을 이용한 웹 애플리케이션에서 페이징 처리 해보기(DB:mySQL) 2024.09.11 - [Spring] - Spring 페이징 처리 이해하기 1ㅇ 응답 DTO 만들기매퍼에서 가져오는 todo의 목록과 전체 데이터의 수를 한번에 담아 서비스 계층에 전달하기 위한 DTO를 만든다.제네릭을 이용하여 설계한 이유는 단지 todo의 페이지 처리만이 아닌 공통적인 처리를 위한 것이다.생성자를 이용해 정보를 처리한다. ㅇ 페이지 번호 계산페이지 번호를 계산하기 위해서는 현재 페이지의 번호가 필요하다. 화면에 10개의 페이지 번호를 출력한다고 가정하면 다음과 같은 경우의 수가 생긴다. page = 1 : start : 1, end : 10page = 10 : start 1, end : 10page = 11 .. 2024. 9. 11. Spring Mybatis 페이징 처리 이해하기 1 스프링을 이용한 웹 애플리케이션에서 페이징 처리 해보기(DB:mySQL)2024.09.11 - [Spring] - Spring 페이징 처리 이해하기 2 ㅇ 더미데이터 추가하기테이블을 하나 생성하고 테스트를 위한 더미데이터를 추가한다.(테이블에 대한 vo클래스와 dto클래스도 준비가 되어있어야 한다.)테이블을 생성한다.재귀 복사를 이용하여 더미 데이터를 추가한다# 재귀 복사는 기존의 테이블의 내용을 다시 같은 테이블로 insert하는 방식이다.insert into tbl_todo (title, dueDate, writer)(select title, dueDate, writer from tbl_todo); # 카운트를 사용하여 tno의 개수를 확인한다.# 페이징 처리를 위해선 전체 데이터의 개수도 필요하기 .. 2024. 9. 11. CS Cloud VS On-Premise ㅇ Cloud(클라우드 컴퓨팅)클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 리소스(서버, 저장소, 네트워크)등을 제공 받아서 사용하는 방식이다. 사용자는 필요에 따라 자원을 임대하여 사용하며, 별도의 물리적 하드웨어나 인프라를 직접 관리할 필요가 없다. 클라우드는 확장성과 유연성을 제공하며, 서비스 제공 업체가 하드웨어와 소프트웨어를 관리하고 유지 보수하는 책임을 가진다. 대표적인 서비스 제공 업체로는 AWS, Microsoft Azure, Google Cloud 등이 있다. cloud의 장점비용 절감초기 비용 절감: 물리적 서버나 데이터 센터를 구축할 필요 없이, 필요한 만큼의 리소스를 제공 업체에서 임대할 수 있어 구축 비용을 절감할 수 있다.운영 비용 절감: 사용한 리소스만큼의 비용을 지불하는 종량제 요.. 2024. 9. 10. 이전 1 ··· 7 8 9 10 11 12 다음