본문 바로가기

전체글149

왜 public static void main(String[] args) ? public static void main(String[] args) {} @SpringBootApplication public class PsvmApplication { public static void main(String[] args) { SpringApplication.run(PsvmApplication.class, args); } } 위 코드는 스프링 부트 프로젝트를 생성하고 default로 생성되는 class 이다. 프로젝트가 제대로 생성이 되었는지 먼저 위의 main 메서드를 실행하고 localhost:8080을 접속해본다. 자바의 call stack을 봐도 main()이 가장 먼저 쌓이고, 즉 자바는 프로그램을 실행시킬 때 main 메서드를 찾는다. 그럼 왜 public static voi.. 2022. 4. 16.
HashTable VS HashMap VS ConcurrentHashMap HashTable, HashMap, ConcurrentHashMap HashTable, HashMap, ConcurrentHashMap 의 차이점 위주로 알아봅니다. 좀 더 자세한 설명은 또 따로 포스팅할게요. HashTable, HashMap, ConcurrentHashMap 의 자료구조 HashTable, HashMap, ConcurrentHashMap 은 키를 값에 매핑할 수 있는 구조인 (Key, Value) 형태로 데이터를 저장하는 자료구조이다. HashTable, HashMap, ConcurrentHashMap 은 모두 자바 컬렉션 프레임워크인 Map 인터페이스의 구현 객체다. HashTable, HashMap, ConcurrentHashMap 의 차이점 HashTable public sync.. 2022. 4. 16.
강의를 효율적으로 듣는 방법! 온라인 강의를 효과적으로 듣는 법 제가 공부를 하면서 느꼈던 안 좋은 공부법(?)에 대해 얘기하고 어떻게 하면 공부를 효과적으로 할 수 있는지에 대해 생각을 조금 해보고 정리해보았습니다. 책 VS 강의 개발 공부를 할 때 크게 두 가지로 분류할 수 있을 것 같아요. 책과 강의 여러분들은 어떤 방법을 더 선호하시나요? 저는 주로 강의 위주로 자료를 많이 찾아보는 편입니다. (유데미, 유튜브, 인프런..) 한편으로는 책으로 공부하는 것이 더 맞는 사람이 있습니다. 제 사수였던 분은 강의보다는 책을 더 선호하십니다. 그 이유는 강의를 보다보면 지루해져서 집중력이 흐트러진다는 말씀을 하셨는데 저도 공감했습니다. 어쩔 수 없는 것이 강의는 자신이 원하는 부분만 나오는 것도 아니고 괜히 스킵했다가 중요한 부분을 놓.. 2022. 3. 3.
양식 다시 제출 확인 팝업창 개발을 하면서 어드민 페이지에서 ‘새로고침’이나 ‘뒤로가기’를 눌렀을 때 아래와 같은 팝업창이 나와서 당황했습니다. 그렇다면 왜! 이러한 팝업창이 뜬걸까?? 원인은 간단합니다. 원인이 뭘까?? 바로 post 방식을 사용했기 때문입니다. form submit()으로 post 요청을 하고 리다이렉트를 하지 않으면 새로고침시 똑같은 url 주소로 post 요청을 하기 때문에 "정말 이대로 다시 post 요청할 것인지" 물어보는 것입니다. 제 개인적인 추측이지만 post 요청의 경우에는 민감한 데이터를 담고 있기 때문에 재요청시 정말로 다시 post 요청할 것인지 물어보는 것 같습니다. redirect가 아닌 forward를 해도 같은 팝업창이 발생할 수 있습니다. 잠깐 개념을 살펴보자. 검색이나 페이지 이동할.. 2022. 1. 14.
2021 한 해를 돌아보며.. 이 글은 회고글이 아닌 2021년 저의 반성문(?)이 될 것 같습니다. 다른 블로그 글들을 보면 기술적인 글들이 아닌 나 자신을 되돌아보게 되는 좋은 글들도 많습니다. 저도 그런 글을 작성하고 싶어서 이렇게 정리를 해보았습니다. 작년도 그렇지만 저는 올 해도 너무 방황을 많이 했던 것 같습니다. 1월 ~ 3월 2021년 1월에 웹 에이전시 회사에 퍼블리셔로 3개월 동안 일하다가 퇴사를 했습니다. 첫 회사인 SI 회사에서 7개월만에 그만두고 프론트엔드로 취업하고자 혼자서 공부하다가 시간만 그저 흘러보냈습니다. 그렇게 6개월간 취업을 못하게 되니 부모님과도 싸우기도 했습니다. 어찌저찌 급하게 취업하고자 들어간 곳이 웹 에이전시 회사입니다. 두 번째 회사였습니다. 퍼블리셔로 일하는 동안에는 '하드 코딩' 이란.. 2021. 12. 26.
download of template 'org.springframework.templates.mvc' failed 금일 코드로 배우는 스프링 웹 프로젝트 책으로 실습을 진행하려던 중에 정말 멘붕에 빠져서 짧게 글을 올려봅니다. 원래는 intellij를 자주 사용하다가 Spring MVC 프로젝트는 intellij에서 설정하기가 좀 까다로워서 eclipse를 사용하기로 결정했습니다. 실무에서도 STS4를 사용하고 있어서 겸사겸사 저도 STS를 사용하기로 했습니다. STS3와 STS4의 차이점도 잘 몰랐었는데 기존에 STS3를 사용했을 때는 Spring Legacy Project로 프로젝트를 생성해서 Spring MVC 템플릿으로 생성이 가능했었는데, STS4는 그런 것이 없습니다. 즉, STS4는 스프링 부트를 위한 툴이고 스프링 부트는 JSP 사용을 권장하지 않습니다. 스프링 부트는 뷰 템플릿을 SPA 프레임워크나 .. 2021. 12. 20.