목록분류 전체보기 (277)
ecsimsw
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lvdz4/btqQ8MdvZLi/NxDppW6guNckjCeHzcdjg1/img.png)
자바의 Thread Safe여러 스레드를 사용하면 시스템 자원의 사용, 응답시간, Context Switch 횟수를 줄일 수 있다는 장점을 얻을 수 있다. 대신 데이터의 충돌 문제가 발생할 수 있다. 여러 테스크가 동시에 처리되도록 구현하는 것을 동시성 프로그래밍, 데이터 충돌과 같은 동시성 프로그래밍으로 발생되는 이슈를 피하는 방법을 동시성 보장이라고 한다. 이번 포스팅에서는 자바의 동시성 보장 방식, 가장 기본적인 synchronized, volatile, atomic 세 가지 키워드를 정리하고자 한다. 가시성 문제와 volatile가시성 문제는 여러 개의 스레드가 사용됨에 따라, cache memory와 Ram의 데이터가 서로 일치하지 않아 생기는 문제를 의미한다. 한 스레드가 변경된 값을 cac..
우아한테크코스 선발 과정이 끝난 이후 오늘의 온라인 코딩 테스트로 우아한테크코스 3기 선발 과정이 완전히 끝났다. 평소와 같은 24시간 안에서 선발 과정을 위한 공부를 더 하려면 잠을 줄여야 했고, 하루 안에서 잠자는 시간이 두 번으로 쪼개지는 정말 안 좋은 생활 패턴을 가졌다. 피곤에 쩔어선 2주 차부턴 운동을 못했고, 3주 차부턴 정말 성격이 망가지는 것을 느꼈다. 피부도 난리 나고... 그래서 테스트만 끝나면 정말 편하게 잠이라도 자고, 영화라도 보려고 했는데, 막상 끝나니까 내일 뭘 해야 할지 모르겠어서 머릿속을 정리하는 글을 쓰고 싶어 졌다. 그래서 뭘 해야 하지,,, 내일부터 결과 발표까지 할 것 결과 발표 이후로 공부할 것이 좀 차이가 있을 것 같아, 일단 결과에 대한 생각은 미뤄두고, 그 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9AuRX/btqNZM7JkCb/WWjTMlDkz6oK9iJ5J7iBk0/img.png)
자바 깊이 알기 / Immutable 객체와 메모리 구성아래 코드를 먼저보고 출력 값을 고민해보자. class App2 { public static void main(String[] args) throws Exception{ Integer i = 10; changeInteger(i); System.out.println(i); } static void changeInteger(Integer a){ a = 20; }} Integer는 int와 다르다. 참조 타입이기 때문에 힙 영역에 있는 객체를 참조할 것이고, changeInteger 에서 a는 힙에 있는 그 객체 자체를 가리키기 때문에 i 값이 변경..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ABK8m/btqNWhHeK6K/zOxyQ6UsjcFEbD4ue7yKMK/img.png)
1차 합격 발표 15분 전부터 떨려서 아무것도 못했습니다. 2분 남겼을 때는 구글 메일 앱을 새로고침 하면서 메일을 기다렸고, 예정되었던 3시 정각에 바로, 합격 메일을 받을 수 있었습니다. 자기소개서를 처음 써봐서 많이 부족하다고 생각했고, 걱정했던 것 만큼 1차 합격 소식에 기뻤습니다. 프리코스 준비 합격 메일 이후에 프리코스에 대한 공지 메일이 왔습니다. 11월 25일 다음주 수요일부터 3주간, 3개의 미션을 해결하고 github으로 결과물을 제출해야 합니다. 미션을 전달받기 이전인 지금은 3주의 프리코스에 자신감이 넘치는 상태입니다. 설령 불합격한다고 해도 준비하는 과정에서 배울 수 있는 시간이라고 생각해서입니다. 당연히 합격하고 싶고 합격을 위해 최선을 다할 것이지만, 실패해도 배울 수 있는 기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ddvQXX/btqKkPNrHF9/7q32FkdKwibtU8G02Bg171/img.png)
Giggle 1. Spring mvc, JPA를 공부 후 실제로 사용해보고 싶었습니다. 2. 컴퓨터 자체를 즐기는 사람들과 소통할 수 있는 커뮤니티를 만들고 싶었습니다. 회원들이 자유롭게 글을 작성하거나 댓글을 남기고, 관리자는 커뮤니티의 필요에 따라 자유롭게 게시판 카테고리를 생성하고, 홈페이지를 꾸미며, 회원을 관리할 수 있는 커뮤니티를 만들고자 하였습니다. 3. 프로젝트에서 가장 집중한 부분은 다음과 같습니다. - Spring IoC / Spring MVC 의 동작 원리와 구조를 이해하고 프레임워크의 기능을 사용하고 싶었습니다. - 엔티티 간의 연관 관계가 DB 설계 측면에서 적절한지, 객체지향 관점에서 합리적인지 생각하려고 노력했습니다. - 트래픽,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VycjO/btqIz6c7ZAy/4DDv2aKAOx6jsHKtXTt1xK/img.png)
1. Static Resource 사용하기스프링 부트에서는 /resources/static의 파일을 url 요청으로 접근할 수 있다. resources/static/file/hello.html을 접근한다면 /localhost:8080/file/hello.html 기본 리소스 맵핑은 "/**"이지만, spring.mvc.static-path-pattern을 설정해서, url에 접근 경로를 지정할 수 있다. static path pattern은 application.yml에서 설정한다. spring.mvc.static-path-pattern: /static/** 위의 예시처럼 /static/**으로 설정한다면, 이후로는 정적 리소를 localhost:port/static/ 아래에서 접근하는 것이다. res..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kyu55/btqHEEhz2yr/F4aGiaL5Yo5gkQgQvFXtM0/img.png)
2020.09.01 / 일기 1. 이사 이사로 바쁘게 살고 있다. 낮에는 복무하면서 틈틈히 개인 공부, 점심/저녁 먹고 홈 트레이닝, 주말과 집에 있는 시간은 대부분 가족들과 이사 준비를 하고 있다. 자기전에 코딩 좀 하다가 새벽 한시 두시 정도 되면 녹초가 되는데 잠이 잘와서 좋다. 새 집이 기대된다. 아파트 시설로 독서실이랑 헬스장, 골프 연습장이 있다는게 너무 설렌다. 어머니랑 책 읽으러, 아버지랑 연습장 다닐 생각에 엄청 들떴었는데 코로나로 닫았다고 한다. 2. 시간 '어바웃타임'에서 주인공 아버지가 시간 여행으로 좋아하는 책을 6번씩 읽었다는 장면이 부러워 가끔 시간에 벗어날 수 있는 공간이 있으면 어떨까 고민해본다. 작은 방에서, 마음껏 시간을 쓸 수 있다면 당장 생각나는건 미뤘던 영화 한편을..
RedirectAttributes 의 addAttribute RedirectAttributes.addAttribute을 이용하는 경우 쿼리 파라미터로 데이터가 포함되어 재요청된다. 예를 들어 아래처럼 핸들러를 작성하는 경우 리다이렉트의 요청 url은 '/redirected?name=jinhwan' 일 것이다. @GetMapping(value="/hello") public String hello(RedirectAttributes redirectAttributes){ redirectAttributes.addAttribute("name", "jinhwan"); return "redirect:/redirected"; } 이는 리다이렉트 시 넘겨야하는 값이 쿼리에 표시가 되어야하기 때문에 String으로 변환이 ..