equals 메소드 우리는 흔히 equals 는 값비교, == 는 주소값 비교라고 한다. 왜 equals는 값비교일까? 기본적으로 자바의 모든 클래스들은 Object 클래스를 상속하게 된다. 즉, 모든 클래스는 Object 클래스의 equals를 가지게 된다. Object 클래스의 equals 메소드는 오로지 자기 자신만이 true를 낼 수 있는 결과를 만들것이다. String 클래스로 예를 들어보자. public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.le..
안녕하세요. 오늘은 무작위 스캔공격이라는 부분에 대해서 공유하고자 합니다. 일단 제가 무작위 스캔공격이라는 것을 확인할수 있던 부분은 바로 서버 포트 8080을 스프링부트 어플리케이션 포트로 열어놨고 로그파일을 하루마다 생성했기 때문에 파악할 수 있었는데요. 실제 저의 api 주소 호출이 아닌 웬 이상한 요청들이 오는게 아니겠나요... 대표적으로 /public/index.php 라던가.. /TP/index.php 라던가.. 절대 저와 함께 개발하는 클라이언트 개발자들이 호출할 주소가 아니었는데 말이죠.. 이외에 모든 무작위 스캔공격이 의심되는 요청주소는 아래의 링크에서 확인해보세요!! chinsun9.github.io/2020/11/10/%EB%AC%B4%EC%9E%91%EC%9C%84-%EC%8A%A4..
EC2 인스턴스 생성 예제를 만들다가 발생하였다. 보안그룹 이름에 특수문자가 들어가서 그런줄 알았으나 알고보니 보안그룹 포트별 설명란에 한글을 잔뜩 써놔서 안된거였다... 원인을 불러온 화면은 가장 오른쪽 빨간 네모에 들어있는 한글들이다.. 이것을 다음과 같이 수정해주었다.. 설명란을 영어로 수정하였다...! 완료하니 잘 통과한다..
해당 에러는 처음에 도커를 활용하다 만난 에러인데. 도커가 스프링부트 jar 파일을 보고 실행시키는 구조인데 이제 그 jar 파일을 찾지 못했던 것이 원인이었다. 즉 jar 파일없이 스프링부트 어플리케이션을 dockerize 하고 이미지 배포한 후 docker run을 통해 스프링부트를 실행하려하는데 jar가 없네..? 이느낌이다. 즉 해당 오류내용은 jar 파일을 찾지 못했을 때 발생하니 특정 경로에 jar 파일이 있는지 확인하기 바랍니다.
안녕하세요. 오늘은 간단한 스프링부트 애플리케이션을 Docker 라는 시스템을 이용하여 배포해보는 프로세스를 경험해보겠습니다. 일단 Docker는 특정 파일을 빌드하여 Docker Image라는 특수한 파일형태를 만들고 이를 Docker Hub라는 공간에 배포하여 Github처럼 push/pull 을 활용하여 이미지를 가져오고 넣고 하는 활동을 통해 어플리케이션의 배포 또한 가능하도록 합니다. 대부분의 활용도가 어플리케이션의 배포용으로 활용하는 것은 아니지만 오늘은 그러한 목적으로 스프링 부트 어플리케이션을 Docker를 활용하여 AWS EC2 인스턴스인 Amazon Linux 2 에 배포해보도록 하겠습니다. 스프링부트 어플리케이션 우선 간단한 스프링부트 어플리케이션부터 준비해보도록 하겠습니다. star..
안녕하세요. 오늘은 아마존 EC2 인스턴스 서버를 한대 빌려보는 예제를 기록하고자 합니다. AWS, GCP, Azure 등 여러 클라우드 서비스가 존재하지만 여전히 AWS의 영향력과 커뮤니티는 막강합니다. 따라서 많은 IT기업 및 스타트업들이 커뮤니티가 다양한 AWS를 선호하게 되어 자연스레 개발자들의 관심도 AWS로 쏠리기 시작한 것 같습니다. 그 출발점이 바로 EC2라고 생각되는데요. EC2는 Elastic Compute Cloud의 약자로. 클라우드로 서버를 한대 빌려서 서비스를 유지하는 것입니다. 여러분의 그 출발점을 EC2 서버를 한대 빌려보는 것부터 시작해보시는 건 어떨까요?? 우선 AWS 계정으로 로그인을 한 후, 좌측의 서비스를 클릭하여 모든 서비스 중 EC2를 클릭합니다. 그런 다음엔 아..
안녕하세요. 오늘은 Docker를 사용하기 위한 GUI 툴인 Docker Desktop을 설치해보도록 하겠습니다. 우선 설치 URL로 접속해주세요! 설치 URLwww.docker.com/products/docker-desktopDocker Desktop for Mac and Windows | DockerLearn why Docker Desktop is the preferred choice for millions of developers building containerized applications. Download for Mac or Windows.www.docker.com접속하셨으면 Download For Windows 를 클릭해주세요. .exe 파일이 다운로드 되고 있으실텐데요. 다운로드를 기다려 ..
안녕하세요. 오늘은 BooleanExpression을 통해서 QueryDSL Repository의 표현을 좀더 직관적으로 볼 수 있도록 리팩토링하는 과정을 소개해보고자 합니다. 사실 이부분에 대해서는 그동안 BooleanBuilder라는 객체를 활용해서 where 절에 들어올 쿼리문을 생성했는데요. 여러 if절에 의해 다음과 같이 쿼리의 형태를 전혀 예상할 수 없을 정도로 바뀌었습니다. BooleanBuilder를 활용한 repository 메소드public List findLiveStudyBySearch(String title, Integer bigCity, Integer smallCity) { BooleanBuilder builder = new BooleanBuilder(); if (StringUti..