개발 34

Almalinux 9.x minimal에서 logrotate가 안되는 문제

사실 잘 작동하는지 확인 안했다. 실패하면 글 삭 ㄱ문제Almalinux 8.7에서는 logrotate가 잘 됐는데 9.3으로 업데이트를 한 뒤로 안되기 시작했다.Nginx, 앱 로그 용량이 늘어나면 시스템에 좋지 않기때문에 조치를 취해보자.(Docker에서 실행하는 컨테이기때문에 서비스 재 배포를 통해 해결할 수 있지만..)아마도 RHEL계열 9.x minimal 버젼에서는 거의 대부분 발생할 문제라고 생각한다.해결온갖 삽질을 다 했는데.. 무슨 이유 때문인지 9.x에서 /etc/cron.daily/logrotate 스크립트가 누락되어있다. (5252 어디까지 minimal 할 셈이냐?!)#!/bin/sh/usr/sbin/logrotate /etc/logrotate.confEXITVALUE=$?if [..

개발/Linux,Server 2024.07.04

Next.js 서버 실행시 host가 private ip로 bind되는 경우

문제Next.js는 애플리케이션을 실행(next start)하면 host가 127.0.0.1로 bind된다. 따라서 브라우저에 http://127.0.0.1을 입력하면 내가 만든 프론트 페이지로 이동할 수 있다. 또는 /etc/hosts에 localhost가 등록되어 있다면 http://localhost로 접속하는 것도 가능하다.그런데 Next.js 특정버전 이상부터 (v13.4.7 이상으로 추정) 애플리케이션 실행 시 host가 192.168.x.x과 같은 private ip로 bind되는 문제가 발생한다. 내부적으로 서버 실행 시 hostname 가져오는 방법이 달라진 것 같다. (소스 찾아봤는데 까먹음) 로컬에서 개발할 때야 http://192.168.0.x..로 접속해서 한다 쳐도 운영환경에서는 ..

개발/Frontend 2024.06.27

광명찾는 Intellij vmoption 설정 값

Intellij vmoptionZulu JDK 17버젼 사용중.Intellij 프로젝트 3~5개에서 자바 애플리케이션 6개정도 띄워놓는 게 일반적이 전에는 컴퓨타가 너무 버벅여서 작업하기가 너무 힘들었음아래 값으로 개발환경 광명찾음단 한번도 Intellij가 버벅이지 않음-ea-server-Xms1024m-Xmx5120m-Xss256k-XX:+UnlockExperimentalVMOptions-XX:-UseSerialGC-XX:-UseParallelGC-XX:-UseG1GC-XX:+UseZGC-XX:+IgnoreUnrecognizedVMOptions-XX:+HeapDumpOnOutOfMemoryError-XX:-OmitStackTraceInFastThrow-XX:ReservedCodeCacheSize=51..

개발/Linux,Server 2024.06.24

일본의 개발언어/환경별 채용회사 수

갑자기 일본 채용시장에서 프로그래밍 언어/프레임워크 비율이 어떻게 되는지 궁금해졌다. 그래서 일본내의 유명 구인/구직 서비스인 doda.jp에서 개발언어/환경별 채용 건수를 조회해봤다. 2023년 11월 2일 기준 언어/환경 건수 Java 14,520 Python 7,423 PHP 6,534 JavaScript 5,754 C++ 4,945 Ruby 2,499 Node 1,398 Spring 1,278 Ruby on rails 1,020 Ruby나 Ruby on rails가 제일 많은줄 알았는데 역시 Java..

SpringBatch에서 @EnableBatchProcessing때문에 Job이 실행되지 않는 문제

