일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mock
- Solid
- MariaDB
- Secret
- 캡슐화
- dfs
- 클라우드
- PostgreSQL
- dotenv
- github
- 메모이제이션
- package
- 디자인 패턴
- 추상화
- Java
- 동적계획법
- process.env
- 상속
- 서브셋폰트
- git
- npm
- 객체지향
- CSS
- azure
- GOF
- DP
- netlify
- 다형성
- bfs
- AOP
- Today
- Total
목록분류 전체보기 (86)
이것저것 해보기🌼
문제 : https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net Greedy 알고리즘의 가장 기본 문제로 많이 나온다. 탐욕법은 미래는 생각하지 않고 각 단계마다 지금 당장 가장 좋은 방법만을 선택한다. 따라서 이 문제에서 길이와 상관없이 가장 먼저 끝나는 회의부터 선택하고, 겹치는 회의를 모두 제거한 뒤 모든 회의들이 없어질때까지 반복하면 최적해가 구해질 것이다. 하지만 이렇게는 전체 시간 복잡도가 O(N^2)이 되므로, 먼저 회의시간을 빨리 끝나는 순서대로 sort 하면, 겹치는 회의를 없앨 필요없이 순회하면서 선택하기만 하면 된다. 이렇게하면 정렬에 걸리는 시간..
https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net 지난번 배열돌리기 문제와 같이, 배열을 회전시키는 등의 구현과 더불어 순열과 BFS 가 모두 활용되는 좋은 문제여서 공부 좋은 풀이법 : https://gre-eny.tistory.com/321 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 32 33 34 35 36 37 ..
[동적계획법 레시피] 1. 모든 답을 만들어보고 그 중 최적해의 점수를 반환하는 완전탐색 알고리즘을 설계한다 2. 전체 답의 점수를 반환하는 것이 아니라, 앞으로 남은 선택들에 해당하는 점수만을 반환하도록 부분문제 정의를 바꾼다. 3. 재귀 호출 입력에 이전의 선택에 관련된 정보가 있다면 꼭 필요한 것만 남기고 줄인다. 문제에 최적 부분 구조가 성립할 경우 이전 선택에 관련된 정보를 완전히 없앨 수도 있다. 여기서 목표는 가능한 한 중복되는 부분 문제를 많이 만드는 것이다. 입력의 종류가 줄어들면 줄어들 수록 더 많은 부분 문제가 중복되고, 따라서 메모이제이션을 최대한도로 활용할 수 있다. 4. 입력이 배열이거나 문자열인 경우 가능하다면 적절한 변환을 통해 메모이제이션할수 있도록 한다. 5. 메모이제이션..
클라우드 컴퓨팅이란? "인터넷을 통해 컴퓨팅 서비스를 제공하는 것 (=클라우드)" ex) 서버, 서비스, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석 및 인텔리전스 클라우드로 인해 다양한 이점을 가져올수 있다. 신속한 혁신 + 유연한 리소스 + 규모의 경제성 클라우드가 요금이 저렴한 이유 "종량제 가격 책정 모델을 사용" 클라우드 컴퓨팅은 다른 사람이 운영하는 데이터센터에서 컴퓨팅 성능 및 스토리지를 임대하는 방식으로, 사용이 끝난 리소스는 되돌려준다. 따라서 요금은 사용한 만큼만 청구된다. 따라서 아래와 같은 장점이 있다 - 운영비용 절감 - 인프라를 더 효율적으로 실행 - 비즈니스 요구사항 변화에 따라 크기 조정 가능 클라우드로 전환하는 이유 "한때 거의 불가능했던 방식으로 보다 빠르고 혁신..
인증을 하는 과정에서 처음에 서버는 쿠키를 생성해서 클라이언트에게 보내게된다면, 클라이언트는 쿠키를 웹 브라우저에 Key-Value 형식으로 저장이 된다. 이후 클라이언트가 데이터를 요청시 헤더에 쿠키를 실어서 서버에 보내게된다. 따라서 로그인 정보가 쿠키에 담겨져있다면 더이상의 인증은 필요없게된다. 쿠키의 유효기간은 서버에서 설정하여 보낼수 있다. 유효기간이 지나면 쿠키는 자동으로 소멸된다. 만약 유효기간을 설정하지 않는다면 웹 브라우저를 종료하는 순간 사라진다. 그런데 사실 인증을 여러번 하지않는 큰 이유 중 하나가 보안에 취약하다는 점이다. 서버에게 인증 요청을 하기위해서 네트워크로 개인정보를 보내는데 이를 탈취해 나갈 가능성이 있기때문에 보완점이 필요했다. 우리는 이를 보완하고자 세션(Sessio..
유형 : DFS 문제 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이..
https://programmers.co.kr/skill_check_assignments/34 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요건 1. API 응답 포맷 정상처리 및 오류처리에 대한 API 서버 공통 응답 포맷을 아래와 같이 정의 합니다. 정상처리 및 오류처리 모두 success 필드를 포함합니다. 정상처리라면 true, 오류처리라면 false 값을 출력합니다. 정상처리는 response 필드를 포함하고 error 필드는 null 입니다. 응답 데이터가 단일 객체라면, response 필드는 JSON Object로 표현됩니다. 응답 데이터..
Netlify 가입 https://www.netlify.com/ Netlify: Develop & deploy the best web experiences in record time A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free! www.netlify.com ⭐내 사이트 지속적인 배포하기⭐ 1) New site from Git 버튼 클릭 이를 통해 내가 만든 사이트의 지속적인 배포가 가능하다. github 를 선택하면, Netlify 가 github 의 변경사항을 자동으로 사이트를 만들어준..
Git 컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전관리 시스템(VCS) git 설치 https://git-scm.com/ Git git-scm.com >git --version 으로 버전 확인 github 가입 https://github.com/ GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs ..
TDD(Test-driven Development) 코드의 유지보수 및 운영환경에서 에러를 미리 방지하기 위해 단위별로 검증하는 테스트 프레임워크 단위테스트 작성한 코드가 기대하는대로 동작하는지 검증하는 절차 JUnit JAVA 기반의 단위테스트를 위한 프레임워크. Annotation 기반으로 테스트를 지원하며, Assert를 통하여 (예상, 실제) 검증 Gradle Java Project 에서 test 하기 Mock 사용을 위해서는 아래 추가적인 dependencies가 필요하다. dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupite..