전체 글

전체 글

    Jmeter를 활용한 서버 부하 테스트

    Jmeter는 Apache에서 재공하는 웹사이트 성능 측정을 할 수 있는 오픈소스 라이브러리다. [다운로드 링크] Apache JMeter - Download Apache JMeter Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be ava jmeter.apache.org 만약 자바가 설치되어 있지 않다면, ..

    [스프링 부트] windows & linux에서 파일 절대 경로 맞추기

    로컬 pc로 스프링 부트 프로젝트를 작업하다가, aws ec2로 배포하게 되면 운영중인 rds나 데이터베이스에 대한 세부정보를 외부로부터 숨겨야한다. (비밀번호 등등) 다양한 방법이 있겠지만, 나는 내 로컬 pc와 linux의 절대 경로를 활용했다. 나는 rds와 mariadb 정보가 담겨있는 yml 파일을 따로 로컬과 linux app 폴더에 저장한 뒤, 스프링 부트의 application.java에서 조건문으로 나눠줬다. 자바에서는 'os.name'에 대한 프로퍼티를 시스템에서 얻으면 내가 어떤 운영체제를 활용하고 있는지 값을 받아올 수 있다. String os = System.getProperty("os.name").toLowerCase(); 만약 로컬(윈도우)라면 os에는 "win"이 저장된다. ..

    [Git] default 브랜치는 master에서 main으로 변경되었음

    현재 많은 Git 명령어 정보들이 'master' 브랜치를 이용하고 있다. 하지만 최근 프로젝트 생성 시 기본 브랜치가 'main'으로 변경되면서 혼동되는 경우들이 존재한다. "There isn't anything to compare. Nothing to compare, branches are entirely different commit histories" master로 push를 하면 커밋 결과가 제대로 적용되지 않고, main 브랜치와 Compare하는 창이 나온다. 기본 default 브랜치가 main이기 때문에, master로 push를 해도 아직 적용 단계가 안되었기 때문이다. 현재 많은 튜토리얼 들이 master 브랜치가 default인 기준으로 작성되어서 제대로 push가 되지 않는 상황이..

    Spring Boot 동작 환경

    1. 웹 브라우저에서 url(localhost:8080/hello)을 보낸다. 2. url을 받은 내장 톰켓 서버는 맵핑되는 컨트롤러에게 넘겨준다 (→ helloController) 3. 맵핑된 컨트롤러에서 model에 데이터를 담아 return해준다. 4. 컨트롤러가 return으로 반환해주는 model을 viewResolver가 템플릿을 찾아서 뿌려준다. 5. 변환된 html을 다시 웹 브라우저에게 제공해준다. 출처 : 링크 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확..

    [Algorithm] 카페 주문처리 시스템

    손님이 주문한 음료를 우선순위에 맞춰서 저장하여 처리하는 문제 (보안상 링크 및 자세한 설명 생략) 커피 종류는 최대 50개, 서로 다른 난이도를 가짐 하루에 최대 10,000명 손님이 한 명당 최대 10개 주문 가능 (커피 종류 중복 가능) 손님 번호는 1 ~ 100,000 커피 별로 주문 처리 시 우선순위 : 손님 주문 中 가장 높은 난이도 + 주문시각 오름차순 (같으면 주문 시각 오름차순) 주문 최대 호출 1만, 커피 만듬 호출 10만, 취소 호출 1만, 수량 체크 1만 함수 void init( ... ) : 음료 난이도 초기화 void order( ... ) : 손님이 주문한 음료 전송 (시간 포함) int supply(int kind) : kind 음료에서 가장 우선순위 높은 것 제조 (해당 손..

    [Git] Logon failed, use ctrl+c to cancel basic credential prompt

    git으로 push를 할 때 다음과 같은 문구가 뜨면서 로그인을 하라고 창이 뜬다. 어떤 문제인지 찾아보니, Git의 최신 업데이트가 있어서 발생한 이슈였다. bash 창에 `git update-git-for-windows`를 입력하고, 새로운 버전으로 업데이트를 시키면 해결이 가능하다.

    [VSCODE PowerShell] Execution_Policies 문제 해결

    쉘 스크립트에서 정책문제로 명령어 실행이 안되는 경우가 있다. 이 시스템에서 스크립트를 실행할 수 없으므로 ... 스크립트 실행 권한이 제한되어 있기 때문에 발생하는 문제다. 해결 Windows PowerShell을 관리자 모드로 실행 get-help Set-ExecutionPolicy 입력 ExecutionPolicy에 대한 정책을 RemoteSigned로 수정해줘야 한다. Set-ExecutionPolicy RemoteSigned 이제 정상적으로 설치가 진행된다.

    삼성 소프트웨어 역량테스트 PRO등급 준비

    SAMSUNG Software PRO등급 준비 역량 테스트 단계 Advanced Professional Expert 시험 시간 및 문제 수 : 4시간 1문제 Professional 단계부터는 라이브러리를 사용할 수 없다. C/Cpp 경우, 동적할당 라이브러리인 malloc.h까지만 허용 또한 전체적인 로직은 구현이 되어있는 상태이며, 사용자가 필수적으로 구현해야 할 메소드 부분이 빈칸으로 제공된다. (main.cpp와 user.cpp가 주어지며, 우리는 user.cpp를 구현하면 된다) 크게 두 가지 유형으로 출제되고 있다. 실행 시간을 최대한 감소시켜 문제를 해결하라 쿼리 함수를 최소한 실행시켜 문제를 해결하라 결국, 최대한 효율적인 코드를 작성하여 시간, 메모리를 절약하는 것이 Professinal ..

    신입 개발자를 위한 웹사이트를 만들었습니다.

    취업 준비를 하면서 정리했던 컴퓨터 공학 '전공 지식'과 '기술 면접'에 관련된 학습 내용들을 편하게 볼 수 있도록 웹사이트로 만들었습니다. 기존의 Github Repository에서 md파일로 정리해오던 자료들을, Vuepress 테마를 활용하여 GitHub 블로그로 만들고 개인 커스텀 도메인을 연결 완료했습니다. 게시글을 하나하나 작성하지 않고도, 바로 docs 폴더 안에 md파일을 넣어두면 게시글에 markdown 형식이 적용되어 나오기 때문에 UI적으로도 깔끔한 구성이 나와 vuepress를 선택하게 되었습니다. 티스토리와 같이 Gyoogle이라는 이름으로 정했으며, 개발자들이 많이 이용하는 dev로 도메인을 구매했습니다. [링크] Gyoogle gyoogle.dev 개발자의 길을 꿈꾸거나, 취업..

    [알고리즘] 비트마스크(BitMask)

    비트마스크(BitMask) - 집합의 요소들의 구성 여부를 표현할 때 유용한 테크닉 왜 비트마스크를 사용하는가? - DP나 순열 등, 배열 활용만으로 해결할 수 없는 문제 - 작은 메모리와 빠른 수행시간으로 해결이 가능 (But, 원소의 수가 많지 않아야 함) - 집합을 배열의 인덱스로 표현할 수 있음 - 코드가 간결해짐 비트(Bit)란? 컴퓨터에서 사용되는 데이터의 최소 단위 (0과 1) 2진법을 생각하면 편하다. 우리가 흔히 사용하는 10진수를 2진수로 바꾸면? 9(10진수) → 1001(2진수) 비트마스킹 활용해보기 - 0과 1로, flag 활용하기 [1, 2, 3, 4 ,5] 라는 집합이 있다고 가정해보자. 여기서 임의로 몇 개를 골라 뽑아서 확인을 해야하는 상황이 주어졌다. (즉, 부분집합을 의..