개요 (Overview) SpringBatch 3.x에서 Job이 실행되지 않는 문제가 발생했다. We encountered an issue where the Job was not running in SpringBatch 3.x. 문제 (Problem) SpringBoot 3.0 (정확히 v3.0.0-M5)는 부터는 @EnableBatchProcessing을 사용하면 BatchAutoConfiguration.java에서 jobLauncherApplicationRunner bean 생성을 하지 않는다. 나는 Multiple datasource를 사용하고 있기 때문에 datasource, transactionManager를 지정하기 위해 반드시 사용해야 했다. As of SpringBoot 3.0 (prec..

개발/Java,Spring 2023.06.01

Spring Boot 2.x에서 3.x로 업데이트

자바 17 이상으로 변경 asdf 또는 sdkman 등으로 java 17을 설치하고 build.gradle에 sourceCompatibility값을 수정한다. 변경 전 sourceCompatibility = '11' 변경 후 sourceCompatibility = '17' gradle에서 Spring Boot 3.0.5로 변경 build.gradle 변경 전 id 'org.springframework.boot' version '2.x.x' 변경 후 id 'org.springframework.boot' version '3.0.5' gradle에서 querydsl 라이브러리 변경 변경 전 implementation 'com.querydsl:querydsl-core' implementation 'com.que..

개발/Java,Spring 2023.04.04

"여러개의 기술을 담당 하니깐 경쟁력이 떨어지는 것 같아요"

작은 스타트업에서 프론트, 백엔드, 인프라를 담당하고 있습니다. 백엔드만 개발하는 사람에 비해 이직시 경쟁력이 떨어지는것 같아요. 어떻게 해야 좋을까요? 이런 질문을 몇 번 받았다. 그럴 때마다 머릿속에 악마가 방문했다. 그 악마는 본질을 흐트러트리며 내가 문제를 쫓아가지 못하게 단어를 마구 던졌다. '스타트업, 여러 개, 백엔드, 경쟁력 등등..' 결국 난 언제나 제대로 된 조언을 드리지 못했다. 항상 마음에 아쉬움이 남아있었다. 나는 학생 때부터 여러 개의 기술을 넓고 얕게 공부했다. 사실 그때는 공부가 아니었다. 프로그래밍이 재미있었고, 만들고 싶은 프로그램이 있으니 거기에 맞는 필요한 기술들을 조금 익힌 것뿐이었다. 그리고 '여러 개'도 아니었다. 개발자로 취업을 하려면 당연히 알아야 하는 건 줄..

호돌맨 2022년 총 결산

모든 결정은 크든 적든 인생에 전환점을 준다. 그런데 2022년은 어느 해 보다 큰 의미를 갖는 일들이 많았다. 목표도 대부분 이루어냈다. 여러 이유로 회고까지는 아니고.. 호돌맨 2022년 총결산을 해보려고 한다. 1. 반려생활 현재 반려생활은 서버 개발자 1명(나), 프론트엔드 개발자 1명으로 이루어져 있다. 프론트 개발자분은 ReactNative를 담당하고 계신다. 좋지 않은 DX에서도 열심히 일 해주시는 프론트 개발자 분에게 고맙다. 나는 백엔드, 프론트엔드 웹을 포함해 다양한 일을 하고있다. 물리적 한계 탈피, 다양한 비즈니스 확장을 위해 2023년에는 백엔드, 웹 프론트엔드 개발자를 추가 모집하지 않을까 예상한다. 2022년 초에는 대부분의 인프라를 AWS로 통합했다. 기존에는 개발서버가 국내..

맥 환경 세팅

맥 세팅 M2 노트북으로 바꾸고 세팅과정을 정리해봤다. 키보드/단축키 설정 karabiner 설치: https://karabiner-elements.pqrs.org/ For all devices > right_command 를 f18로 매핑 개인 키보드(Realforce 87)에서 아래와 같이 키 변경 left_command > left_option left_option > left_command right_option > f18 맥 키보드 설정 키보드 → 키 반복 빠르게로 변경 단축키 → Spotlight → Spotlight 검색 보기, Finder 검색 윈도우 보기 단축키 제거 단축키 → 입력 소스 → 이전 입력 소스 선택을 F18 (right_command)로 설정 효율성 앱 크롬: https:/..

(React) proxy기반의 반응형데이터 관리

React 반응형 데이터 React에서는 반응형 데이터를위해 setState를 이용한다. 그런데 클래스 인스턴스로 데이터를 관리하고싶은 경우 인스턴스 자체의 변경점이 지정되며, 인스턴스내의 데이터를 변경 하고싶은경우 spread방식을 이용하기때문에 불편하다. React에서 proxy기반의 상태(반응형)관리 해주는 Valtio라는 라이브러리를 발견했다. 해당 방법을 이용하면 쉽게 클래스 인스턴스를 관리 할 수 있다. Vue3에서 reactive (or ref)와 비슷한 느낌인것 같다. 그러면 아래와같이 직관적으로 반응형 데이터를 만들어줄 수 있고 변경또한 객체에 메시지를 전달하여 해결할 수 있다. 예제코드 import React, {useEffect, useState} from "react"; import..

개발/Frontend 2022.07.08