본문 바로가기

분류 전체보기

(644)
77일차 - C언어 C언어에서는 객체를 스택에 만들 수 있다. C언어에서는 배열을 스택에 만들 수 있다. 스택의 모든 것들은 컴파일 타임에 미리 사이즈가 계산되어야 한다. 이 때 등장한 것이 동적할당(malloc, C++ 의 new) 이다. 동적할당은 그때 그때 필요한 용량을 힙 지역에서 바로 할당받는다. 그렇기 때문에 상황에 맞는 최적화가 가능하다. 동적할당을 받았다면 수동으로 반납 처리를 해야 한다. 자바에서는 반납 처리가 거의 자동이다. 자바에서는 스택에서 객체(배열 포함)를 만드는 것을 없애버렸다. => 문법적인 간결함을 위해
76일차 - 스프링 리소스(Spring Resource) 스프링 리소스(Spring Resource) - 스프링 프레임워크에서 제공하는 정적 리소스 관리 기능 - 클래스패스 상의 리소스나 웹 애플리케이션의 상대 경로에 있는 리소스를 쉽게 찾을 수 있다. - 리소스의 읽기, 쓰기, 복사 등 다양한 작업을 수행할 수 있다. - Resource 인터페이스를 통해 제공되며, 다양한 구현 클래스를 사용하여 리소스를 로드할 수 있다. Resource Interface와 그 구현체들 public interface Resource extends InputStreamSource { boolean exists(); boolean isReadable(); boolean isOpen(); boolean isFile(); URL getURL() throws IOException; U..
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파일을 다운로드..
75일차 - CS(CPU, 메모리) CPU(중앙 처리 장치) - 4대 주요 기능(기억, 해석, 연산, 제어)을 관할하는 장치 - 프로그램의 명령어를 해석하여 데이터를 연산/처리하고 그렇게 돌아가도록 제어해주는 부분, 또는 그 기능을 내장한 칩 - 컴퓨터가 동작하는 데 필요한 모든 계산을 처리한다. 메모리(기억 장치) - 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치 - CPU에서 계산한 결과가 저장된다. => 하드디스크 같은 보조기억장치에 저장되는 것이 아니다. - 컴퓨터가 켜지고 프로그램이 실행되면 그것들은 전부 메모리에 올라온다. 메모리의 계층 구조 -레지스터- ---캐시 메모리--- ------주기억 장치------ -------버퍼(디스크 캐시)------- --------------보조 기억 장치--------------..
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 (충돌..