우아한 프로그래밍
반응형
article thumbnail
리눅스에서 VIM 특정 단어에 컬러를 부여하는 방법
프로그래밍/리눅스 2024. 12. 24. 14:22

파일생성 후 설정 작성먼저 홈디렉토리에 .vimrc라는 파일 생성파일 생성 후 아래 내용 붙여 넣기#syntax highlighting 활성화syntax on # 특정 단어 하이라이팅 설정highlight Arrived ctermfg=green guifg=cyan# 특정 단어를 잡아서 하이트라이트 적용syntax match Arrived /Arrived/

리눅스(Ubuntu) 에서 Shell Script 서비스를 생성하는 방법
프로그래밍/리눅스 2024. 12. 17. 20:30

Shell 스크립트 작성# 이부분 주의 해야함 맨 윗줄에는 해당 주석이 있어야함.#!/bin/bash# 서비스는 원래 백그라운드로 돌기때문에 nohup이나 & 백그라운드 연산자가 필요 없습니다.JENKINS_NODE_COOKIE=dontKillMe && java -Xms512m -Xmx2048m -jar -Dspring.profiles.active=prd /var/lib/jenkins/workspace/oasis-api/oasis-api/build/libs/oasis-api-1.0.0-SNAPSHOT.jar 서비스 등록# 해당 위치로 이동root@oasis:/app# cd /etc/systemd/system# .service 패턴 파일 생성 C + D 입력하면 생성 됨.root@oasis:/etc/sys..

article thumbnail
MVC 아키텍처에 모델이 하나만 존재한다고?
프로그래밍/Spring 2024. 11. 1. 12:29

모델이 하나?구글에 MVC라고치고 이미지탭으로 가면 죄다 그림에 모델이 하나만 있는게 수두룩하다.이러다 보니까 신입개발자 관점에서는 아 DB에서 가져오는걸 모델이라고 하고 그 모델이 바로 화면쪽으로 넘어가는구나 라고 생각하기 쉽다.물론 모델 하나로도 구현은 충분히 가능하다.그러나 모델 하나로 요청, 응답, DB모델을 표현한다면 차라리 Map을 쓰는게 낫지 않을까?모델을 만드는 이유는 그 모델을 보고도 데이터의 In/Out을 정확하게 판단하기 위함이다.실제 관리하는 데이터와 화면의 데이터는 많이 다르다.가령 DB에는 원재료 즉 밀가루가 저장되어야 하고 화면에는 가공된 빵이 뿌려져야 한다.그런데 처음에 말했다 시피 구글에 치는 이미지에는 절대 그렇게 표현이 되어 있지 않다.모델은 3개가 존재 해야해모델은 아..

도커 데스크톱으로 오라클 11G 실행하는 docker-compose.yml

version: "3.8"services: oracle: image: oracleinanutshell/oracle-xe-11g container_name: oracle-db hostname: oracle-db restart: always ports: - "1521:1521" - "8080:8080" # Oracle Enterprise Manager HTTP port environment: ORACLE_SID: XE ORACLE_PWD: oracle ORACLE_USERNAME: system ORACLE_ALLOW_REMOTE: true volumes: - oradata:/oradata/orclvolume..

article thumbnail
InteliJ + Gradle 빌드가 너무 느려 개발하기 힘든 경우
프로그래밍/InteliJ 2024. 5. 26. 09:33

왜 느릴까요?일단 기본적으로 프로젝트의 컴파일할 클래스가 많이지면 빌드 속도가 느려진다는 것은 어떠한 개발자든 반박하지 못 할 것이다그러함에도 불구하고 우리는 개발에 퍼포먼스를 내야 하는데 빌드가 너무 느려서 힘들다.개발 할 때 핫스왑 도구를 사용하지 않는 사람은 없을 것이다.핫스왑 도구를 사용해도 느리다.핫스왑을 할려면 클래스의 컴파일이 발생하고 왓칭하고있는 폴더의 클래스들이 변경되면 감지를 통해서 다시 메모리로 로드하는데이미 빌드자체가 느린 것이다.그럼 거두절미 하고 왜 느린지 알아보자.정답은 빌드의 방법언제 부터였는지는 모르겠지만 인텔리J의 그래들의 설정을 보면 빌드 및 실행이 Gradle로 바뀌었다.이 부분이 IinteliJ IDEA로 바뀌면 빌드 속도가 엄청나게 빨라질 것이다.왜냐? Inteli..

