전체 글

개발이 즐거운 개발자 석이입니다~
JAVA

[JPA] 연관관계 매핑 기초

들어가기 앞서 본 글은 김영한님의 인프런 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 공부하고 공부한 내용을 정리한 글입니다. 강의의 내용을 '공부하며' 정리한 것이기에 부족한 부분이 있을 수 있습니다. 보다 정확한 학습을 원하신다면 위 강의를 참고하실 것을 권합니다. 강의에서 발췌한 사진 두 장이 첨부되어 있습니다. 문제의 여지가 있다면 댓글로 알려주시기 바랍니다. 들어가기 앞서 2 백엔드 개발자로 입사한 지 4개월 차, JPA를 사용하는 새로운 프로젝트에 투입되게 되었다. 취업 준비를 하며 JPA를 학습했던 경험이 있으나 입사를 한 이후 3개월 동안 JPA를 한 번도 사용해 본적이 없었다. 새로운 프로젝트를 준비하며 JPA 관련된 공부를 다시 시작했는데 모두 까먹은 것인지 기억이 하나도 나지..

카테고리 없음

[스트라피 공식 문서 번역] Route

Routes 스트라피로 전송되는 모든 URL은 라우트에 의해 핸들링 됩니다. 스트라피는 필요한 content types에 대한 모든 라우트를 자동적으로 생성합니다. 라우트는 추가될 수도, 설정될 수도 있습니다. 정책(policies)를 사용하면 라우트에 대한 접근을 차단할 수 있습니다. 미들웨어(middlewares)를 사용하면 요청의 흐름 혹은 요청 그 자체를 조작하고 바꿀 수 있습니다. 요청이 라우트에 도착하면, 컨트롤러에 의해 작동되는 코드가 실행됩니다. 구현하기 새로운 라우트를 구현하는 것은 ./src/api/[api-name]/routes 폴더 내의 라우트 파일을 정의하는 것으로 구성됩니다. 라우트 파일 구조는 용례에 따라 2가지 형태로 존재합니다. 핵심 라우터(core routers)를 구성하..

코딩 문제

[프로그래머스 level 1] 신고 결과 받기 - Java

문제 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉,..

운영체제

러프한 운영체제 기초 3편 | 메모리

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 이전 글 러프한 운영체제 기초 1편: 러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드 러프한 운영체제 기초 2편: 러프한 운영체제 기초 2편 | CPU 스케줄링과 교착 상태 메모리의 종류 CPU 내부 - 레지스터, 캐시 메인 메모리(RAM) 보조 저장 장치 - HDD, SSD 특징: CPU에 있는 메모리는 매우 빠르지만, 용량이 작고 매우 비싸다 특징: 메인 메모리는 흔히 그냥 '메모리'라 불린다. 폰 노이만 구조의 컴퓨터는 모든 프로그램을 메인 메모리에 올려 작동시킨다. 특징: 보조 저장 장치는 컴퓨터에 전원이 공급되지 않을 때도 데이터의 유실이 없는 ..

JAVA

[번역] cron4j quickstart

Quickstart cron4j의 주 엔티티는 스케줄러이다. it.sauronsoftware.cron4j.Scheduler 객체를 사용하면 결정된 시간에 코드를 실행할 수 있다. 스케줄러는 매분마다, 매 5분마다 작동될 수도 '금요일 10시', '토요일을 제외한 2월 16일 오후 12시 30분'처럼 구체적인 시간으로 작동될 수도 있다. cron4j 스케줄러의 사용법은 다음 4단계를 따른다. 스케줄러 객체를 생성한다. 필요한 스케줄을 작성한다. 스케줄을 작성하기 위해 스케줄러가 무엇을, 언제 할지를 결정한다. 이러한 작업은 java.lang.Runnable 혹은 it.sauronsoftware.cron4j.Task 객체를 사용하여 명시할 수 있고, 문자열 혹은 it.sauronsoftware.cron4j...

운영체제

