java
-
초기화 블럭 (initialization block)IT/JAVA 2023. 1. 29. 22:38
개발하면서 익숙함에 속아 기본을 잊어버리곤 한다. 중요하게 생각하지 않았던 초기화 블럭에 대해서 정리한다. 초기화 블럭 1. 클래스 초기화 블럭 - 클래스 변수의 복잡한 초기화에 사용된다. - 인스턴스 초기화 블럭 앞에 단순히 static을 덧붙이기만 하면 된다. 2. 인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다. - 단순히 크래스 내에 블럭 {} 만들고 그 안에 코드를 작성하기만 하면 된다. ** 초기화 블럭 내에는 메서드 내에서와 같이 조건문, 반복문, 예외처리구문 등 자유롭게 사용하 수 있으므로, 초기화 작업이 복잡하여 명시적 초기화만으로 부족한 경우 초기화 블럭을 사용한다. class Block { static { System.out.println("static {}"); //..
-
JAVA - MD5, SHA256 암호화 하기 (해쉬 코드 얻기)IT/JAVA 2020. 6. 9. 12:31
특정 텍스트를 암호화하여 DB에 보관해야 하는 일들이 있습니다. 특히 패스워드 같은 것은 입력받은 문자 그대로 저장하는 것보다 암호화하여 저장하는 것이 보안을 더 높일 수 있으며, 많은 건수의 데이터들을 중복을 찾을 때 해시값으로 찾게 되면 조금 더 편리하게 이용할 수 있습니다. 암호화 또는 파일 무결성 검사 용도로 쓰이고 있는 MD5, SHA-256에 대해서 알아보도록 하겠습니다. MessageDigset Class java.security.MessageDigest 클래스를 사용하며, 해시 알고리즘에는 MD5, SHA-1, SHA-256 등이 있습니다. MessageDigest.getInstance(String algorithm) 메소드의 인수에 알고리즘 이름을 지정함으로써 해당 알고리즘에서 해시값을 ..
-
프로젝트 완료 - Batch Scheduler Demon 개발프로젝트 완료 2020. 5. 20. 10:45
설명 프로젝트를 참여하다보면, 서버 내 root권한이 없어 crontab 기능을 사용하지 못하는 경우가 많습니다. 그 경우에 사용할 수 있는 데몬을 개발하였습니다. Batch Scheduler란 crontab과 유사한 스케줄링 기능을 할 수 있도록 개발한 프로그램이며, jar, shell, config 파일들로 구성되어있습니다. 사용자가 실행해야 할 스크립트 경로와 시간을 입력하여, 해당 시간에 실행시켜주는 프로그램입니다. 입력한 스크립트의 실행 주기는 1일 1회로 고정적으로 사용할 수 있으며, 실패 시 재처리 기능을 포함하고 있습니다. 현재 사용하고 있는 자바 버전에 구애받지 않고, JDK 1.8버전의 jdk 폴더만 구성해주면 실행이 가능합니다. 개발환경 OS : Windows10 Pro Vmware ..
-
JAVA - 텔레그램 API 봇을 이용하여 메시지 보내기IT/JAVA 2020. 5. 8. 23:52
안녕하세요. 텔레그램 API 봇을 이용하여 메시지를 보내 보는 소스를 만들어 볼 예정입니다. 텔레그램 API 봇을 만들어, 그 봇을 대화방에 초대하면 서비스를 관리하거나, 보고를 자동화 할 수 있는 기능들이 나올 것 같아요. 무수히 많으므로, 요것들을 기초로 응용하여서 만드시면 될 것 같습니다. 1. @BotFather 호출 텔레그램 모바일 또는 웹을 통하여, 검색창에 'BotFather' 을 입력하여 검색합니다. 2. 시작 및 새로운 봇을 생성합니다. 1) /start 입력 2) /newbot /newbot을 입력하면, 첫번 째 질문으로는 name을 정하라고 나옵니다. 여기서의 name은 중복이 가능하고 변경도 가능하니 편하게 적으시면 됩니다. 두번 째 질문으로는 username을 정하라고 나옵니다. ..
-
Spring - Ajax (비동기) 통신 ( 로그인 기능 및 List 출력 )IT/Spring 2020. 5. 8. 13:18
안녕하세요. 저희가 AWS 서버를 이용하여 웹서비스 프로젝트를 만들었습니다. https://kshman94.tistory.com/31 Spring - Amazon RDS DB 연동 및 확인 (Insert, Select) 안녕하세요 :) 전 시간에는 Amazon RDS DB를 생성하고 설정하는 방법을 했는데, 오늘 시간에는 설정한 RDS DB를 Spring Boot와 연동을 해보려고 합니다. 요거까지 설정이 된다면 개발 셋팅이 얼추 마무리가 되어가.. kshman94.tistory.com 위 프로젝트를 통하여, Ajax 통신을 이용하여, 웹서버와 통신하여 요청된 내용에 따라 데이터를 가공하여 웹 페이지로 돌려주는 예제를 만들어 보려고 합니다. Ajax 통신은 실무에서도 매우 많이 쓰이니 한번 공부하며 익혀..
-
JAVA - 로또 게임 만들기IT/JAVA 2020. 4. 28. 18:36
SK 고용디딤돌 JAVA 교육 중, 두번 째 과제는 '객체지향적으로 로또게임 만들기' 였네용ㅎㅎㅎㅎ 벌써 4년 전에 받았던 교육이지만, 이런걸 제가 했었다니 다시 프로그래밍에 대해서 다짐하게 되네요. 부끄럽슴당ㅎㅎ :) 소스는 이렇습니당. import java.util.Scanner; public class LottoGame { public static void main(String [] args) { Scanner sc = new Scanner(System.in); int[] user = new int[6]; int[] com = new int[6]; int count = 0; for(int i=0; i
-
JAVA - 가위바위보 만들기IT/JAVA 2020. 4. 28. 18:32
SK 고용디딤돌의 JAVA 교육 중, 가장 처음으로 했던 것이 'JAVA로 가위바위보 만들기' 였습니다ㅋ.ㅋ 지금보니까 너무 귀엽고 웃기네요. 네이버 블로그를 했을 때 네이버 블로그에 있던 글들을 하나씩 옮기다보니, 기억이 새록새록합니다ㅎㅎㅎ 벌써 4년 전이네요.. :( 코드는 이렇습니다. 혹시나 필요하실까 올려드립니당. import java.util.Scanner; public class GGB3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int CntTotal = 1; // 지금까지 총 횟수 int CntWin = 1; // 이긴 횟수 int CntLose = 1; // 진 횟수 int CntDraw ..
-
JAVA - 상속 및 인터페이스IT/JAVA 2020. 4. 28. 18:25
JAVA 에는 'extends - 상속' 과 'implements - 인터페이스를 구현'하는 것이 있습니다. 예시를 들기보다는 이번에는 기본에 대해서 SK고용디딤돌에서 배웠던 내용을 정리해보았습니다. 상속 자식(하위) 클래스가 부모(상위) 클래스의 맴버를 물려 받는 것 자식이 부모를 선택해 물려 받을 수 있다. 상속 대상 : 부모의 필드와 메소드 상속의 효과 부모 클래스 재사용해서 자식 클래스를 빨리 개발 가능하다. 반복된 코드의 중복을 줄인다. 유지 보수 편리성을 제공한다. 객체 다형성 구현이 가능하다. extends class 자식클래스 extends 부모 클래스 다중상속을 허용하지 않는 2 가지 같은 이름이 있어서 변수가 햇갈릴수 있어서. 베이스 부모를 어떤걸 해야할지 몰라서. 자식 객체 생성하..