Dev_log

1편. Jenkins 설치 2편. Jenkins 환경설정
SSAFY 9기 특화 프로젝트가 끝난 후 프로젝트 회고와 포스팅을 동시에 진행하려고 합니다. 이번 프로젝트에서 DevOps 포지션을 담당했으며, CI/CD 에피소드를 게시글로 풀어가보려 합니다. 총 4편으로 구성되며 1편. Jenkins 설치
개인적으로 사용하는 노트북은 m1pro 14인치 맥북이지만 SSAFY커리큘럼을 따르기 위해 Window에서 작업한 내용을 정리하기 위함을 알려드립니다. 1. Terminus 설치 Terminus [Termius - SSH platform for Mobile and Desktop Termius helps to organize the work of multiple DevOps and engineering teams. It reduces the admin work for managing users. Enterprise compliance. SOC2 II report. termius.com](https://termius.com/) SSH환경에 접근하기 위해서 Terminus를 설치한다. Putty, Window..
Spring Server에서 Push 알림 제공하기 (SSE) 본 내용은 프로젝트 및 학습을 통해 알게된 내용을 정리한 것이라 실제 정확한 정보가 아닐 수 있음을 미리 알려드립니다. 개요 취업을 준비하는 과정에서 모임 및 커뮤니티 기능을 포함한 웹 SNS 서비스 프로젝트를 진행했다. SNS 서비스는 다른 사용자간의 상호작용이 중요하다 판단해 PUSH 알림이 반드시 필요하다 생각해 이 기능은 반드시 필요하다 생각하게 되었다. SSAFY입과 초기에 클라이언트와 서버간 데이터 통신 방식을 잘 몰랐을 땐 AJAX는 신이야! 를 외쳤지만 WebSocket, SSE를 알아가며 상황에 맞게 구현해보고자 한다. 구현에 앞서 학습한 간략한 내용들 이벤트를 요청하는 다양한 방법 구분 Polling WebSocket SSE..
· Dev_log/Java
Optional Optional이란? Java 8 버전에서 추가된 타입으로 값의 유무를 표현한다. null 값을 대체할 수 있다. 프로젝트를 진행할 때 가장 번거로운 NullPointException을 대체할 수 있는 아주 좋은 방안이다. 즉, null이 올 수 있는 값을 감싸는 wrapper 클래스로 참조해도 NullPointException이 발생하지 않도록 도와준다. Optional 클래스 내부를 살펴 볼까? 하고 들어가 보니 value, EMPTY와 같은 필드가 존재해 null이더라도 NPE가 발생하지 않는다..! public final class Optional { private static final Optional EMPTY = new Optional(); private final T val..
AOP가 무엇인가? Aspect Oriented Programming (관점 지향 프로그래밍) 횡단 관심사의 분리를 허용해 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임 여러 객체에 공통으로 적용할 수 있는 기능을 분리해, 반복 작업을 줄이고 핵심 기능 개발에만 집중할 수 있습니다. 즉, 비즈니스 로직과 공통 로직을 분리해서 구현하는 것 입니다. AOP 예시 나는 학부생으로써, Factorial을 구현하는 과제를 부여 받았다. Factorial을 구현할 때 반복문 방식, 재귀 방식 2가지로 구현해야한다. 과제를 제출하기 직전, 과제에 새로운 내용을 추가해야했다. 바로 실행시간도 함께 출력하도록 하는 것이다. 이런 위와같은 예시에서 일반적인 코드 형식을 보자 //계산기를 구현하기 위한 Calculat..
· Dev_log/Java
[JAVA 1강] 컴파일 및 Call By ____ 사전 지식 자바는 OS에 독립적인 특징을 가지고 있다. JVM이라는 가상머신 때문! 어떤 이유에서 독립적인지 컴파일 과정을 통해 알아보자 JVM 목적 자바 프로그램이 어느 기기나 운영체제 상에서도 실행 될 수 있도록 하는 것 프로그램 메모리를 관리하고 최적화 하는 것 컴파일 순서 자바의 구동 : OS위에 JVM이 실행된다. 개발자(사용자)가 .JAVA코드 작성 컴파일러가 .JAVA 소스파일을 컴파일 => .class 파일(byte code)로 변환된다. 모든 application의 시작지점은 main() .class파일을 클래스 로더가 JVM에게 전달 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들 로딩 및 링크 하여 런타임..
Dev우키
'Dev_log' 카테고리의 글 목록