전체 글

Code Test/Java

백준 11659 - 구간합 구하기 4

https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 실패한 문제해석 처음 봤을 때는 그냥 "N개의 숫자의 사이에서 i-j까지의 구간합을 구한다." 라는 간단한 내용의 문제라는 것으로 파악했다. 이게 왜 실버문제일까 하고 고민을 하면서 일단 해보기로 했다. 그래서 로직을 간단하게 짰다. 1. Scanner로 N,M을 받는다. 2. N번 반복하면서 배열에 숫자들을 밀어넣는다. 3. M번 반복하면서 i,j를 받아서 i부터 j까지 ..

Backend/Spring Boot

JPA - 양방향관계매핑

서론 오늘 spring을 혼자 공부하는 중, 유튜브에서 백기선님의 "이 문제 답 모르면 JPA를 쓰지말아라!" 하는 영상을 보게되었다. 그래서 객체간의 관계에 대해서 다시 공부하는 시간을 가지게 되었다. 객체 간 관계 매핑? "객체 간 관계"는 예를 들어, 하나의 클래스가 다른 클래스를 참조하거나, 여러 클래스들이 상호작용하고 서로 연결되어 있는 것을 의미한다. 하지만 SQL 쿼리문으로 수동으로 객체간의 관계를 관리할 수 있다. 하지만 이 방법은 매우 번거로울 수 있다. 이 관계를 데이터베이스에 저장하고 유지하기 위해 JPA는 몇 가지 어노테이션을 제공한다. JPA에서의 객체 간 관계 매핑은 다음과 같은 상황을 다룬다. 1대1(One-to-One): 하나의 객체가 다른 하나의 객체와 연결된 경우. 1대다..

Backend/개념,공부

Redis?

Redis? Redis는 Remote dictionary server의 줄일말으로, 외부(Remote)에 key-value값(dictionary)으로 돌아가는 서버를 의미한다. 캐시 시스템으로서 영속성, 다양한 데이터 구조와 같은 부가적인 기능을 지원하는 In-memory database다. 특징 Cache(캐시) 레디스를 알기위해 Cache라는 개념에 대해서 알 필요가 있다. 메모리는 위의 그림처럼 대칭구조로서 위로갈수록 빠르고 비싸고, 아래로 갈수록 느리고 값이 싸다는 특징이 있다. 12MB Cache Memory(SRAM)라는 메모리는 두번째인 Caches 계층에 해당된다. 빠르고 비싸지만 용량이 작다. 그러므로 DB로 쓰기에는 무리가 있다. 16GB DRAM라는 메모리는 Main Memory계층에..

Backend/Spring Boot

Spring boot - 트랜잭션(Transaction)

트랜잭션? 트랜잭션(transaction)은 "쪼갤 수 없는 업무처리의 최소 단위"를 말합니다 개발에서는 "DB(database)의 상태를 변화시키기 위해서 수행하는 작업의 단위"를 의미합니다. DB에 접근하기 위해서 SQL(질의어)문을 이용하는데, 작업단위는 질의어 하나가 아니라, 많은 질의어를 사람이 기준을 정해서 사용합니다. 예시 예를들어 장기게임을 만든다고 치고, 게임을 즐기기위해서 방을 만들도록 합니다. 방을 만들면 데이터베이스에서는는 방을 만드는 작업, 방을 만들면서 장기말을 세팅하는 작업, 두가지가 일어나게 됩니다. 트랜잭션 단위로 데이터가 처리되지 않는다면, 오작동 했을 시 원인을 찾기가 힘들것입니다. 게임방 생성과 장기 기물을 생성하는 두개의 과정을 별도의 과정으로 보게되고, DB입장에서..

Users/Guide

나를위한 Github 사용법 간단요약

🤷‍♀️깃허브? 나의_깃허브 깃허브(GitHub)는 소프트웨어 개발 및 버전 관리를 위한 클라우드 기반 코드 호스팅 플랫폼입니다. 개발자들이 협업하고 프로젝트를 관리하며, 소스 코드를 저장하고 추적할 수 있는 도구를 제공합니다. 📓기본 사용법(cmd) - 깃허브 홈페이지 가서 Repository를 만듭니다. - git으로 등록 cmd에서 올리고자 하는 파일의 경로로 가서 git init을 친다. 이제 ".git" 이라는 폴더가 안에 생성된다. 이제 이 폴더는 git으로 관리가 된다. - 상태확인(status) git status로 현재 관리중인 폴더의 상태를 볼 수 있다. (빨간색은 tracking하지 않는 파일들이다.) 'git add*' 를 치면 폴더안의 모든 파일이 추가되어 초록색으로 바뀌면서 관리..

Obsidian/Plugin

Obsidian - 추천 플러그인 6 [편한 옵시디언 생활을 위한 추천 플러그인]

0.소개 옵시디언의 장점은 커스텀을 하기 쉬워서 원하는대로 사용하기 좋습니다. 이를 단점으로 말하면 잘 알지 못하면 사용하는데 엄청 불편함을 느낄 수 있다는 말이 되기도 합니다. 그래서 옵시디언 생활이 조금 더 쉬워지도록 해주는 제가 아는 플러그인 몇 개를 소개시켜 드리겠습니다. 1. Recent Files 유튜브에는 최근 본 영상으로 최근 본 영상의 기록을 통해서 내가 무슨 영상을 보았는지 알 수 있습니다. Chrome에서도 방문기록으로 내가 언제,어떤 사이트를 방문했는지 알 수 있습니다. 마찬가지로, 옵시디언에서도 'Recent Files'라는 플러그인으로 최근 방문한 파일들을 파악하고, 들어갈 수 있습니다. 커뮤니티 플러그인 > 탐색에서 'Recent Files'플러그인을 설치, 활성화 해줍니다. ..

코딩하는너굴맨
Racoon's IT Devlog