본문 바로가기

분류 전체보기66

[자료구조] 해시(Hash) - 자바(Java)에서 알아보자! 갑자기 자료구조를 정리해보기로 생각하게 된 배경 프로그래머스 코딩 테스트 고득점 Kit에 있는 문제들을 풀어보기 위해! 앞으로 여기에 나와있는 자료구조를 하나씩 정리하고 문제풀이를 진행하려고 한다. 자료구조란? 자료구조(Data Structure)는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 자료구조는 여러 종류(대표적으로 위의 사진 참고)가 있고 각각의 연산/목적에 맞추어져 있다. 프로그램을 설계할 때 어떤 자료구조를 선택할지 가장 우선적으로 고려하여야 하고, 적절한 자료구조의 선택은 필수적이라고 한다. 적절한 자료구조의 선택은 메모리를 최소화하고 시간, 공간 복잡도를 줄여 효율성을 높일 수 있다. 참고. 위키백과 : 자료구조 자료 구조 - 위키.. 2020. 7. 22.
[오류] AWS EC2 인스턴스 종료, 재시작 이후 스프링부트(SpringBoot) 프로젝트 배포 실행 오류 [ EC2에서 연결을 거부했습니다. ] 이번에 실습하면서 배포를 진행했었던 '프로젝트' 의 인스턴스에서 요금이 과금이 되는 것 같아서(1달러?ㅋㅋ) 일주일 정도 인스턴스를 꺼놨었다. 중지가 아닌 종료로!! 그리고 어제 자기 전에 다시 인스턴스를 실행하고 코드를 수정하여 깃허브에 푸시를 진행했다. CodeDeploy에 배포 상태에 녹색불이 켜진 것을 분명히 보고... 잠을 청하고 오늘 아침에 출근을 하면서 나의 인스턴스 DNS로 접속을 해봤는데... 이게 왠걸?? 'ec2에서 연결을 거부했습니다.'라는 메시지가 뜨고 접속이 되지 않았다. 퇴근하고 집에와서 바로 접속 확인을 해보니 역시 되지 않았고... 배포 & 빌드, 그리고 EC2에서 jar파일도 확인해보고 로그도 확인했는데 실행이 제대로 되어있었다. 아니 근데 대체 왜 안되는가!!!!!!!!.. 2020. 7. 16.
[Spring] SpringBoot(스프링부트) + Lombok(롬복) + JPA + Spring Security(스프링 시큐리티) + Junit 프로젝트에서 사용한 대표적인 어노테이션 정리 스프링 개발을 하다 보면 정말 많은 어노테이션을 만나게 된다. 물론 자주 쓰이는 어노테이션의 쓰임새는 다들 알고 있겠지만 가끔 헷갈리는 어노테이션이 있다. 때마다 찾지 않고 바로 볼 수 있도록 자주 쓰이는 어노테이션을 정리해서 끄적여보겠다. ※ 틀린 정보는 댓글에 피드백 해주세요!! - 이번에 진행한 프로젝트에서 사용했던 어노테이션을 위주로 정리함 - Spring 어노테이션 Spring에서 지원하는 어노테이션이다. Spring @Autowired: 스프링이 관리하는 빈(Bean)을 주입받는다. @GetMapping: HTTP Method인 Get의 요청을 받을 수 있는 API를 만들어줌 @RequestMapping: HTTP Method의 요청을 받을 수 있는 API를 만들어줌 ex) @Requestma.. 2020. 7. 10.
[공부] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 실습 후기 - SpringBoot+AWS+Travis CI 얼마 전에 구입하고 리뷰를 작성했던(스프링 부트와 AWS로 혼자 구현하는 웹 서비스 리뷰) 책을 읽고 실습을 마쳤다. 이에 따른 후기를 간략하게 끄적여보도록 하겠습니다!! 이전에 작성했었던 글에서는 실습을 하기 전 출퇴근 동안 조금씩 읽어보던 책에 대한 내용을 가지고 리뷰를 했었다 2주가 지난 지금은 책을 정독하고 실습 코드도 작성하여 배포까지 구축이 완료된 상태이다.(링크) 그래서 또 한 번 끄적이러 왔다 ㅋㅋ 이번 실습을 통해 정말 많은걸 느끼고 배우게 되었는데, 그중에서 가장 크게 배우게 된 것은 TDD, ORM(JPA), AWS 인프라에 관련된 학습인 것 같다. TDD(Test Driven Development: 테스트 주도 개발) 이전까지는 테스트 코드를 작성하고 이에 따라 구현을 하는 것을 중.. 2020. 7. 9.
[공부] 자바 멘토링 4회차 - 2020.07.07 우와.. 벌써 한 달이라는 시간이 지났고, 처음 도전했었던 멘토링이 끝이 났다. 저번 6월 16일부터 시작했던 자바 멘토링은 총 4회로 일주일에 1번 3시간씩 진행을 했다. 어색했던 분위기의 첫 만남을 지나 4번의 만남을 가진 지금은 서로 많이 편해진 느낌을 받았다. '아! 이제야 정말 친구들이랑 스터디하는 것 같은 느낌이었는데!' 하는 생각에 다음 멘토링에도 참여를 할까 생각을 했지만 아마 적어도 당분간은 멘토링을 하긴 힘들 것 같다. 이런저런 이유들이 있지만 제일 큰 이유는 8월 말까지 회사 프로젝트 스케줄이 조금은 힘들게 작용하리라 생각되는 점, 두 번째로는 좀 더 나만의 여유로운 자기 계발 시간을 가지기 위함이다. 물론 이 멘토링 경험이 나에겐 정말 좋은 작용을 했다고 생각하고 더 노력할 수 있는.. 2020. 7. 8.
[SpringBoot & AWS] SpringBoot프로젝트 Travis CI, AWS S3, AWS CodeDeploy 배포 오류 최근에 구매한 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'를 읽으며 실습을 진행 중에 만나게 된 오류에 대해 남겨 놓으려고 한다. 오류가 발생한 과정은.. 이전에는 SpringBoot프로젝트를 깃허브에 올리고 AWS EC2 인스턴스에서 깃허브에서 코드를 내려받고, 작성한 스크립트로 빌드, 배포까지 되도록 구현을 했었다. 물론 성공해서 배포까지 되는 걸 확인한 상태였다. 그리고 이번엔 Travis CI를 사용해서 배포 자동화를 구현하고 있었다. AWS의 S3까지 압축파일을 보내는 데까지 성공하고 AWS의 CodeDeploy에서 배포 그룹을 만들어서 진행을 해봤다. 인텔리제이에서 소스를 작성하고 깃허브로 푸시하면 자동으로 빌드, 배포를 진행하도록 만든 것이었는데 오류를 만났다. 오류 이러한 메시지를 .. 2020. 7. 2.