분류 전체보기

Alt+Insert: getter, setter 단축키 ctrl +alert + v : 알아서 return 타입 및 변수 지정해줌memberRepository.findByName(member.getName());Optional result = memberRepository.findByName(member.getName());  shift + alert +ctrl + t : 자동으로 리팩토링 Extract Method 클릭 후 함수명 지정하면 따로 method로 해당 부분을 뺄 수 있다.memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는..
2.1 네트워크 계층1. OSI 7계층 ⭐⭐네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델데이터를 송신할 때는 높은 계층 -> 낮은 계층 전달데이터를 수신할 때는 낮은 계층 -> 높은 계층 전달 - 데이터 캡슐화  송신할 때 각 계층에서 필요한 정보를 추가해 데이터 가공하는데, 이때 제어 정보를 담은 헤더나 트레일러가 붙음     수신부의 같은 계층에서 데이터 호환성을 높이고 오류의 영향을 최소화하기 위해서   수신할 땐 헤더나 트레일러를 분석하는 역캡슐화를 진행- 프로토콜  통신규약, 데이터를 송수신하기 위해 정한 규칙 7계층(응용 계층) - HTTP, FTP 등의 프로토콜을 응용 프로그램의 UI를 통해 제공6계층(표현 계층) - 데이터를 표준화된 형식으로 변경5계층(세션 계층) - ..
1.1 운영체제1. 운영체제란 ⭐하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층   컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공2. 운영체제의 목적 ⭐1. 처리 능력 향상   자원 관리를 통해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킴 2. 반환 시간 단축   사용자가 시스템에 요청한 작업을 완료할 때까지 소요되는 시간 단축시킴 3. 사용 가능도 향상   사용자가 컴퓨터를 사용해야 할 때 자원을 즉시 사용할 수 있게 함      사용 가능도? 시스템 자원을 얼마나 빨리 제공할 수 있는가 4. 신뢰도 향상   입력 값에 대한 정확한 결과 값을 줄 수 있도록      신뢰도? 시스템이 주어진 문제를 정확하게 푸는지 3. C..
NextJS에서는 13 버전이 업데이트되면서부터 모든 컴포넌트가 기본적으로 서버 컴포넌트다.서버 컴포넌트와 클라이언트 컴포넌트가 있으며, 이를 잘 이해하고 사용하고 것이 중요할 것 같아 정리하게 되었다. 웹 애플리케이션을 렌더링할 수 있는 환경은 클라리언트와 서버가 있다.   서버 컴포넌트 -> 클라이언트 컴포넌트서버 컴포넌트는 서버에서 실행되는 React 컴포넌트라고 볼 수 있다.  NextJS에서는 기본적으로 컴포넌트를 만들 때 서버 컴포넌트로 동작된다. 도입부에 서버 컴포넌트와 클라이언트 컴포넌트의 차이를 설명한 공식문서에서 확인할 수 있듯, 서버 컴포넌트에서는 react lifeCycle을 가능하게 하는 useState, useEffect 같은 함수를 사용하지 못한다. 그렇기 때문에 클라이언트 컴..
https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에www.acmicpc.net풀이과정처음에는 단순하게 DFS 재귀 백트래킹을 이용하여 구현했다.하지만, DP를 사용하지 않으면 시간초과가 났다. 괜히 골드3 문제가 아니다.DP와 DFS를 같이 사용해야 하는 새로운 문제 유형이었다.만약 이 그림 (0, 0)에 판다를 냅둔다면, (0, 0) -> (0, 1) -> (0, 2) -> (1, 2) -> (1, 1) 을 통해서 총 5일을 살게 될 것이다. 그럼 dp[0][0] ..
#include using namespace std;ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL); sort 사용자 정의 정렬// 1차원 벡터bool cmp(int a, int b) return a &v1, vector &v2){ if(v1[1] == v2[1]) return v1[0] u, pair t){ if(u.first==t.first) return u.second  정렬 후, 중복제거sort(v.begin(), v.end());v.erase(unique(v.begin(). v.end()), v.end()); 정렬된 경우 이분탐색 (크거나 같은 값, 더 큰 값)lower_bound는 정렬된 배열에서 탐색값이 2개 이상 있..
백트래킹현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘 - 제약 조건을 만족하는 문제를 해결하기 위해 쓰는 알고리즘 - 특정 조건을 만족하는 조합 알고리즘에 해당하는 모든 해를 찾는 문제 - 모든 경우의 수 중 조건에 위배되는 경우는 빼고 답을 찾는 것 - 답이 될 수 있는 모든 경우의 수를 DFS를 이용해 찾음 - 만약 답이 될 수 없는 경우면 더 이상 탐색하지 않고 이전으로 돌아감 ‼️ 주의재귀로 푸니까 스택 메모리 제한을 확인해야된다.N이 클 경우 백트래킹을 적용하면 시간초과 난다. 백트래킹 알고리즘의 시간 복잡도는 주로 문제의 조건에 따라 달라진다. 선택할 수 있는 숫자가 N개이고, 수열의 길이가 M이므로 총 경우의 수는 O(N^M)다. 따라서 최악의 경우에는 지수 시간이 소요..
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 먼저, 장르별로 재생횟수, 고유번호를 같이 m1 맵에 넣어주고 장르별로 재생횟수의 합을 m2 맵에 넣어준다. - cmp 함수 m1의 맵을 돌면서 재생횟수가 같으면 고유번호를 오름차순해주고, 재생횟수가 다르면 재생횟수를 내림차순해준다. (여기서 auto &x : m1은 x를 m1의 요소에 대한 참조로 가져오기 위해 &를 사용한다. 원본을 변경하기 위해서는 참조를 사용해야 합니다.) - cm..
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 다리를 건너는 트럭을 queue를 사용해 푸는 문제이다. 먼저 현재 무게에 대기 트럭 첫번째 값을 넣어준다. 다리를 건너는 트럭의 총 무게 + 현재 무게 다리가 버틸 수 있는 무게면 무게가 0인 트럭으로 대체하여 넣어준다. 시간은 answer++로 while문이 돌아갈 때동안 1씩 증가시켜준다. #include #include #include using namespace std; /* b..
1. 라이브러리와 프레임워크 차이점 - 라이브러리 우리가 갖다쓰는 것 (Ex React: 렌더링할때 ReactDOM.render() 불러오기) 사용자가 파일 이름이나 구조 등을 정하고 모든 결정을 내림 - 프레임워크 정해진 틀 안에서 커스터마이징 (Ex NextJS: 정해진 규칙에 따라 코드를 작성하면 렌더링) 는 파일 이름이나 구조 등을 정해진 규칙에 따라 만들고 따름 2. 404 에러 페이지를 직접 만들지 않아도, 구현 가능 3. CSR와 SSR 차이 앱에 있는 페이지들이 미리 렌더링됨. 정적으로 생성된다. CRA는 CSR 클라이언트 사이드 렌더링 브라우저가 자바스크립트를 가져와 유저가 보는 UI를 만드는 모든 것을 한다. 유저가 흰화면을 보고 있을 땐, 브라우저가 자바스크립트를 요청하고 있다. 브라..
박브레드
'분류 전체보기' 카테고리의 글 목록 (2 Page)