article thumbnail
파이썬에서 pyinstaller를 간단하게 실행하는 방법.
프로그래밍/파이썬 2024. 5. 22. 21:03

간단하게 사용하지 않으면 어떻게 사용해야 하는데?아래 명령어를 CMD창에 입력해야한다.물론 CLI가 더 편한 사람은 그대로 사용해도 무방하다.pyinstaller main.spec -y 하지만 GUI가 더 편한 사람이라면 아래 설정에 들어가서 배포를 등록해주고..배포를 더블클릭에서 나오는 입력창에 아래 처럼 입력이후에 *.spec 파일 우클릭 후 External Tool에 등록했던 배포를 클릭해주면 된다.

article thumbnail
pyInstaller로 배포 후에 리소스(*.ui, *.txt 등) 파일이 읽히지 않는 오류
프로그래밍/파이썬 2024. 5. 18. 21:04

왜 그럴까?이유는 간단하다파이참에서 읽을 때와 pyinstaller로 배포한 상태에서 읽는 것이 다르기 때문이다.코드에서는 그럼 어떻게 해결해?아래 코드를 보자.코드를 살펴보면 배포되었을 때와 파이참에서 실행 중일때의 코드가 분기문으로 처리되고 있다.해당 코드를 유틸로 만들어서 사용하면 좋을 듯하다.if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): # 배포되었을 때 # When running in a PyInstaller bundle base_path = sys._MEIPASS print('Running in a PyInstaller bundle')else: # 파이참에서 실행 할 때 # When runnin..

article thumbnail
Spring Test @TestPropertySource Yml이 읽히지 않는다(?)
프로그래밍/Spring 2024. 4. 9. 22:20

구조 TestServiceTest.java package com.company.slot.oasis.api.slot.service; import com.company.slot.oasis.api.config.TestConfig; import com.company.slot.oasis.api.config.YamlPropertySourceFactory; import com.company.slot.oasis.api.test.domain.TestService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.spring..

실무에서 꼭 필요한 리눅스 명령어
프로그래밍/리눅스 2024. 2. 8. 05:34

파일 생성 # 파일 생성 # cat > 하면 붙여넣기가 가능한데 그만 입력하고 싶으면 Ctrl + D cat > nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx ports: - containerPort: 80 파일 수정 특정 단어 찾아서 바꾸기 # sed -i 's/찾을문자열/바꿀문자열/g' sed -i 's/old/new/g' example.txt sed -i 's/old/new/g' *.txt 파일 검색 # 로그에서 에러를 찾음. grep -n ERROR pod-nginx-label.yaml ..

article thumbnail
버추얼박스(VirtualBox)에 Nat Network 설정하는 방법에 대해 알아보자
프로그래밍/리눅스 2024. 2. 3. 14:54

쿠버네티스 공부를 위한 네트워크 설정 Nat Network 생성 도구에서 네트워크를 선택하고 NAT Network탭을 선택해주세요 네트워크 대역을 확인해주시고 포트 포워딩을 설정해줍니다. 위 사진의 의미는 호스트 OS에서 127.0.0.1:2022 포트로 호출하면 게스트 OS의 10.0.2.10:22 번으로 포트포워딩 한다는 이야기입니다. 이렇게 설정하면 호스트 OS에서 게스트 OS로 SSH 접속이 가능합니다. 오라클 버추얼머신을 켜고서 Terminal을 실행해서 작업을 진행하셔도 되지만 여러대를 사용해야 하면 번거롭고 UI 존재하기 때문에 호스트OS 리소스도 많이 차지합니다. 따라서 위 처럼 설정하고 Putty나 Xshell 같은 SSH 클라이언트를 이용해서 게스트 OS에 접속하시는 것을 추천드립니다...

반응형