Programming/Java

Programming/Java

Logback의 보안 취약점 알아보기 - DBAppender는 왜 제거되었을까?

서비스 운영 전에 Log를 남기는 작업을 했다. 서비스 운영 로그를 어떻게 누적해서 기록하고 분석에 이용할 수 있을지 고민이 필요했다. 이전 프로젝트에서는 파일로 로그를 남기곤 했다. 하지만 파일로 로그를 남기기만 하면 불편한 점이 있었다. 바로 로그를 확인하려 할 때마다 서버에 접속해서 파일을 하나씩 열어봐야했다는 것이다. 또한 레벨 별로 별도의 파일로 나누는 것말고 다른 검색 방법도 딱히 없었다. 개선 방법으로 두 가지를 생각했다. 1. 로그 분석 시스템 도입 흔히 ELK 스택으로 불리는 ElasticSearch, Kibana, Logstash에 Beats가 추가되었다. 로그를 파일로 저장하고 File beats로 Logstash로 전송 후 전처리하여 ElasticSearch에 저장... 이런 플로우..

Programming/Java

final 키워드

final 클래스 클래스 선언 앞에 final 키워드가 쓰이면 해당 클래스는 상속이 불가하다. //예시 final class FinalClass{ ... } clas SubClass extends FinalClass { //-> 컴파일 오류 ... } final 메소드 final로 메소드를 선언하면 해당 메소드는 오버라이딩이 불가능하다. 자식클래스는 부모 클래스의 특정 메소드를 오버라이딩 할 수 없고 상속받아 그대로 사용하여야한다. final 필드 final로 필드를 선언하면 해당 필드는 상수로 되어 변경이 불가능하다.

Programming/Java

[코딩 기초 트레이닝] java - Day 3

class Solution { public int solution(int a, int b) { int doubleAB = 2*a*b; int ab = Integer.parseInt(Integer.toString(a) + Integer.toString(b)); return ab>=doubleAB?ab:doubleAB; } } 문자열 섞기 class Solution { public String solution(String str1, String str2) { String answer = ""; for(int i = 0 ; i Integer Integer.parseInt(str) String.valueOf(str) Integer -> String Integer.toString(int) 두 수의 연산값 비교하기..

Programming/Java

[코딩 기초 트레이닝] java - Day 2

덧셈식 출력하기 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.printf("%d + %d = %d" , a, b, a + b); } } 문자열 붙여서 출력하기 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); S..

Programming/Java

자바 주피터 노트북으로 실행하기!

파이썬이 좋은 점은 인터프리터 언어라서 컴파일 없이 바로 실행이 되는 것이고, 인공지능, 데이터 공부하면서 주피터 노트북에 익숙해졌고 코드 한 줄씩 확인하면서 짜는게 매우 편리하다. 그 장점을 자바에 그대로 활용하는 방법! ⭐️ 먼저 로컬 pc에 아나콘다가 설치되어있어야한다. 아나콘다가 설치되어있다면, 가상환경을 하나 만들고 주피터 노트북을 설치해준다. (새로운 가상환경은 안만들어도 된다. 원하는 환경에서 해도 된다. base 가능) conda activate venv Requirement jdk >= 9 ubuntu jdk 11 설치방법 sudo apt-get install openjdk-11-jdk IJAVA 다운로드 및 설치 https://github.com/SpencerPark/IJava/rele..

Programming/Java

[코딩기초트레이닝] java - Day 1

문자열 출력하기 // 나의 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); System.out.println(a); } } 기억할 점 import java.utils.Scanner; Systemn.out.println(); a와 b 출력하기 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = s..

Heaea
'Programming/Java' 카테고리의 글 목록