![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sAqMj/btqBiDBHQWI/IZtkpRssiUzsvItHSZcqQK/img.png)
SOPT 면접을 위해 공부했던 내용을 정리해봤습니다! JavaScript란? 객체 기반의 스크립트 프로그래밍 언어입니다. 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있습니다. Node.js와 같은 런타임 환경과 같이 서버 사이트 네트워크 프로그래밍에도 사용되고 있습니다. JavaScript의 핵심 개념 1. 객체 boolean, number, string, null, undefined을 제외한 모든 것이 객체입니다. 함수도 객체로 간주합니다. 2. 프로토타입 프로토타입 기반 언어라고 불립니다. JavaScript에는 클래스대신 프로토타입이라는 것이 존재합니다. 클래스가 없으니 상속 기능도 없습니다. Prototype Link + Prototype..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lKt6V/btqBgDWH4Ip/N6atKGb3cgAmFjzza048F1/img.png)
과제 lastName이 아닌 FirstName으로 Owner를 찾아라. 정확히 일치하는 게 아니라 해당 키워드로 검색할 수 있게 하라. Owner에 나이(age)를 추가하라. 과제 1 : lastName이 아닌 FirstName으로 Owner를 찾아라. 템플릿에서 lastName을 firstName으로 수정해보자. path : resources/templates/findOwners.html path에서 label과 input에서 lastName을 firstName으로 바꿔주자. First name Error Find Owner ``` OwnerRepository를 수정해보자. path : owner/OwnerRepository path에서 45 ~ 47줄을 다음과 같이 수정하자. @Query("SELEC..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/W05oZ/btqBf2vLTY5/dIWqyOCKMhCY0zKmG6jqh1/img.png)
문제 링크 쇠막대기 문제 조건 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현한다. 또한 모든 '()'는 반드시 레이저를 표현한다. 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현된다. 변수 설명 arrangement : 쇠막대기와 레이저의 배치를 표현한 문자열 (매개변수) left_cnt : '('의 개수 코드 설명 arrageme..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bdRp5w/btqBh1vD9qa/80zEOGKRPlrzrHfK2ARKG1/img.png)
문제 링크 프린터 문제 조건 중요도가 높은 문서를 먼저 인쇄하는 프린터를 만들어보자. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼낸다. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣는다. 그렇지 않으면 J를 인쇄한다. 현재 대기목록에는 1 ~ 100개의 문서가 있다. 인쇄 작업의 중요도는 1 ~ 9로 표현하며 숫자가 클수록 중요하다. location은 0 이상 (현재 대기목록에 있는 작업 수 - 1) 이하의 값을 가지며 대기목록의 가장 앞에 있으면 0, 두 번째에 있으면 1로 표현한다. 변수 설명 priorities : 현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열 (매개변수) location 내가 인쇄를 요청한 문서..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Sbyfm/btqA6pxm24k/FPXqBTUjlOlvsnSkepqd6K/img.png)
문제 링크 기능 개발 문제 조건 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있다. 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다. 작업의 개수(progresses, speeds배열의 길이)는 100개 이하이다. 작업 진도는 100 미만의 자연수이다. 작업 속도는 100 이하의 자연수이다. 배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정한다. 예를 들어 진도율이 95%인 작업의 개발 속도가 하루에 4%라면 배포는 2일 뒤에 이루어진다. 변수 설명 Top : 매개변수 heights의 idx(Index), height(높이)를 멤버 변수로 갖는다. ln : 매개변수 heights의 길이 st : class Top을 타..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lijLY/btqA4zm8mgM/uWArSxR7GVHGhIqfJ6uC8K/img.png)
문제 링크 탑 문제 조건 heights는 길이 2 이상 100 이하인 정수 배열이다. 모든 탑의 높이는 1 이상 100 이하이다. 신호를 수신하는 탑이 없으면 0으로 표시한다. 변수 설명 Top : 매개변수 heights의 idx(Index), height(높이)를 멤버 변수로 갖는다. ln : 매개변수 heights의 길이 st : class Top을 타입으로 하는 스택 코드 설명 맨 오른쪽 index 탑을 기준으로 잡는다. 스택이 비어있으면 기준 index를 push해준다. 스택이 비어있지않으면 스택에 있는 탑과 비교해준다. 스택에 있는 탑보다 기준 탑이 더 크다면 pop해준 뒤 answer에 탑의 위치를 넣어준다. 배운 점 java.lang.ArrayIndexOutOfBoundsException (..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Br5jT/btqA7qhTB07/n4lCr0ZP0zpaxhk7JTTqWk/img.png)
이번 프로젝트에서 Sequelize를 사용했습니다. mysql vs mysql2 vs promise-mysql vs Sequelize mysql 세계에서 가장 많이 사용되는 오픈 소스 데이터베이스입니다. 매우 빠른 다중 스레드, 다중 사용자 및 강력한 SQL 데이터베이스 서버를 제공합니다. MySQL 서버는 mission critical하고 로드가 많은 프로덕션 시스템과 대량 배포 소프트웨어에 내장하기 위한 것입니다. mission critical : 업무 수행을 위하여 가장 중요한 요소(국방, 의료, 금융 등)에서 작은 실수만으로도 치명적인 결과를 초래하는 분야를 뜻합니다. Sequelize? Node.js에 사용하기 쉬운 promise 기반 ORM입니다. 견고한 transaction 지원, relat..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Ds9DO/btqA4z8kCw6/BNE5jC4XKgpjbGSc3QfHr0/img.png)
Maven Java 프로젝트의 Build를 자동화해주는 Build Tool입니다. 자바 소스를 compile하고 package해서 deploy하는 일을 자동화 해주는 것입니다. Build 과정 프로젝트 생성 라이브러리 설정 코드 작업 컴파일 테스트 패키지 만들기 배포 레포팅 이 Build 과정을 도와주는 도구가 Maven이라고 할 수 있습니다. Build Tool = IntelliJ ? IntelliJ는 Build Tool이 아닌 IDE입니다. IDE는 통합 개발 환경(Integrated Development Enviroment)이며, 공통된 개발자 툴을 하나의 GUI로 결합하는 애플리케이션을 구축하기 위한 소프트웨어입니다. Build Tool은 프로젝트 생성, 라이브러리 설정만 담당한다면 IDE는 다른..
- Total
- Today
- Yesterday
- BOJ
- 클린 코드
- 이펙티브 자바
- kkoon9
- Spring
- Algorithm
- programmers
- Spring Boot
- Olympiad
- 프로그래머스
- 이팩티브 자바
- 코테
- 백준
- node.js
- Kotlin
- 디자인패턴
- Effective Java
- BAEKJOON
- AWS
- 디자인 패턴
- MSA
- Java
- kotest
- 테라폼
- 정규표현식
- C++
- JPA
- 객체지향
- 알고리즘
- 클린 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |