전체 글 (172) 썸네일형 리스트형 [ AWS ] Jenkins과 Elastic beanstalk을 통한 애플리케이션 배포 1. EC2 인스턴스 생성 - Amazon Linux 프리티어 환경 - SSD 30GB [ 프리티어 제한 ] - 보안 그룹으로 제한 [ SSH 접근은 내 IP만 가능하게 적용 ] 2. EC2 SSH 접속 Key-Pair(*.pem) 파일 권한 변경 chmod 400 {파일 이름}.pem pem 파일을 사용해 EC2에 접속 ssh -i "{파일 이름}.pem" {IAM유저}@{접속IP OR 접속URL} 3. Java 및 Jenkins 설치 sudo yum upgrade # jenkins 저장소를 yum에 다운로드 sudo wget -O /etc/yum.repos.d/jenkins.repo \ https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --imp.. 2022년을 돌아보며... 퇴사 후 대학원 준비... 물거품... 입사했던 이유... 실제 현업... 이 회사를 선택했던 이유 중 가장 큰 것은 NLP 솔루션을 제공하기 때문이었다. 직접 연관된 작업들을 하지 않더라도 기술들을 엿볼 수 있다고 생각했다. 면접 때도 이와 관련된 이야기를 했었다. 1년 7개월 정도의 시간 동안 하루에 3~4시간 자면서 작업한 경우가 많았으며 주말이 없는 경우도 많았다. 하지만 문서작업, 크롤링, 웹사이트 제작 작업, 기존에 만들어진 자바 프로그램의 유지보수 작업만 계속 하게 되었다. 퇴사하게된 이유 회사에서 일 하고 있는 어느 날 갑자기 가슴이 너무 답답했다. 잠도 많이 못자고 주말이 없는 경우가 허다 했던 1년 6개월 간 목표로 했던 분야에 대해서 1도 보지 못했다는 마음이 정점에 달했던 것 같다... [ Java Spring ] List 정렬하기 Comparable 인터페이스 Comparable은 compareTo 메서드 하나만 가지고 있는 인터페이스이다. 기본적으로 들어온 파라미터보다 작은 경우 음수, 같은 경우 0, 큰 경우 양수의 값을 리턴한다. 필요에 따라 인터페이스를 상속 후 재정의해서 사용할 수 있다. public interface Comparable { public int compareTo(T o); } 실제 예시 Story 클래스가 Comparable 인터페이스를 상속하고 compareTo를 멤버변수 view의 크기에 따라 정렬하도록 재정의 했다. Class Story implements Comparable { String content; int view; @Override public int compareTo(Story o) { .. [ Java Spring ] CRUD Repository vs JPA Repository CRUD Repository CRUD Repository는 Repository 인터페이스를 확장하며, save(), saveAll(), findAll() 등 CRUD에 관련된 메서드를 제공한다. Paging과 Sorting 기능은 따로 제공하지 않는다. 상속 관계 Repository -> CrudRepository JPA Repository JPA Repository는 PagingAndSortingRepository 인터페이스를 확장하며, PagingAndSortingRepository는 CRUD Repository 인터페이스를 확장하는 형태를 띠고 있다. 기본적인 CRUD 관련된 기능뿐 아니라 Paging, Sorting 기능을 추가적으로 제공한다. 또한 saveAllAndFlush(), delet.. DB 외부 접속 포트 포워딩 문제 상황 윈도우 환경에서 MySQL 설치 및 환경 설정을 완료한 상태였다. 유저, 데이터베이스 생성과 아이피 유저 부여를 했다. 포트를 열어주기 위해 방화벽 규칙을 추가했다. 마지막으로 공유기 포트 포워딩 설정을 해줬지만 외부에서 DB에 접속이 안 되는 문제가 발생했다. 이유 외부 IP가 내가 설정한 공유기로 바로 연결이 되지 않는다는 것을 발견했다. 외부 IP와 공유기 사이에 모뎀이 존재했으며, 모뎀에서 공유기에게 새로운 로컬 IP를 부여하고 있었다. 외부IP(XXX.XXX.XXX) -> 모뎀(192.33.44.1) -> 공유기(192.33.44.25 | 192.33.55.1) -> 컴퓨터(192.33.55.12) 해결 방법 모뎀과 공유기를 Bridge 형식으로 변경하는 것과 포트 포워딩을 모뎀과 공유기.. [ 등산로 정보 웹 ] 시작하며.... 보호되어 있는 글입니다. [ 인생퍼즐 ] 백엔드 사용 언어 변경 백엔드 사용 언어 변경 인생퍼즐의 백엔드는 기존에 NestJS로 작성을 했다. 이번에 코드를 리팩터링 하고 이후 유지보수를 위해 사용 언어를 Java로 변경하기로 했다. 또한 DI 등 객체지향 코드를 작성에 도움을 주는 Spring과 DB를 Java 컬렉션처럼 쓸 수 있게 해주는 JPA를 사용하기로 했다. 자바 스프링 자바 스프링은 객체 지향 언어를 더 잘 할 수 있도록 해주는 프레임워크이다. 좋은 객체지향 설계를 위한 SOLID원칙을 지키게 해 주며, 스프링 컨테이너를 통해 5가지 원칙 중 위반된 SRP/OCP/DIP를 보완해준다. 관심사를 사용 영역과 관리 영역으로 나누어 SRP, 사용 영역에 대한 확장은 쉽게 하며 변경은 어렵게 함으로 OCP를 보완한다. 마지막으로 관리 영역을 통해 객체 생성 및 .. [ Core Java Volum ] Chapter 5 상속 기억나고 중요한 내용 - 상속은 superClass와 subClass 관계로 이루어진다. [ parentClass , childeClass 라고도 함 ] - private field의 접근 제어는 상속되지 않는다. - super를 통해 superClass의 생성자 호출 가능하다. - 자바는 다형성과 동적 바인딩을 통해 상위 클래스 타입으로 하위 클래스 객체를 참조하여 사용가능하게 만들었다. - 자바는 "Class" 클래스를 통해 모든 객체에 대한 런타임 식별자를 추적하며, 이것은 하나의 식별자로 상위 및 하위 클래스의 메서드 호출 시 적절한 메서드를 선택하는 데 사용된다. - superClass로 부터 확장된 모든 컬렉션을 상속 계층이라고 한다. - 상속의 상위 계층으로 올라갈수록 추상적이어야 하며, 이.. 이전 1 ··· 16 17 18 19 20 21 22 다음