분류 전체보기

·Language/Java
기본형과 참조형변수의 데이터 타입을 크게 나눠보면 기본형과 참조형이 있다.기본형(Primitive Type): `int`,  `long`, `double`, `boolean`처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 기본형이라고 한다.참조형(Reference Type): `Student student1`, `int[] students`와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라고 부른다. 참조형은 객체 또는 배열에 사용된다.  정리하자면, 기본형은 숫자 10, 20과 같이 실제 사용하는 값을 변수에 담을 수 있다. 그래서 바로 해당 값을 사용이 가능하다. 반면에, 참조형에 경우 실제 사용하는 값을 변수에 담는 것이 아닌, 실제 값이 위치한 주소(참조)를..
·Language/Java
클래스가 필요한 이유자바는 클래스와 객체로 구성되며, 이를 이해하는 것이 핵심이다. 클래스와 객체는 다양한 개념을 포함하고 있어 한 번에 모두 이해하기 어렵다. 따라서 클래스와 객체의 기본 개념을 시작으로, 클래스가 발전하면서 만들어진 방식까지 단계적으로 살펴보자. 학습 정보 출력 프로그램 만들기학습에서 '왜'라는 질문은 본질을 이해하는 데 중요한 역할을 한다. 먼저, 클래스가 필요한 이유를 이해하기 위해 문제를 풀어보자.요구 사항1. 첫 번째 학생의 이름은 "학생 1", 나이는 15, 성적은 90입니다. 2. 두 번째 학생의 이름은 "학생2", 나이는 16, 성적은 80입니다. 3. 각 학생의 정보를 다음과 같은 형식으로 출력해야 합니다: `"이름: [이름] 나이: [나이] 성적: [성적]"` 4. 변..
CPU 스케줄링 알고리즘 운영체제가 프로세스에 CPU를 배분하는 방법을 CPU 스케줄링 알고리즘을 통해 이루어진다. CPU 스케줄링 알고리즘의 종류는 매우 다양하다. 대표적으로 7가지 CPU 알고리즘에 대해 알아보자.  1. 선입 선처리 스케줄링 (FIFO 스케줄링)`선입 선처리(FCFS) 스케줄링`은 말 그대로 준비 큐에 삽입된 순서대로 CPU를 할당하는 스케줄링 방식이다. 먼저 들어온 애들은 필수적으로 처리함으로 비선점형 스케줄링 방식이다. 부작용으론 `호위 효과(Convet Effect)`가 있다. 비선점 방식이기 때문에 공정하고 합리적인 실행이 되지 않는다. 아래 그림을 보면 프로세스 B가 실행되기 위해선 프로세스 A가 끝날 때까지 기다려야 하므로 17ms를 기다려야 한다. 프로세스 C의 경우는 ..
·Trouble Shooting
오류상황회원가입 API 테스트 도중 해당 로직에서 문제가 발생하였다. @Override@Transactionalpublic UserInfo registerUser(UserCommand command) { Users initUser = command.toEntity(policy); Users user = userStore.store(initUser); return new UserInfo(user);}org.springframework.dao.DataIntegrityViolationException: could not execute statement [Data truncation: Data too long for column 'phone_number' at row 1] [insert into..
·Trouble Shooting
개인 프로젝트를 시작하면서 Spring Security와 JWT를 이용해 회원가입 및 로그인 기능을 구현하고 있다. JWT 생성 로직을 구현하고 테스트하는 과정에서 발견한 에러를 공유해본다. 해당 예러는 로그인 테스트 진행 중 발생하였다. io.jsonwebtoken.security.WeakKeyException: The specified key byte array is 120 bits which is not secure enough for any JWT HMAC-SHA algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HMAC-SHA algorithms MUST have a size >= 256..
프로세스 우선순위운영체제에서 프로세스(및 스레드)가 실행되기 위해선 자원이 필요로 한다. 운영체제가 공정하고 합리적으로 자원을 배분하는 방법을 `스케줄링`이라고 한다. 여기서 CPU(=자원)을 할당받아 배분하는 방법을 `CPU 스케줄링`이라 한다. CPU 자원을 공정하게 배분하는 방법이란 단순히 돌아가면서 CPU를 프로세스들에게 할당하는 것을 의미하지 않는다. CPU의 자원을 할당받는 자원들은 우선순위를 가지고 있고, 운영체제는 프로세스 별 `우선순위(priority)`를 판단하여 우선순위가 높은 프로세스에 CPU의 자원을 더 빨리, 더 많이 할당하게 된다. 프로세스의 우선순위는 이전 포스팅에서 정리한 내용과 같이 PCB에 명시되어 있다. 유닉스 계열의 운영체제에서는 ps 명령어를 통해 우선순위 확인이 ..
https://hanghae99.spartacodingclub.kr/campaign 개발자 커리어 개척 캠프 항해99 | 잔디 기부 캠페인세상의 성장에 기여하세요hanghae99.spartacodingclub.kr 항해99하는 잔디기부 캠페인에 참여했다. 잔디를 기부하면 다음과 같은 증서도 받을 수 있다.!!
·DevOps/Docker
도커 명령어도커 명령어를 외우지말고 그때그때 찾아서쓰자!! 1. 도커 버전확인하기 docker version 2. 플로그인, 시스템 상세 정보 확인docker info 3. 메뉴얼 확인 docker --helpdocker (Management Command) Command 형태로 구성되어있다. 매니지먼트 커맨드는 명령어의 대분류, 커맨드는 명령어의 소분류이다. 매니지먼트 컨테이너는 생략이 가능하다.docker container run .. 이와 같이 쓰여지며, `docker run`으로 생략하여 실행 가능하다. 매니지먼트 커맨드에 대한 상세 커맨드를 검색할 수도 있다.docker [Management Commend] --helpdocker container --help// 매니지먼트커맨드 커맨드 뒤에 올..
회원인증절차해당 프로젝트는 UI는 제공하지 않는 API 서버 구축 프로젝트라 인증절차를 글로 표현하면 다음과 같다.1. 이메일을 입력한다.2. 인증번호메일을 발송한다. 3. 메일을 확인한 후 인증번호를 입력한다.4. 인증번호가 맞으면 해당 메일의 인증이 된다.5. 그 이후에 회원가입 절차를 진행한다. 구글메일인증구글메일계정을 이용해 메일을 전달하기 때문에 전달용 메일을 만들기 위한 절차가 필요하다. 우선 `Google 계정관리`라는 메뉴에 들어가 `앱`을 검색하면 다음화면과 같이 `앱 비밀번호`가 뜨게 된다. 그럼 다음과 같이 화면이 나오게되는데 `앱 이름`을 입력하고 `만들기`를 누르면 `패스워드`를 제공해 준다. 그 패스워드를 어디에다 기록해 둔 다음 후에 SpringBoot 메일세팅에 활용할 예정이..
·DevOps/Docker
도커란 컨테이너를 관리하기 위해 만들어진 소프트웨어이다. 컨테이너는 큰 서버를 효율적으로 나눠서 사용하기 위한 가상화라는 기술이다. 애플리케이션 서버컨테이너를 학습하기 이전에 서버의 개념을 먼저 정리할 필요가 있다. 서버는 하드웨어와 그 위에서 실행 중인 소프트웨어를 포함하는 개념이다. 경우에 따라 하드웨어만을 지칭하거나, 소프트웨어만을 의미하기도 한다. 그렇기 때문에 문맥에 따라 서버가 가리키는 대상을 파악해야 한다."서버의 전원이 꺼졌습니다" → 하드웨어 서버"서버 설치 파일을 다운로드하였습니다" → 소프트웨어 서버일반적으로, 서버는 하드웨어에서 실행 중인 소프트웨어를 통칭하는 경우가 많다. 서버와 클라이언트의 관계서버(Server)라는 단어는 `Serve(제공하다)`라는 접두어에서 유래했다. 이는 ..
JH_DEV77
'분류 전체보기' 카테고리의 글 목록 (5 Page)