반응형 전체 글900 [SSAFY] 관통프로젝트 - 3 - 알고리즘 적용 비밀번호 해시 알고리즘 적용1. 기존 상태기존에는 비밀번호는 암호화를 적용하지 않는 raw 상태로 저장되어 있습니다. DB의 `members` 테이블을 SELECT로 조회를 하면 user_password에서 확인할 수 있습니다. 2. 적용하기1) 의존성 추가jBCrypt는 Java에서 BCrypt 해시 알고리즘을 구현한 라이브러리입니다. 해시함수를 사용해서 비밀번호를 암호화하고, 쉽게 복호화할 수 없게 설계되어 있습니다. 무작위 솔트(salt)와 반복적인 해시 처리를 통해서 무차별 대입 공격(Brute-force attack)을 방지할 수 있습니다. org.mindrot jbcrypt 0.4 3) 비밀번호 저장 테이블 수정비밀번호를 해싱하면 변환된 해시로 저장하기 때문에 비밀번호의 길이가.. 2024. 10. 18. Tomcat - 서버 프로세스 강제 종료 - 명령어 - windows, MacOS starting tomcat v10.1 server at localhost has encountered a problem 에러처리 안녕하세요. codeomni입니다.이번 포스팅은 톰캣의 프로세스 강제 종료입니다.0. 문제 발생톰캣 실행 시 다음과 같은 에러 메시지가 표시됩니다.\1starting tomcat v10.1 server at localhost has encountered a problemcs포트 충돌이 가장 흔한 원인 중 하나입니다. Tomcat이 기본적으로 사용하는 포트(예: 8080)가 다른 프로그램에 의해 사용되거나 이미 Tomcat이 실행 중일 수 있습니다.1. 현재 실행 중인 Tomcat 프로세스 확인먼저 Tomcat 서버가 실행 중인 포트를 사용하고 있는 프로세스를 확인합니다. 기본적으로 Tomcat은 8080 포트를 사용합니다.맥 / 리눅스 운영체제1sudo lsof -i :8080cs 윈도우 운영체제1net.. 2024. 10. 12. Net Work Wook Weok WeeK 워윅? 1. 라우터2. 프로토콜3. IP - IPv4, IPv6네트워크 계층의 역할, IP주소로 송수신지 대상 설정, 경로는 라우팅라우터논리적, 또는 물리적으로 분리된 망 사이를 지나는 패킷의 위치에 따라 최적화된 경로(루트, route)를 지정하는 기능.네트워크 계층(L3 스위치), 상하위 통신망 연결코어 라우터: KT 등의 인터넷 서비스 제공자(ISP)가 상호 ISP 네트워크를 서로 연결하는 것.센터 라우터: 전국 네트워크 WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결하는 장비로서 기업체 등에서 센터 장비로 사용하는 것.엣지 라우터: 전국 네트워크 또는 각각 지점, 영업소의 네트워크를 WAN 회선에 연결하는 단말 장비.mac 주소로 네트워크에 속한 호스트의 위치를 특정하기 어렵다.→ 2계층에서 .. 2024. 10. 11. (error) ERR unknown command `redis-benchmark`, with args beginning with: 안녕하세요.이번 포스팅은 Redis의 에러처리입니다.redis-benchmark는 Redis 서버에서 실행하는 명령이 아니라, Redis 서버에 연결되지 않은 상태에서 운영 체제의 터미널(명령줄)에서 실행하는 독립적인 성능 테스트 도구입니다. 그래서 Redis CLI(예: 127.0.0.1:6379>) 안에서 실행하려고 하면 ERR unknown command 오류가 발생합니다. 올바른 사용 방법Redis CLI(즉, 127.0.0.1:6379>)가 아닌 일반 터미널이나 명령줄에서 redis-benchmark 명령어를 실행해야 합니다. 예를 들어, 다음과 같은 순서로 실행할 수 있습니다.Redis CLI에서 나가기: Redis CLI에서 exit 명령어를 사용하여 CLI를 종료합니다.127.0.0.1:6.. 2024. 9. 4. [SSAFY] 관통프로젝트 문제와 해결과정 & 소감 - 1 - Java 1. 목표본 프로젝트의 목표는 객체 지향 개념과 Java의 기본 문장을 이해하고 활용하는 것입니다. 이를 통해 이벤트 처리를 람다 표현식으로 작성하고, XML, JSON, CSV 파일로부터 필요한 정보를 파싱할 수 있는 능력을 배양하는 데 있습니다.개발 언어: Java개발 환경: Eclipse, JDK 17 2. 개발구현 목록공공 데이터 포털의 전국 관광지 정보 표준 데이터를 처리 3. 문제점 및 해결 방법문제점 1: CSV 파일 가공 문제사전지식 부족: CSV 파일 구조와 처리 방법에 대한 이해가 부족했습니다.쉼표(,)로 분리된 파일: CSV 파일은 기본적으로 쉼표로 구분되지만, 특정 셀 내에도 쉼표가 포함된 경우 이를 제대로 처리하지 못하는 문제가 발생했습니다.타이틀 수정: 파일의 첫 번째 줄인 헤더.. 2024. 8. 3. Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. 보호되어 있는 글 입니다. 2024. 7. 31. github rebase merge와 commit merge의 차이 보호되어 있는 글 입니다. 2024. 7. 25. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 처리 보호되어 있는 글 입니다. 2024. 7. 24. chatgpt error 보호되어 있는 글 입니다. 2024. 7. 11. homebrew 특정 node.js 버전 설치하기 보호되어 있는 글 입니다. 2024. 7. 3. homebrew로 설치한 node.js 제거 보호되어 있는 글 입니다. 2024. 7. 3. Could not determine the dependencies of task ':nodeSetup'.> Failed to query the value of task ':nodeSetup' property 'nodeArchiveFile'. > Could not resolve all files for configuration ':detachedConfiguration1'. > Could not download node-18.3.0-darwi 보호되어 있는 글 입니다. 2024. 7. 2. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 보호되어 있는 글 입니다. 2024. 7. 1. DBMS: PostgreSQL (ver. 14.12 (Homebrew)) Case sensitivity: plain=lower, delimited=exact Driver: PostgreSQL JDBC Driver (ver. 42.6.0, JDBC4.2) Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is acc 보호되어 있는 글 입니다. 2024. 6. 28. groovy.lang.MissingPropertyException: No such property: Lists for class: 에러 보호되어 있는 글 입니다. 2024. 6. 25. 맥 homebrew으로 jdk 특정 버전 설치하기 - 맥 실리콘 m1 m2 m3 m4 칩 보호되어 있는 글 입니다. 2024. 6. 23. /Users/laphayen/Documents/GitHub/project-board/src/main/java/com/laphayen/projectboard/util/FormDataEncoder.java:5: error: package org.springframework.boot.test.context does not existimport org.springframework.boot.test.context.TestComponent; 보호되어 있는 글 입니다. 2024. 5. 3. Failed to bind properties under 'spring.thymeleaf3' to 보호되어 있는 글 입니다. 2024. 4. 27. Update your application's configuration Ensure that your compiler is configured to use the '-parameters' flag. You may need to update both your build tool settings as well as your IDE. 보호되어 있는 글 입니다. 2024. 4. 27. [Java] 배열 복사 안녕하세요. 개발자 블로그 codeomni입니다. 이번 포스팅은 자바에서 배열의 복사입니다. 배열은 자료구조 특성상 크기가 고정되어 있으므로 확장할 경우에 새로운 공간을 추가하고 기존에 있던 항목들을 가져와야합니다. 자바에서는 배열의 항목을 복사하는 방법으로 for문을 통한 방법과 System.array.copy() 메소드를 사용하는 방법이 있습니다. 주의점 복사한 값을 제외한 나머지 배열의 원소들은 배열의 자료형의 초기값입니다. 참조 타입의 배열은 주소값을 복사하므로 원본 배열과 새배열은 같은 객체를 참조합니다. (얕은 복사[shallow copy]) 따라서 배열의 내부 객체가 변경되면 원본과 복사본 모두 영향을 받게 됩니다. 1. for문으로 배열 복사 원본 배열과 복사한 배열의 인덱스로 접근해서 원.. 2024. 3. 18. [spring] 스프링 DI (Dependency Injection) 안녕하세요. 이번 포스트의 주제는 스프링 DI(Dependency Injection)입니다. 스프링 프레임워크에서 제공하는 IoC를 구현하기 위해 사용하는 방법입니다. 객체 간의 의존성을 직접 코드 내에서 설정하는 것이 아니라 외부에서 주입하는 방식입니다.@Autowired 어노테이션을 사용하면 스프링 IoC 컨테이너는 해당 클래스의 객체를 생성할 때, 의존성이 필요한 부분에 필요한 Bean을 주입해줍니다. 1. 생성자 주입(Constructor Injection) 객체의 생성자를 통해 의존성을 주입하는 방식입니다. @Autowired 어노테이션을 사용해서 의존성을 주입합니다. 1 2 3 4 5 6 7 8 public class MyService { private final MyRepository myR.. 2024. 1. 25. [Java] 자바 Array - 배열 선언 생성 초기화 요소 접근 길이 안녕하세요. codeomni입니다. 이번 포스트의 주제는 자바의 데이터 타입인 Array입니다. 자바에서 배열은 동일한 데이터 타입의 여러 값을 저장한느 데 사용되는 자료 구조입니다. 고정된 크기를 가지고, 인덱스를 통해 각 요소에 접근할 수 있습니다. 인덱스의 번호는 0번부터 시작합니다. 1. 배열의 선언 배열을 사용하기 위해 데이터타입[ ] 변수이름; 또는 데이터타입 변수[ ]; 형식으로 선언합니다. 1 int[] numbers1; 1 int numbers2[]; 2. 배열의 생성 배열은 참조 변수로 배열 변수는 스택 영역에 생성되고 힙 영역에 생성되는 배열 객체를 참조합니다. 배열의 생성은 배열 리터럴과 new 연산자를 통해서 생성합니다. 1 int[] numbers = {1, 2, 3, 4, 5}.. 2024. 1. 21. [Java] 자바 String 문자열 비교 - String equals(), null 사용 안녕하세요. codeomni입니다. 이번 포스트의 주제는 String 변수입니다. 자바에서 문자열은 String 데이터 타입으로 사용합니다. 내장 클래스로 java.lang 패키지에 포함되어 있습니다. 1. String 생성 1 String name; 문자열 변수의 생성은 String 클래스를 사용합니다. 2. 문자열 대입 1 String name = "codeomni"; 생성한 String 변수에 ""(큰따옴표)를 사용해서 문자 리터럴을 넣습니다. 이 때 주의할 것은 원하는 이름으로 지정한 변수는 스택 영역에 생성되고 ""(큰따옴표)으로 된 문자열 리터럴은 힙 영역에 String 객체로 생성됩니다. 스택영역의 변수가 힙 영역의 String 객체를 참조하고 있습니다. 3. String 생성과 동시에 참조.. 2024. 1. 20. [Java] 자바 NullPointerException 안녕하세요. codeomni입니다. 이번 포스트의 주제는 NullPointerException입니다. 자바에서 NullPoinerException은 Runtime에서 발생하는 예외입니다. 데이터 타입(Data Type)에는 기본 타입과 참조 타입이 있는 데, 여기서 null인 참조 타입의 변수를 사용하면 발생하는 오류입니다. 메소드 호출 시 null 참조, 배열에서 null 참조, 객체 필드에서 null 참조, 메소드 반환 값이 null 참조 등 상황에서 발생할 수 있습니다. 1. 메소드 호출 시 null 참조하는 경우 1 2 3 4 5 6 7 8 package test; public class Example { public static void main(String[] args) { String str.. 2024. 1. 19. [GitHub Copilot] 깃허브 코파일럿 구독 취소하기 안녕하세요. codeomni입니다. 이번 포스트의 주제는 깃허브의 Copilot 구독 취소하기입니다. Copilot의 성능은 너무 좋지만, 공부에 있어서 본인에게 도움이 되지 않아서 구독을 취소했습니다. 깃허브 홈페이지에서 다음의 과정으로 구독을 취소합니다. 깃허브 페이지에서 오른쪽 상단에 위치한 프로필을 클릭합니다. 메뉴 중에서 Settings를 클릭합니다. 왼쪽 메뉴에서 Billing and plans에서 Plans and usage를 클릭합니다. Add-ons의 GitHub Copilot에서 Manage subscription의 Cancel을 클릭합니다. 설문이 나오고 스크롤하면 하단에서 I understand, cancel GitHub Copilot 버튼을 클릭합니다. 다음달의 지불 금액이 변경되.. 2024. 1. 15. [AWS] EC2 프리 티어 사용량 확인하기 - 현재 사용량, 예상 사용량 안녕하세요. codeomni입니다. 이번 포스트의 주제는 AWS에서 프리 티어 사용량 확인하기입니다. 먼저, 아래 링크의 콘솔 홈에 접속합니다. https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2# https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2 ap-northeast-2.console.aws.amazon.com 검색 창에서 프리 티어를 입력합니다. 특징에 있는 프리 티어를 클릭합니다. AWS 프리 티어로 사용하고 있는 서비스의 목록과 현재 사용량을 확인할 수 있습니다. 단, 현재 사용량이 실제 사용한 것보다 업데이트.. 2024. 1. 2. [AWS] WARNING: UNPROTECTED PRIVATE KEY FILE 오류 처리 안녕하세요. codeomni입니다. 이번 포스트의 주제는 AWS에서 UNPROTECTED PRIVATE KEY FILE 오류 처리입니다. 1 2 3 4 5 6 7 8 9 (base) codeomni@codeomni ~ % ssh -i /Users/codeomni/Downloads/pint.pem ubuntu@000.000.000.000 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for '/Users/codeomni/Download.. 2024. 1. 1. [PintOS] 핀토스 뽀개기 - Threads 2 - Priority Scheduling 틀린 내용은 댓글 부탁드립니다. 목표 CPU가 우선순위에 상관없이 ready_list에 들어온 순서대로 쓰레드가 점유하는 라운드 로빈 스케줄링 방식으로 각각의 쓰레드가 할당 시간만큼 할당하고 주어진시간이 지나가면 ready_list의 맨 뒤로 이동합니다. 1 2 3 4 5 6 7 8 /* /threads/thread.c */ static struct thread * next_thread_to_run (void) { if (list_empty (&ready_list)) return idle_thread; else return list_entry (list_pop_front (&ready_list), struct thread, elem); } ▲ CPU를 점유 시 ready_list의 첫 번째 쓰레드가 점유.. 2023. 12. 17. [PintOS] 핀토스 뽀개기 - Threads 틀린 내용은 댓글 부탁드립니다. 구현 단계 프로젝트 1의 Threads에서 3 부분의 구현 단계를 거칩니다. 1. Alarm clock https://codeomni.tistory.com/945 2. Priority Scheduling Priority Scheduling https://codeomni.tistory.com/946 [PintOS] 핀토스 뽀개기 - Threads - Priority Scheduling 틀린 내용은 댓글 부탁드립니다. 목표 CPU가 우선순위에 상관없이 ready_list에 들어온 순서대로 쓰레드가 점유하는 라운드 로빈 스케줄링 방식으로 각각의 쓰레드가 할당 신간만큼 할당하고 주어 codeomni.tistory.com Priority Scheduling and Synchroni.. 2023. 12. 16. [Java] 자바 기초 4 - 조건문 이번 포스트는 자바의 조건문입니다. 자바에서 조건문은 조건을 검사하고 조건에 따라 코드 블록을 실행하는 제어 구조입니다. 특정 조건에서 따라 다른 작업이 수행됩니다. 1. if 문 주어진 조건이 참( true )일 경우 코드 블록을 실행합니다. 거짓인 경우에는 해당 코드 블록을 실행하지 않습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class Example { public static void main(String[] args) { int num = 17; // 조건이 참인 경우 if (num > 16) { System.out.println("num은 16보다 큽니다."); } // 조건이 거짓인 경우 if (num > 20) { System.out.println("n.. 2023. 12. 1. 이전 1 2 3 4 ··· 30 다음 반응형