일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- List.of
- 인텔리제이
- java
- 프로그래머스
- String.valueOf()
- Spring MVC 동작원리
- 버블정렬
- 구간합구하기
- GCP
- 클라우드에서 도커 실행하기
- 코드스테이츠
- 백준
- Spring Web MVC
- OOP
- 알고리즘
- 11659
- 투포인터알고리즘
- MySQL
- 코딩테스트
- Spring MVC 구성요소
- vm인스턴스생성
- 백준 11659
- 스택
- 성능테스트툴
- 코드스테이츠 백엔드
- Array.asList
- 재귀와반복문
- 재귀함수
- 자바
- 싱글톤패턴
- Today
- Total
목록Development (41)
순간을 기록으로
안녕하세요. 이번 시간에는 저번에 포스팅했던 GCP에 올려놓은 cpu 바운드 애플리케이션의 성능을 측정해 보겠습니다. 성능을 측정하기 위해 스트레스 테스트 툴인 아틸러리(Artillery)를 사용하겠습니다. 아틸러리를 사용하기 위해서는 우선 nodejs를 설치해야 합니다. 1. NodeJS를 설치하기 혹시 nodejs가 설치되어 있을 수 있으므로 터미널에 node를 입력해봅니다. 만약 버전이 뜬다면 설치가 되어있는 상태입니다. 설치가 되어있지 않으면 구글에 nodejs를 입력하고 LTS버전의 인스톨러를 다운로드하여 설치합니다. 그리고 터미널에서 node -v를 입력하여 버전이 뜨면 설치가 정성적으로 된 상태입니다. 2. 아틸러리 스크립트 폴더를 만들고 VSCode에서 열기 앞으로 작성할 아틸러리 스크립트..
안녕하세요. 이번 시간에는 GCP를 이용하여 메이븐 프로젝트를 배포하는 방법을 배워보겠습니다. 아래의 설명은 저의 프로젝트 명, 저의 깃허브 주소 등을 기준으로 설명되어 있으니 직접 해보신다면 본인의 프로젝트명, 본인 깃허브 등으로 진행해주시면 되겠습니다. 1. 메이븐 프로젝트를 jar파일로 만들기 오른쪽 위 Maven 클릭하기 cpu -> Lifecycle -> deploy 더블 클릭하기 왼쪽 target 디렉토리 안에 .jar 파일이 생성됩니다. 만약 정상적으로 생성이 안된다면 프로젝트를 우클릭해서 reload from disk를 클릭하면 정상적으로 생성됩니다. 2.GCP 인스턴스에서 jar파일을 다운받을 수 있도록 Github에 올리기 로컬에 mkdir deployTest 디렉토리 생성 디렉토리 안..
얕은 복사(Shallow Copy) 객체의 주소값만을 복사하는 것 주소 값이 같으므로 한쪽에서 값을 바꾸면 다른 쪽에서도 값이 바뀐다. 장점 하나의 객체만을 사용하기 때문에 메모리 낭비가 발생하지 않는다. 단점 여러 객체가 하나의 배열을 가리키기 때문에 값 변경할 때 실수가 발생할 수 있다. public class Solution { public static void main(String[] args) { int[] a = {1, 2, 3, 4, 5}; int[] b = a; System.out.println("a의 주소값: " + a); System.out.println("b의 주소값: " + b); } } 깊은 복사(Deep Copy) 객체의 실제값을 새로운 객체를 만들어서 복사하는 것. 주소 값이 ..
1.SSH 버튼을 눌러서 기존에 생성한 VM 인스턴스 접속하기 만약 VM인스턴스 생성 방법을 모른다면 아래 링크로 들어가서 먼저 생성합니다. https://kchs94.tistory.com/165?category=1034519 [GCP] GCP에서 VM인스턴스 생성하고 접속하기 | 클라우드 1. Compute Engine > VM 인스턴스 누르기 2. 결제 사용 설정 누르기(최초의 경우) 3. 'My First Project' 프로젝트의 결제 계정 설정 팝업에서 계정 설정 누르기(최초의 경우) 기다리면 컴퓨터 엔진을 사용할 kchs94.tistory.com 2. VM인스턴스 안에 도커 설치하기 CLI 창이 떳다면 아래 명령어를 입력하여 도커를 설치합니다. sudo yum install docker 중간에..
오버 라이딩(Overriding) 정의와 필요성 오버 라이딩은 조상클래스로부터 상속받은 메소드의 내용을 변경하는 것을 말합니다. 상속받은 메소드를 그대로 사용하는 경우도 있지만, 때에 따라서는 자손 클래스에 맞게 내용을 재정의할 필요가 있습니다. class Point { int x; int y; String getLocation() { return "x: " + x + ", y: " + y; } } class Point3D extends Point { int z; @Override String getLocation() { return "x: " + x + ", y: " + y + ", z: " + z; } } 위의 예시는 Point 클래스의 getLocation() 함수를 Point3D에서 오버라이딩한 ..
개요 배포를 공부하면서 클라우드를 사용하게 되었고 기본적인 개념이 필요해서 작성하게 되었습니다. 용어 정리 가상화(virtualization): 소프트웨어를 사용해서 한 컴퓨터 안에 있는 하드웨어 자원(cpu, 메모리, 스토리지 등)을 가상머신(VM,가상서버)이라고 불리는 다수의 가상 컴퓨터에게 분할해서 나누어 줄 수 있도록 하기 위해, 컴퓨터 하드웨어에서 추상화 계층을 만드는 것. 실제 기반 컴퓨터 하나만 실행되지만, 각각의 vm에서 운영체제를 실행하여 마치 여러 대의 컴퓨터가 동작하는 것 처럼 만들 수 있다. 결국 가상화의 목적은 물리적인 하드웨어 자원을 효율적으로 사용해서 하드웨어 ROI(투자 수익율)을 올릴 수 있습니다. 오늘날 가상화 기술을 사용하는 클라우드 제공자(aws, gcp)는 물리적 컴..
1. Compute Engine > VM 인스턴스 누르기 2. 결제 사용 설정 누르기(최초의 경우) 3. 'My First Project' 프로젝트의 결제 계정 설정 팝업에서 계정 설정 누르기(최초의 경우) 기다리면 컴퓨터 엔진을 사용할 준비가 됩니다. 4. 인스턴스 만들기 누르기 5. 생성할 인스턴스 설정하기 이름: 인스턴스 이름을 지정합니다. 기본적으로 instance-1~5 이런 식으로 지정됩니다. 기본으로 하겠습니다. 라벨: 인스턴스가 어떤 성격의 인스턴스인지 구분해주는 값입니다. 리전(region): 인스턴스가 위치할 특정한 지리적인 위치를 지정합니다. 실제로 인스턴스 해당 지역에 설치됩니다. 기본으로 하겠습니다. 영역(area): 각각 물리적으로 구분된(떨어진) 영역을 의미합니다. 한 리전 안..
IDE(Integration Development Environment, 통합개발환경) IDE란 통합개발환경을 말합니다. 즉, 개발에 필요한 여러 가지를 모아둔 것이라고 볼 수 있는데요. 개발할 때에는 텍스트 에디터, 컴파일러, 인터프리터, 디버거 등 다양한 도구들이 필요합니다. IDE는 이러한 여러 가지 도구들을 한 번에 제공하는 프로그램이라고 볼 수 있습니다. 텍스트 에디터(Text Editor, 문서 편집기)란 단순히 텍스트 파일을 편집할 수 있는 소프트웨어를 말합니다. 예를들면 윈도우의 메모장도 텍스트 편집기 중 하나입니다. 컴파일러(Compiler)란 개발자가 작성한 소스코드를 컴퓨터가 읽을 수 있는 기계어로 바꿔주는 프로그램입니다. 컴퓨터는 high-level 언어를(자바, 파이썬 등) 이해할..