* Singleton Pattern * 특징 싱글톤 패턴은 하나의 클래스에 하나의 인스턴스만 가지는 패턴이다. 하나의 인스턴스를 생성한 후 다른 모듈들이 해당 인스턴스를 공유하며 사용한다. 하나의 인스턴스를 생성하기에 인스턴스 생성할 때 드는 비용이 줄어든다. 하나의 인스턴스를 공유하기에 의존성이 높아진다. * 사용법 public class SingletonService { private static final SingletonService instance= new SingletonService(); public static SingletonService getInstance(){ return instance; } private SingletonService(){ } } SingletonService 클..

회원가입 시 비밀번호를 PasswordEncoder를 통해 암호화하여 저장합니다. 1. build.gradle 설정 implementation 'org.springframework.boot:spring-boot-starter-security' testImplementation 'org.springframework.security:spring-security-test' 2. Bean 설정 @Configuration @EnableWebSecurity public class SecurityConfig { ... @Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } } 비밀번호를 암호화할 때 사용할 Passwor..

Transaction이란? 예를 들어 하나의 데이터에 두 개의 접근이 있다고 가정해보자 A가 B에게 돈을 입금한다. -> A의 계좌에서 해당 금액만큼 차감한다. -> B의 계좌에서 해당 금액만큼 추가한다. 두 개처럼 보이지만 하나의 과정이 Transaction → 둘 중의 하나라도 실패한다면 이 과정의 이전으로 상태를 돌려야한다. ACID 트랜잭션의 특징을 줄여서 ACID라고 부른다. ACID는 줄임말로 각각 원자성, 일관성, 독립성, 지속성을 의미한다. Atomicity 원자성으로 트랜잭션이 DB에 모두 반영되거나, 모두 반영되지 않아야 한다. Consistency 일관성으로 작업 처리 결과가 늘 일관성 있어야 한다. Isolation 독립성으로 트랜잭션이 여러 개가 동시에 실행되고 있는 경우 다른 트..

풀이 과정 1. 최대 공약수를 구한다. 2. 최대 공약수를 통해 최소 공배수를 구한다. + 알게 된 점 최소 공배수는 해당 수들의 곱에 최대 공약수를 나눈 값이다. 최대 공약수는 0이 될 때까지 각 수를 나누어 알 수 있다. => 유클리드 호제법 #include using namespace std; int gcd(int x, int y) { return x % y == 0 ? y : gcd(y, x % y); } int lcm(int x, int y) { return (x * y) / gcd(x, y); } int solution(vector arr) { int answer = arr[0]; for (int i = 1; i < arr.size(); i++) { answer = lcm(answer, arr..
더보기 💡머신러닝이란? : 데이터를 이용하여 학습하여 예측하며 수학적 알고리즘을 이용한다. 더보기 💡머신러닝의 종류는? 1. supervised (지도학습) - 입력과 대응되는 정답값을 같이 주어 학습한다. 2. unsupervised (비지도학습) - 입력만 주어 학습한다. + 비지도 학습의 단점? 잘 분류되었는 지 인간이 다시 체크를 해야한다. (=mission critical) 지도 학습 - 결과를 보고 판단 가능하다. 회귀 - 정답의 형태가 연속적인 숫자값이다 -> continuous한 값 => 절대적인 값 분류 - 정답의 형태가 discrete하게 있다. => 상대적인 값

인공지능, 머신러닝, 딥러닝의 차이는 무엇일까요? => 인공지능이 가장 큰 범위로 그 안에 머신러닝과 로보틱스가, 머신러닝 안에는 딥러닝이 있습니다. 인공지능 - 사람의 생각과 행동을 기계가 하는 것 머신러닝 - 데이터를 이용하여 학습하여 그들의 관계를 파악하는 것으로 수학적 알고리즘을 이용한다. 학습을 통해 준 적 없는 데이터를 주어 확인한다. 딥러닝 - 데이터를 이용하여 학습하며 인공 신경망 모델링을 이용한다. 공통점으로는 data를 이용하여 learning하며 prediction을 한다. 차이점으로는 learning의 방식에 있다. 더보기 machine learning - 수학적 알고리즘 deep learning - 인간의 신경망

Thread 💡 Thread를 이용하는 이유?! = In any situation in which your app performs a potentially lengthy operation, you should not perform the work on the UI thread, but instead create a worker thread and do most of the work there. ⇒ ANR 조심! Main Thread (= UI Thread) +Worker Thread (작업자 스레드) Thread 설명 : JVM(Java Virtual Machine)이 하나의 어플에서 동시에 작동하는 여러 개의 스레드를 가질 수 있도록 허락해준다 : 모든 스레드는 우선순위가 있으며 높은 순위의 스레드가 ..

- interrupt란? = CPU가 프로그램을 실행하고 있을 때, 예외상황이 발생하여 그에 대한 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것 +) 예외사항은 하드웨어에서 생겼을 때, 소프트웨어에서 생겼을 때로 나눌 수 있다. - interrupt handling = OS는 register와 program counter를 저장하여 CPU의 상태를 보존한다. = 어떤 종류의 interrupt가 발생했는지 알아본다 -> polling과 vectoed interrupt system - polling : 하나씩 확인해서 그에 맞는 것을 수행한다. - vectored interrupt system : interrupt 번호로 와서 해당 interrupt에 대한 서비스 루틴을 실행한다. - Sto..

컴퓨터 시스템의 3대 요소는 사용자가 사용하는 시스템과 어플리케이션 프로그램, OS, 하드웨어로 이루어져있다. 1. Application Program - 사용자의 컴퓨팅 문제를 해결하기 위해 시스템 자원이 사용되는 방식을 정의한다. ex) 웹 브라우저, 비디오 게임 등 2. OS - 하드웨어와 다양한 application / 사용자 사이를 제어하고 조정한다. 3. Hardware - 기본적인 컴퓨팅 자원을 제공한다. ex) CPU, 메모리, I/O 장치 (컴퓨팅: 계산의 의미 + 컴퓨터를 사용하는 행위) - OS란? 사용자와 하드웨어 사이에서 중재자 역할을 수행하는 프로그램이다. - OS의 목적은? 1. 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한다 => 환경 제공 ex) virtu..

풀이과정 1. N, K와 N개의 동전의 가치를 입력받는다. 2. dp배열을 통해 bottom-up 방식을 이용하여 접근한다. 3. for문을 통해 dp[j] +=dp[j-money[i]]를 이용한다. (현재의 가치는 현재의 가치에서 돈을 뺀 과거의 가치를 더해주면 된다.) (과거의 값을 계속 더해줘서 현재의 가치가 업데이트된다.) #include #include using namespace std; int N,K, answer; int money[101]; int main(){ scanf("%d %d",&N,&K); vector dp(K+1); for(int i=1;i
- Total
- Today
- Yesterday
- 괄호회전하기
- ubuntu
- springboot
- 프리티어
- AWS
- interrupt
- 뉴스클러스터링
- qemu
- 머신러닝
- 정수삼각형
- 다음큰숫자
- 프로그래머스
- Auditing
- 이진변환반복하기
- Android
- 영어끝말잇기
- 최고의집합
- PasswordEncoder
- RDS
- xv6
- 응답코드
- 백준
- PostgreSQL
- OS
- dp
- 우분투설치
- 실패율
- 최솟값구하기
- 시스템콜
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |