본문 바로가기

전체 글

(391)
[JAVA] record (java 14 이상) * record 불변(immutable) 데이터를 간결하게 표현하기 위한 클래스 타입.생성자, getter, equals(), hashCode(), toString() 등이 자동 생성.(Java 14에 도입, Java 16부터 정식 기능으로 채택) 아래처럼 선언한다면,public record CommandResult(String status, String msg) {}다음과 같은 클래스가 자동 생성되는 것과 동일하다.import java.util.Objects;public final class Result {// final필드 private final String status; private final String msg;// 생성자 public Result(String status, S..
[MYSQL] NOT LIKE vs NOT REGEXP Mysql 쿼리 where 조건절에서 user_id 가 a 또는 b으로 시작하지 않는 문자열 제외하려면user_id NOT LIKE 'a%' AND user_id NOT LIKE 'b%' user_id NOT REGEXP '^[ab]' * 기능 차이 항목 NOT LIKE NOT REGEXP지원 범위단순문자열 매칭 -> 와일드카드 (%, _)정규표현식 전체 사용 가능복잡한 조건어렵고 길어짐한 줄로 다양하게 표현 가능여러 조건 묶기AND, OR 로 조건 나열해야 함'^[ab]' 같은 식으로 한 번에 가능문자열만 사용숫자에 LIKE 쓰려면 CAST() 필요REGEXP는 문자열로 간주 가능함 ( '^[25]' ) * 성능 비교 항목 NOT LIKENOT REGEXP인덱스 사용 여부NOT이 붙으면 인덱스 사..
[LINUX] systemd (service+timer) 특정 스크립트 파일을 실행시키는 스케쥴러를 만든다고 할 때, systemd (service+timer)1. service하위 경로에 'backup' 이라는 이름의 service를 만들어 준다. /etc/systemd/system/backup.service (기본 구성)[Unit]Description=Daily backup script service[Service]Type=simpleExecStart=/home/user/scripts/backup.sh- Description 서비스에 대한 간략한 설명.- Type 서비스가 어떻게 시작되고 동작할지에 대한 설정. (기본값 : simple )simple (기본값) : 명령을 포그라운드로 실행. systemd는 명령 실행 즉시 서비스 시작됨으로 간주.for..
[Rasa] nlu - entity활용, entity 동의어 처리 보호되어 있는 글입니다.
[Windows] 로컬 DNS 매핑 보호되어 있는 글입니다.
[Docker] Docker Compose - 컨테이너 보안 보호되어 있는 글입니다.
[Python] top-level 코드 ( import시점 & runtime 시점 ) 파이썬에서 top-level 코드는 해당 모듈의 import 시점에, 단 한 번만 실행된다.* top-level 코드 : 함수/클래스 밖의 모듈. ( if 분기문, for 반복문, print 등 포함 ) (config.py)from datetime import datetimeprint(f"===import 시점 실행===")NOW = datetime.now() # top-level 코드print(f"[config.py] NOW(import): {NOW}")print(f"===import 시점 실행===")def get_current_time(): # top-level 코드 global NOW return NOW(main.py)from config import get_current_tim..
[JAVA] 타입 소거 (Type Erasure) 자바의 타입 소거? 자바의 설계 철학과 하위 호환성 때문에 생긴 개념. 기존 자바코드(JDK 1.4 이하)는 아래처럼 타입 안정성이 보장되지 않았었는데List list = new ArrayList();list.add("hello");list.add(123); // 문제 없음자바5부터 아래처럼 제네릭이 도입되면서 컴파일 과정에서 데이터 타입을 검사하게 됨.List list = new ArrayList();list.add("hello");list.add(123); // 컴파일 에러 제네릭 기능을 기존 자바 코드와 호환되게 하면서도, JVM 구조를 변경하지 않고 도입하기 위한 기법이 타입 소거!!컴파일 시에 제네릭을 검사하지만, 컴파일 이후에는 타입 정보가 사라지게 된다. 이로 인해 아래의 문제점들이 발생..