목록분류 전체보기 (191)
개발 기록
스프링 너무 어렵다. 플라스크할때는 그냥 한 파일에 뭐 불러오고 하면 됐었는데 스프링은 컨트롤러랑 서비스랑 어쩌구저쩌구 만들어야될게 너무 많다. ㅠㅠ 오늘 내가 하려고 한 기능이 어려운 거라고는 하지만 너무 처음부터 막힌 기분이 들어서 안 좋았다 s3 업로드 참고 블로그 https://devlog-wjdrbs96.tistory.com/323 [Spring] Spring Boot AWS S3 사진 업로드 하는 법 Spring Boot S3 File Upload 하는 법 이번 글에서는 Spring Boot 로 AWS S3 로 File Upload 하는 법에 대해서 정리해보겠습니다. 먼저 AWS S3 Bucket 생성을 하겠습니다. AWS S3 Bucket 생성 그리고 권한 탭을 들.. devlog-wjdrb..

스프링 CRUD를 연습해보다가 서비스코드에 트랜잭셔널 어노테이션이 왜 붙는지 몰라서 찾아봤다. 트랜잭션은 ! 단일 작업 단위로 취급되는 시리즈 조치라고 한다 번역된 걸 봐서 어색한 단어이긴한데 블로그에서 쉬운 말로 보면 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들. 아무튼 그래서 단일 트랜잭션에는 여러 작업이 있지만 그룹으로 모두 실패하거나 그룹으로 다 완료되어야 한다. 그림으로 보면 티켓을 사고 좌석 예매하는 이 두개의 단일 작업이 둘 중에 하나만 되는 것이 아니라 둘다 완료되야 커밋되어 db에 저장된다는 것 같다. 예약 트랜잭션이라고 한다면 두 단계가 단일 작업 단위로 수행되고 둘다 완전히 완료 되거나 그룹이 롤백될 떄 실패하도록 해야 한다. (++ 롤백은 데이터베이스에서 ..
도커와 쿠버네티스는 아직 나에게는 너무 먼 내용이다.. 수업시간때 나름 집중해서 들었지만 그때만 조금 이해가고 기본적인 개념이해가 부족하니 바로 날아가버리는 그런.. 내용들 그래도 아예 뭔지도 몰랐던 것들을 크게나마 알게 된 것에 의미를.. 다음주 부터 3차 프로젝트 본격적으로 시작이다. 1,2차때랑 달리 많은 걱정과 기대감이 든다. 플라스크로는 어찌저찌 그냥 한 것 같은데 스프링은 뭔가 내 머릿속에 하나도 잡혀있지 않다는 느낌이 들어서 팀내 역할을 잘 못 할까봐 걱정된다. 지금까지 어떻게 했는지 잘 모르겠다. 그래도 개발 과정은 항상 생각보다 오래 걸렸지만 조금씩 만들어지는게 재미었으니까 이번에도 재밌을 것 같다. 이번엔 뭔가 진짜로 잘해야 될 것같은 느낌.. 만이 아니고 잘 해야 되니까 막막하지만 열..

# 캐시 메모리는 실제 메모리와 CPU 사이에서 빠르게 전달을 위해서 미리 데이터들을 저장해두는 좀더 빠른 메모리이다. 프로세서가 매번 메모리에 접근해 데이터를 받아오면 시간이 오래 걸리기 때문에 캐시에 자주 사용하는 데이터를 담아두고, 해당 데이터가 필요할 때 프로세서가 메인 메모리 대신 캐시에 접근하도록해서 처리 속도를 높인다. --> 캐시가 효율적으로 동작하려면, 캐시의 적중률(hit-rate)을 극대화 시켜야함 ! ++) CPU가 주기억장치 메모리에 접근하기 전에 캐시 메모리에서 원하는 데이터 존재 여부를 확인하는데, 이때 필요한 데이터가 있는 경우 Hit(적중), 없는 경우 Miss(실패) 라고 한다. 요청한 데이터를 캐시 메모리에서 찾을 확률은 Hit Ratio(적중률)이라고 한다. 캐시 메모..

*controller에서 특정 html로 이동이 계속 안 됐다 ㅠㅠ 답지 보고 해결 @GetMapping("/articles/{id}") public String readArticle() { return "view"; } return 시에 view 파일을 못 읽고 Cannot resolve MVC view 'view' 가 계속 떴다. -application.properties 에 해당 코드 추가 spring.thymeleaf.prefix=classpath:/static/ -dependencies 에 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 근데..! 프론트엔드 분리할면 타임리프 쓰면 안 된다고 했는데 모징?! *..
-놓친 것 $.ajax({ type: "POST", url: "/articles", contentType: 'application/json; charset=utf-8', data: JSON.stringify(data), success: function (response) { alert("저장되었습니다!") window.location.reload(); } }) 멍청하게 data를 {'data' : data} 로 썼다 @EnableJpaAuditing @SpringBootApplication public class Test2Application { public static void main(String[] args) { SpringApplication.run(Test2Application.class, ar..
강의도 들을 거지만 이번주에 구현테스트를 스프링으로 해보는 연습을 해봐야겠다. 저번주 첫번째 구현테스트를 다시 해보면서 내가 빠트린 부분들.. public class MemoService { private final MemoRepository memoRepository; public Memo createMemo(MemoRequestDto memoRequestDto){ Memo memo = new Memo(memoRequestDto); memoRepository.save(memo); return memo; } public List getMemo(){ return memoRepository.findAll(); } } -레포지토리를 가져올때 final을 빼먹었다. -새로운 메모를 생성할떄 dto를 안 넣어줌 ..

**도커란?! -애플리케이션을 개발 및 실행하기 위한 개방형 플랫폼. 도커를 사용하면 애플리케이션을 인프라에서 분리할 수 있으므로 소프트웨어를 빠르게 제공할 수 있다. (컨테이너 기반의 오픈소스 가상화 플랫폼) 도커는 컨테이너라고 하는 느슨하게 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능 제공. 이미지의 실행 가능한 인스턴스 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. 이미지는 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는것 . 도커 컨테이너를 만들기위한 지침 읽기 전용 템플릿. **도커 실습하다 생긴 오류들 (웃긴게 몇 시간 후에 삭제 하고 첨부터 다시 해보니까 에러 하나도 안 되고 잘 됨 뭘까)..