러프한 운영체제 기초 2편 | CPU 스케줄링과 교착 상태

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 이전 글 러프한 운영체제 기초 1편: 러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드 CPU 스케줄링 CPU 스케줄링이란 어떤 프로세스에 CPU 리소스를 주어야 하는지 결정하는 작업. 컴퓨터 시스템의 효율에 직결되는 중요한 작업으로 운영체제를 공부할 때 가장 중요한 주제 중 하나이다. CPU 스케줄링의 고려사항 어떤 프로세스에게 CPU 리소스를 주어야 하는가? CPU를 할당 받은 프로세스가 얼마의 시간 동안 CPU를 사용해야 하는가? (CPU 스케줄링은 컴퓨터의 성능에 굉장히 많은 영향을 미친다!) CPU 스케줄링의 목표 공평성: 가장 큰 목표로 모든 프..

메모 & 삽질기록보관소

[윈도우 11?] Mybatis - Password Not Matched!!!

3줄 요약 새로운 노트북을 사고 윈도우 11 os를 설치함 윈도우 10에서는 잘 열리던 스프링(maven, mybatis) 프로젝트가 열리지 않음 노트북에 윈도우 10을 깔고 다시 돌리니 정상적으로 작동함. 발단 기존에 사용하던 노트북이 회사 프로젝트를 돌리기에 성능상 버거운 점이 많아서 최근 새로운 노트북을 한대 장만했다. 새로운 노트북이니까 윈도우 11 os를 탑재시키고 이전 노트북보다 더 좋은 CPU(와 그래픽카드)로 열심히 코딩(과 게임)을 할 생각에 마음이 들떴다. 새로 산 노트북을 들고 개발환경을 갖춘 후(java, tomcat, intellij 등 자바 스프링 개발을 위한 개발환경) 회사 프로젝트를 로컬서버로 구동했다. 그리고 마주한 에러. ibatis.exceptions.persistenc..

메모 & 삽질기록보관소

[jqeury] ajax에서의 parse error | 스프링과 자바스크립트의 부조화

발단 회사 프로젝트를 하면서 뷰단에서 실시간으로 데이터를 업데이트 할 일이 있어 ajax를 사용하게 됐다. 예를 들어 아래처럼 버튼을 만들고, 버튼이에요 버튼을 누르면 ajax가 작동해 서버에 데이터를 전송할 수 있도록 말이다. $.ajax({ url: "please/insert/target/url", type: "POST", dataType: "JSON", data: { a: something, b: somethingElse } } 문제가 없어 보였다. 서버를 돌리고 iamButton을 눌러보았다. 아무 응답이 없었다. 마치 아무것도 하지 않은 것처럼. ... 뭐지? 원인 이 문제를 해결하려고 근무시간 중 꼬박 2시간을 쏟았다. 한두시간 투자하면 구현하고도 남겠다 싶었던 기능이 두어시간동안 제대로 시작..

운영체제

러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 프로그램과 프로세스 프로그램(Program): 하드디스크 등에 저장된 명령문의 집합체 프로세스(Process): 실행 중인 프로그램 (하드디스크에 있는 프로그램이 메모리에 올라가면 실행 중인 프로그램, 즉 프로세스가 된다!) 프로세스의 구조 code, data, heap, stack code: 컴파일된 소스코드가 저장되는 영역. 즉, 프로그램 자기 자신. 중간에 소스가 변경되지 않도록 read only로 저장됨 data: 전역/static 변수가 할당되는 영역. java의 클래스 정보도 data 영역에 할당되는 것으로 아는데 정확하지 않음 (아닐수도 있음..) ..

JAVA

Java의 날짜/시간 API. Date와 Calendar는 왜 사용하면 안될까?

들어가기 앞서 이번 주 스터디 주제가 java였는데 마침 직장에서 프로젝트를 하며 java의 Date 클래스를 사용할 일이 생겼다. 어디선가 java의 Date, Calendar 대신 java8의 LocalDate와 LocalDateTime 그리고 LocalTime을 사용하라고 권장 받은 적이 있었는데, 그 이유가 무엇일까 궁금해져 java의 시간/날짜 관련 클래스들을 공부하게 되었다. (이번 주 스터디 주제가 java인 부분이 크게 한몫했다 사실.) 이 글은 Naver D2의 Java의 날짜와 시간 API를 참고, 학습한 이후 작성한 글임을 밝힙니다! Java 시간/날짜 API 시대 계보도 JDK 1.0 : java.util.Date (java의 유일한 시간/날짜 API) JDK 1.1 : java.u..

석이
기록으로 채워가는 개발자 이야기