전체 글 874

6월 28일 만나이 시행! 무엇이 바뀌나? 내 나이는?

윤석열 정부의 대표 국정과제 중 하나인 만 나이 시행이 얼마 남지 않았습니다. 올해 6월 28일부터 본격적으로 시행되게 되는데요. 수십 년간 대한민국에서 살고 있는 국민도 헷갈리는 우리나라 나이 계산법이 드디어 없어져서 속이 다 시원합니다. 1. 한국식 나이란 무엇인가? 한국에서 지금까지 나이를 세는 방법은 무려 세가지 였습니다. 만 나이, 연나이, 한국식 세는 나이가 그것인데요. 만약 1977년 12월 31일 태어난 사람이 있다면 각각 다음과 같이 계산됩니다. 1) 만 나이: 44세 출생일 0세 기준으로 생일마다 +1살. 민법상 공식적으로 쓰임 2) 연 나이: 45세 현재 연도에서 출생 연도를 단순히 뺀 나이. 병영법과 청소년 보호법, 초중등교육법, 민방위기본법, 향토예비군설치법 등에 적용 3) 한국식..

정보/생활정보 2023.05.28

Spring Test MockMvc의 한글 깨짐 처리

Spring 또는 Spring boot에서 JUNIT을 사용하여 API(Controller) 테스트 코드를 작성할 때, 다음과 같이 MockMvc를 사용합니다. @SpringBootTest @AutoConfigureMockMvc @Transactional class SubjectsControllerTest { @Autowired MockMvc mvc; @Test public void 상품검색() throws Exception { String keyword = "스포츠"; MvcResult result = this.mockMvc .perform(get("/api/search/" + keyword)) .andExpect(status().isOk()) .andReturn(); } } } 이때, 검색 조건 및 ..

back end/java 2023.05.24

[RedHat, CentOS] shell에서 환경변수 설정이 적용되지 않는 문제 해결 방법(do not work source command in shell script)

RHEL 7.9에서 java 자동 설치 shell을 만들던 중 java build path 지정을 위해. bash_profile에 java의 path를 추가 한 뒤 프로파일 적용 명령어인 source를 실행했는데 적용되지 않았습니다. 다음은 제가 만들었던 shell 코드입니다. echo "" >> $HOME/.bash_profile echo "export JAVA_HOME=/PrintChaserServer/jdk" >> $HOME/.bash_profile echo "export JRE_HOME=/PrintChaserServer/jdk/jre" >> $HOME/.bash_profile echo "export PATH=$PATH:/PrintChaserServer/jdk/bin:/PrintChaserServe..

OS/Linux 2023.05.21

Nginx make install 에러 - koi-win are the same file

[설치 환경] redhat enterprise linux 7.9 nginx를 설치하던 중 configure와 make까지는 잘 끝났는데, make install에서 다음과 같은 에러가 발생했습니다. cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file 결론은 컴파일(make) 위치와, 설치하려는 위치가 동일해서 발생하는 문제입니다. 따라서, 컴파일 하는 기존 경로가 /home/user/nginx-1.20.2 라면 실제 ./configure는 다음과 같아야 합니다. ./configure --prefix=/home/user/nginx --with-zlib=/home/user/zlib --with-pcre=/home/user/pcre..

개발도구/WAS 2023.05.18

[Dart 입문] 람다(lambda)

익명 함수(Anonymous function)와 람다 함수는 둘다 함수 이름이 없습니다. 익명함수에서 { }를 빼고 => 를 추가한 것이 람다 함수입니다. 단, 람다 함수는 { }가 없기 때문에 함수 로직을 수행하는 statement가 하나이어야 합니다(한 줄이 아닌, 명령 단위가 하나). void main() { List numbers = [1,2,3]; int sum = numbers.reduce((value, element) => value + element); print(sum); }

[Dart 입문] 함수 사용방법

1. 기본 int addNumbers(int a, int b) { return a + b; } void main() { // 실행결과: 3 print(addNumbers(1, 2)); } 2. object를 변수로 지정(네임드 파라미터) 여기서 required는 매개변수가 null값이 불가능한 타입이면 기본값을 지정하거나 필수로 입력해야 한다는 의미입니다. int addNumbers({ required int a, required int b }) { return a + b; } void main() { print(addNumbers(a: 1, b: 2)); } 3. 기본 값을 갖는 매개변수 [ ] 기호를 사용하여 매개변수의 값이 없을 경우 기본 값을 지정할 수 있습니다. int addNumbers(int..

[Dart 입문] null 관련 연산자

Dart에서는 변수가 null을 가지는지 여부를 직접 지정해야 합니다. int, double과 같이 자료형을 그대로 사용하면 null을 저장할 수 없습니다. 자료형 뒤에 물음표(?)를 추가해야 null을 저장할 수 있습니다. 아래와 같이 사용하면 에러가 발생합니다. void main() { double number1; print(number1); } 다음과 같이 사용할 수 있습니다. void main() { // 초기값 null double? number; print(number); // ??을 사용하면 기존 값이 null일 때만 저장 number ??= 3; print(number); // 따라서 4는 저장되지 않음 number ??= 4; print(number); }

Dart 입문. Collection(List, Map, Set)

Collection은 여러 값을 하나의 변수에 저장할 수 있는 타입니다. Collection은 서로의 타입으로 자유롭게 형변환이 가능하다는 큰 장점이 있습니다. 1. List 리스트(List)는 여러 값을 순서대로 한 변수에 저장할 때 사용됩니다. 리스트의 구성단위를 원소라고 합니다. 리스트명[index] 형식으로 특정 원소에 접근할 수 있습니다. 첫 번째 원소는 index 0이며, 마지막 원소는 리스트의 길이 -1입니다. void main() { List list = ['홍길동', '임꺽정', '강감찬', '이순신']; print(list); // 리스트 전체 출력 print(list[0]); print(list[3]); // 마지막 원소 지정 print(list.length); // 리스트의 길이 p..

IntelliJ 에서 한글 변수명 사용시 "Non-ASCII characters in an identifier" 경고 끄는 방법

개요 요즘은 예전과 다르게 개발 언어에서 한글을 지원하는 경우가 많습니다. "어? 한글은 예전부터 됐는데?" 할 수 있지만, 여기서 말하는 한글은 변수명, 함수명 등에서 사용 가능한 것을 의미합니다. 즉, 다음과 같이 코딩하는 것이 가능합니다. public class 학생클래스 { public 학생 get학생(String 학번) { // 중간 생략 return new 학생(); } } 하지만 전 겁이 많아서 테스트 클래스에만 한글을 사용하지만요. 한글을 사용하면 가장 큰 장점이 함수명이나 변수명을 정할 때, 사전을 찾아보거나 크게 고민하지 않아도 된다는 점입니다. 그런데 문제는 아래 이미지와 같이 보기 싫게 경고 메시지가 보인다는 점입니다. 아래와 같이 설정을 변경하면 경고 없이 한글을 사용할 수 있습니..

개발도구/IDE 2023.05.13
728x90
loading