본문 바로가기

공부 기록

(319)
[OS/공룡책] Chapter 1. 서론 - 운영체제가 할 일 운영체제(Operating System) - 컴퓨터 하드웨어를 관리하는 소프트웨어 - 응용 프로그램을 위한 기반을 제공한다. - 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중재자 역할을 수행한다. - 근본적인 책임은 자원들을 프로그램에 할당하는 것 운영체제가 할 일 - 컴퓨터 시스템 : 하드웨어 > 운영체제 > 응용 프로그램 > 사용자 - 운영체제는 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정한다. - 운영체제는 컴퓨터 시스템이 동작할 때 자원을 적절하게 사용할 수 있는 방법을 제공한다. - 운영체제는 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공한다. 사용자 관점(User view) - 대부분 사용의 용이성을 위해 설계 >>> 성능에 약간 신경을 쓰고 >>> (..
[Spring] 스프링 리소스, SpEL(Spring Expression Language) 스프링 리소스(Spring resource) https://yurison.tistory.com/454 76일차 - 스프링 리소스(Spring Resource) 스프링 리소스(Spring Resource) - 스프링 프레임워크에서 제공하는 정적 리소스 관리 기능 - 클래스패스 상의 리소스나 웹 애플리케이션의 상대 경로에 있는 리소스를 쉽게 찾을 수 있다. - 리소스의 yurison.tistory.com SpEL(Spring Expression Language) - 스프링 표현 언어(SpEL)는 짧고 간단한 문법을 통해 필요한 데이터나 설정 값을 얻어올 수 있게 하는, 특별한 형태의(표현식에 가까운) 간편한 언어 - 표현 언어는 스프링 뿐만 아니라 웹 언어에서 많이 존재한다. - 주로 @Value("${co..
코딩테스트에서 많이 사용되는 dynamic programming(다이나믹 프로그래밍, 동적 계획법)의 개념과 언제 어떻게 사용할 수 있는지 두 가지 예제를 통해 살펴봅니다~ https://youtu.be/GtqHli8HIqk Optimization problem - 문제를 해결하는 최적의 답을 찾아야 하는 문제 - optimal solution은 하나 이상일 수 있다. - maximum 혹은 minimum value를 가지는 솔루션을 찾는 문제들이 주를 이룬다. - ex) 가장 빨리 도착하는 경로의 소요 시간은? 언제 주식을 사고 팔 때 가장 수익이 높은지? 다이나믹 프로그래밍(DP, Dynamic programming) - optimization problem을 해결하는 전략 중 하나 - subproblem(s)의 optimal solution(s)을 활용해서 문제의 optimal solution을 찾는 방식 - 겹치는(overlapping) subproblems은 한 번..
divide and conquer, 분할정복이라고 하죠~ 개념과 동작 방식을 설명하구요, merge sort를 통해 divide & conquer가 어떻게 동작하는지 살펴봅니다~ https://youtu.be/aj3vw_KDmxc 분할 정복(Divide and Conquer) - 어떤 문제를 유사한 형태를 가지는 더 작은 크기의 서브 문제들로 나눈 후 이들을 재귀적으로 같은 방식으로 해결한 뒤 각 서브 문제들을 해결한 결과를 활용하여 원래 문제를 해결하는 방식 - 병합 정렬, 퀵 정렬, 이진 탐색 등에 사용된다. - divide : 문제를 작은 크기의 서브 문제들로 나눈다. - conquer : 서브 문제들을 동일하게 재귀적인 방식으로 해결하고, 만약 더이상 나눌 수 없다면 직접 해결한다. - combine : 서브 문제들의 솔루션을 합쳐서 원래 문제의 솔루션을 만든다.
[JPA] 2장 - JPA 애플리케이션 개발 엔티티 매니저 설정 public class JpaMain { public static void main(String[] args) { // 엔티티 매니저 팩토리 생성 EntityManagerFactory emf = Persistence.createEntityManagerFactory("unit"); // 엔티티 매니저 생성 EntityManager em = emf.createEntityManager(); ... // 엔티티 매니저 종료 em.close(); // 엔티티 매니저 팩토리 종료 emf.close(); } } 엔티티 매니저 팩토리 - 생성 시 JPA를 동작시키기 위한 기반 객체를 만들고 JPA 구현체에 따라서는 데이터베이스 커넥션 풀도 생성하므로 생성 비용이 매우 크다. => 엔티티 매니저 팩토..
[JPA] 1장 - 스프링부트 프로젝트와 H2 데이터베이스 연결하기 로컬에 H2 데이터베이스 설치 https://yurison.tistory.com/450 윈도우 환경에서 H2 데이터베이스 연결 시 경로 not found 오류 해결 H2 데이터베이스 설치 https://www.h2database.com/html/download.html Downloads Downloads Version 2.1.214 (2022-06-13) Windows Installer (SHA1 checksum: 5f7cd83d394df5882ed01553935463a848979f29) Platform-Independent Zip (SHA1 checksum: 5ff027217098bf6 yurison.tistory.com 위 내용 참고! build.gradle 설정 dependencies { ... i..
윈도우 환경에서 H2 데이터베이스 연결 시 경로 not found 오류 해결 H2 데이터베이스 설치 https://www.h2database.com/html/download.html Downloads Downloads Version 2.1.214 (2022-06-13) Windows Installer (SHA1 checksum: 5f7cd83d394df5882ed01553935463a848979f29) Platform-Independent Zip (SHA1 checksum: 5ff027217098bf6c800ef96b98f3a381b320e53d) Version 2.1.212 (2022-04-09) Windows Installer (SHA1 check www.h2database.com 다운로드 페이지에서 최신 버전의 Windows Installer 클릭하여 .exe파일을 다운로드..
git push 시 충돌로 인해 Rebase and Merge가 불가능한 오류 해결 상황 1. 브랜치 이름을 branch1이라고 가정할 때 branch1에서 작업 후 git push origin branch1 2. PR을 올렸지만 conflicts로 인한 Rebase and Merge 불가 3. 인텔리제이에서 충돌 해결 후 다시 push -> 그러나 깃허브에선 계속 conflicts가 있다고 떴다. 해결 과정 1. branch1 브랜치에서 -> git pull --rebase origin main 2. 충돌된 코드 수정하여 해결 3. git add . 4. git rebase --continue 5. 완료되면 git push origin branch1 --force 6. 깃허브로 돌아가서 PR 확인해보면 충돌이 해결되어있다~! git pull --rebase origin main (충돌..