반응형

분류 전체보기 875

ibm db2 설치 및 외부 접속 설정하는 방법 for Windows

먼저 IBM 공식 홈페이지에서 DB2 커뮤니티 버전을 다운 받습니다. IBM Data Server Client를 다운받습니다. 위 두가지를 모두 설치합니다. 설치가 끝나면 command 창을 관리자 권한으로 실행합니다. command 창에서 db2cmd를 입력합니다. 그럼 새로운 command 창이 뜨는데, 상단에 "DB2 CLP" 문구가 있는 것을 확인합니다. 창에 db2를 입력하여 db2로 접속합니다. 데이터베이스 스키마를 생성합니다. create database global2 여기까지 하면 그냥 외부에서 접근이 됩니다. 참고사항으로, 설치할때 50000 port번호만 보여서 계속 접속 시도를 했는데 안됐는데 25000 으로 접속시도를 하니까 성공했습니다. java에서 접속해서 query하는데 han..

java reflection을 통해 class의 setter method를 호출하는 방법

try { User user = new User(); Method method = User.class.getDeclaredMethod("setName", String.class); method.setAccessible(true); method.invoke(user, "Some name"); System.out.println("user.getName() = " + user.getName()); } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } 위 코드의 핵심은 method.setAccessible(true); 입니다. setAccessible()은 필드나 메..

웹 개발 2021.12.13

log4j 취약점 - "컴퓨터 역사상 최악의 최약점 발견"

과학기술정보통신부, apache log4j2 웹서비스 긴급 보안패치 권고 보안패치 미 조치 시 공격자가 원격으로 공격코드 실행 가능 사실상 전세계 거의 모든 서버에서 사용되는 Open source logging 라이브러리인 log4j2에 심각한 보안 에러가 발견되었습니다. 이 취약점(CVE-2021-44228)은 2021년 12월 10일 마인크래프트의 통신서버를 제작하는 PaperMC에서 이 취약점을 이용한 대규모 해킹 시도를 포착하여 긴급 공지 및 취약점 수정에 들어간 것을 계기로 전 세계적으로 알려지게 되었습니다. 이는 하트블리드와 CPU게이트보다 심각한 파급력을 보유한 IT 최대 보안 이슈로 추정되며 테나블(Tenable)에서는 이 사태를 컴퓨터 인터넷 역사를 통틀어 최악의 보안 결함일 수도 있다고..

back end/log4j 2021.12.12

Spring Boot 시작 시, 코드 실행

개발을 하다보면, 프로그램 시작하자마자 실행되어야 할 코드가 있습니다. 예를 들어, Tomcat의 경우 web.xml에 listener를 등록하는 것 처럼요. Spring Boot에도 그런 것이 있습니다. 아래와 같이 ApplicationReadyEvent를 사용하면 됩니다. @EventListener(ApplicationReadyEvent.class) public void doSomethingAfterStartup() { System.out.println("hello world, I have just started up"); }

웹 개발 2021.12.11

Springboot에서 HTTP encoding charset 설정하는 방법

웹 서비스를 개발하면서 charset은 정말 중요합니다. 클라이언트와 서버가 charset이 맞지 않으면 문자가 제대로 표시되지 않는 문제가 발생할 수 있습니다. 아래와 같이 사용자의 정보를 리턴하는 URL이 있다고 가정해봅시다. @RestController public class TestController { @RequestMapping(name = "/test", produces = "application/json") public User test(HttpServletRequest req) { User user = new User(); user.setUserId("admin"); user.setUserName("홍길동"); return user; } } @RestController가 아닌 @Contr..

웹 개발 2021.12.10

디아블로2:레저렉션 크래프트 아이템

크래프트 아이템이란 크래프트 아이템이란, 아이템에 정해진 조합 공식(매직 아이템 + 룬 + 최상급 보석 + 주얼(매직/레어/유니크 모두 가능)을 사용하여 호라드릭 큐브로 조합하여 제작한 오렌지색 이름의 아이템을 말합니다. 크래프트 아이템은 제작할 때마다 해당 조합식에 할당되는 3~4개의 옵션이 고정적으로 붙습니다. 또한, 고정 옵션과는 별개로 최대 4개의 접사(접두사 1~3개, 접미사 1~3개 중 랜덤)가 붙게 되며, 접사로 붙는 옵션은 크래프트로 붙는 고정 옵션과 중첩되어 적용됩니다. 예를 들어 "매우 빠른 캐스팅 속도 증가"(이하 패캐)가 붙는 크래프트 공식을 사용했는데, 해당 아이템에 패캐에 해당하는 접사가 붙게 된다면 이 두 개의 패캐가 중복되어 적용됩니다. 따라서, 일반적으로 매직/레어 아뮬렛에..

게임 2021.12.09

[MariaDB] Charset 변경 utf8 -> utf8mb4

MariaDB를 설치하는 중, 아래 화면에서 Use UTF8 as default server's character set을 체크하면 자동으로 utf-8로 charset이 설정됩니다. 설치 후 SHOW VARIABLES LIKE 'c%'; 명령어를 사용하여 보면 다음과 같습니다. 위와 같이 utf8mb3와 utf8mb4가 섞여 있는 것을 볼 수 있는데요. 뭔가 찝찝합니다. 원래 UTF-8의 경우 4바이트인데 MySQL, MariaDB의 경우 utf8이 3바이트로 구현되어 있었는데 이후 MySQL 5.5.3(2010년 3월) 이후 4바이트인 utf8mb4가 추가되었다고 합니다. utf8mb4를 사용해야 이모지 등 4바이트가 필요한 언어를 사용하고 싶습니다. 깔끔하게 전부 utf8mb4로 통일하고 싶은데요. ..

비밀키(암호화 키)를 문자열로 변환 및 반대로 변환

비밀키를 생성했으면 DB나 파일 등에 저장해야 합니다. 다음은 key를 String으로 변환하여 저장하는 방법과 반대로, String으로 key로 변환하는 방법입니다. import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.security.NoSuchAlgorithmException; import java.util.Base64; public class Test { public static void main(String[] args) throws NoSuchAlgorithmException { // create new key SecretKey secret..

웹 개발 2021.12.07

centos(linux) 네트워크 프린터로 출력

CentOS에서 network printer로 출력을 하는 방법 중, lpr 명령어를 사용하는 방법이 있습니다. 출력을 하려면 아래 절차대로 진행해야 합니다. cups install yum install -y cups​ foomatic install 이것을 설치하지 않을 경우 lpadmin 명령어로 프린터 등록 시도 시 "Unable to connect to server" 에러 발생 yum install -y foomatic​ cups 설정 # vi /etc/cups/cupsd.conf ---- # Listen localhost:631 Listen *:631 Order allow,deny Allow 192.168.0.0/24 #프린트 허용IP대역 Order allow,deny Allow 192.168.0..

OS/Linux 2021.11.26
728x90
반응형
loading