프로그래밍

프로그래밍/Java

Java Map의 초기용량을 설정해야 하는 이유

Map을 쓸 때 Map의 초기 용량을 설정하지 않으면 런타임 시동적으로 용량이 확장되어 성능에 영향을 미칩니다. 따라서 Map을 선언할 때 초기 용량을 설정하여 성능을 개선합니다. Map move = new HashMap(32); HashMap은 내부적으로 배열을 사용하여 데이터를 저장하며, 이 배열의 크기를 동적으로 확장하거나 축소합니다. 배열의 크기를 동적으로 변경하는 것은 성능에 영향을 미치므로, 초기 용량을 충분히 설정하여 배열 크기를 자주 변경하지 않도록 합니다. HashMap의 초기 용량을 설정하지 않으면 기본값인 16이 사용됩니다. 초기 용량은 저장할 데이터의 양에 따라 다르게 설정해야 하므로, 정확한 값은 실험적으로 결정해야 합니다. 일반적으로 대용량 데이터를 다룰 때, 초기 용량을 충분히..

프로그래밍

Docker 명령어 옵션 정리

Docker 컨테이너를 실행할 때 사용할 수 있는 옵션은 다음과 같습니다: -d : 컨테이너를 백그라운드에서 실행합니다. 이 옵션을 사용하면 컨테이너를 실행한 후 바로 다음 명령을 수행할 수 있습니다. -p : 호스트 컴퓨터와 컨테이너 사이의 포트를 매핑합니다. 예를 들어 -p 8080:80**는 호스트 컴퓨터의 8080 포트를 컨테이너의 80 포트로 매핑합니다. -e : 컨테이너에서 사용할 환경 변수를 설정합니다. 예를 들어 -e MY_VAR=value**는 컨테이너에서 MY_VAR 환경 변수를 value로 설정합니다. -v : 호스트 컴퓨터와 컨테이너 사이의 디렉토리를 마운트합니다. 예를 들어 **v /host/dir:/container/dir**는 호스트 컴퓨터의 /host/dir 디렉토리를 컨테이..

프로그래밍

Session과 JWT의 차이점과 장단점

Session과 JWT는 웹 애플리케이션에서 사용자 인증 방법에 차이가 있습니다. Session은 서버에서 사용자를 인증할 때 사용하는 방법입니다. 서버는 사용자가 로그인 할 때 사용자 정보를 기반으로 세션을 생성합니다. 이후 세션 ID를 쿠키나 HTTP 헤더에 저장하여 사용자를 식별합니다. 이때 세션 ID는 서버에 저장되며, 서버는 이를 사용하여 사용자를 식별하고 권한을 제어할 수 있습니다. JWT(JSON Web Token)는 클라이언트에서 사용자를 인증할 때 사용하는 방법입니다. JWT는 서버에서 사용자 정보를 기반으로 생성한 토큰입니다. 이 토큰은 서버에 저장되지 않고 클라이언트가 이를 저장하여 사용합니다. 클라이언트는 이 토큰을 서버에 요청할 때마다 서버에 전달하여 인증을 합니다 장단점 Sess..

프로그래밍/Java

비주얼스튜디오 코드에서 Java Compile 하는 방법

요즘은 비쥬얼 스튜디오 코드로 왠만한거는 다 할 수 있는 것 같습니다. 비쥬얼스튜디오 코드로 Java의 단일 파일 컴파을 하기 위한 방법을 알아보도록 하겠습니다. 먼저 확장 패키지에서 java를 검색 해보시면 위 2개의 패키지를 설치해주세요. Open JDK 11.0.2(https://jdk.java.net/archive/)를 설치합니다. JDK 버전이 많지만 해당 버전이 무료로 사용하기에 가장 적합하다고 판단됩니다. 압축 파일을 받으신 뒤 환경변수를 설정해야 하는데요. 많은 사이트에서 설명하고 있어서 생략할까 하다가 간단히 설명드리면 윈도우 버튼 클릭 후 "환경" 이라고 입력하시면 시스템 환경 변수 설정이 나타납니다. 환경 변수 클릭 후 하단의 시스템 변수 텝에서 Path를 클릭 후 편집을 눌러 주세요..

프로그래밍/Tips

비주얼 스튜디오 코드 Prettier 자동 완성 적용 방법

비주얼 스튜디오 코드에서 Prettier를 이용한 자동완성 방법에 대해 알아보겠습니다. 우선 VS Code는 설치해줍니다. 좌측의 확장을 선택한 후 Prettier를 검색하여 설치합니다. 설치 후 윈도우의 경우 ctrl+, 맥의 경우는 command+, 를 입력하여 설정 화면으로 이동합니다. 검색에서 save 를 검색한 뒤 아래 사진과 같은 항목을 체크합니다. 이렇게 설정하시면 자동으로 저장됩니다. 만약에 설정 json이 편하시다면 아래 처럼 설정할 수 있습니다. "editor.formatOnSave": true,

프로그래밍

클린 코드 자바스크립트 번역판

해당 글은 https://github.com/qkraudghgh/clean-code-javascript-ko 님이 번역한 글을 스크랩한 내용입니다. 소개(Introduction) 이 글은 소프트웨어 방법론에 관한 책들 중 Robert C. Martin's의 책인 *Clean Code*에 있는 내용을 JavaScript 언어에 적용시켜 적은 글 입니다. 이 글은 단순히 Style Guide가 아니라 JavaScript로 코드를 작성할때 읽기 쉽고, 재사용 가능하며 리팩토링 가능하게끔 작성하도록 도와줍니다. 여기 있는 모든 원칙이 엄격히 지켜져야하는 것은 아니며, 보편적으로 통용되는 원칙은 아닙니다. 이것들은 지침일 뿐이며 Clean Code의 저자가 수년간 경험한 내용을 바탕으로 정리한 것입니다. 소프트웨..

프로그래밍/Tips

IntelliJ UTF-8로 설정하기

글자 깨짐 현상의 경우 종종 발생하는 경우입니다. 이러한 문제를 해결하기 위해서 아래와 같은 방법 중 편한 방법을 선택하여 적용하시면 됩니다. 1. 설치 파일 문서 수정 IntelliJ가 설치된 위치로 이동합니다. 아마 일반적으로 설치하시면 C:\Program Files\JetBrains 의 안에 있습니다. 제 경우는 2021.3월 버전이어서 C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.2\bin 에 위치해 있네요. 해당 위치로 이동한 뒤 아래의 파일을 열어줍니다. idea64.exe.vmoptions 파일을 열고 가장 밑에 -Dfile.encoding=UTF-8 을 입력해주면 됩니다. 2. 프로그램 내에서 수정 IntelliJ를 ..

프로그래밍/Tips

광고 없는 반디집(6.26) 다운로드

국내 압축 프로그램으로는 알집과 반디집이 있습니다. 반디집의 경우 7.0 부터 프로그램 하단 광고가 추가됐습니다. 사실 이 정도는 다른 프로그램들에 비하면 아주아주 관대하다고 생각합니다. 제 경우는 처음 한 번 압축을 풀면 반디집 관련 프로그램이 실행되어 검색하여 다운로드 받게 됐습니다. 설치 방법 1. 해당 프로그램을 실행합니다. 2. 설치 완료 후 닫기 버튼을 선택합니다. 3. 설정에서 자동업데이트 체크 해제 합니다.

프로그래밍/Tips

비주얼 스튜디오 코드 좌측 폴더 모두 펼치기

비중러 스튜디오 코드로 코드를 작성하다보면 좌측의 폴더구조가 한번에 보이는 경우가 있습니다. 해당 폴더 구조를 설정을 통해 바꿀 수 있습니다. Window의 경우 ctrl+,로 설정화면으로 이동후 compact folder를 검색 한 후 해당 체크를 해제하면 됩니다.

프로그래밍/Java

[Java] 2차원 배열 정렬하기(Comparator, Lamda)

이중 배열을 정렬하고 싶은 경우 Comparator를 쓰거나 람다식을 쓰면 됩니다. 예를 들어 int[][] arrays = { { 0, 3 }, { 2, 6 }, { 1, 9 }, { 1, 8 } }; 위의 이중 배열의 순서를 아래와 괕이 변경하는 방법입니다. { { 0, 3 }, { 1, 8 } { 1, 9 }, { 2, 6 } } 먼저 Comparator로 구현하는 방법입니다. import java.util.Arrays; import java.util.Comparator; int[][] arrays = { { 0, 3 }, { 2, 6 }, { 1, 9 }, { 1, 8 } }; Arrays.sort(arrays, new Comparator() { @Override public int compare..

이프로그
'프로그래밍' 카테고리의 글 목록 (2 Page)