[arm, amd] M1 맥북에서 intel 버전 사용기(rosetta 전용 터미널 만들어 편하게 사용하기!)
Project/(공통)troubleshooting2024. 5. 8. 00:49[arm, amd] M1 맥북에서 intel 버전 사용기(rosetta 전용 터미널 만들어 편하게 사용하기!)

[작성중]0. 상황    - 새로 참여하게 된 프로젝트가 arm을 지원하지 않는 python 버전(3.7.9)을 사용하고 있었다.    - 하지만 나의 노트북은 M1(arm)... 어쩌지!      ( 관련된 나의 python 관련 삽질 일기는 여기! 에서 볼 수 있다 ...;-    - 팀 리드분이 "rosetta" 를 이용해 intel 기반으로 환경 설정을 맞출것을 요청하셔서,       iterm을 복제해 rosetta 전용 터미널로 적용하고 brew나 pyenv처럼 자주 사용할 명령어에 대해서는 alias를     적용해 사용하기러 결정했다. + 각 아키텍쳐별 터미널을 켤때 해당 아키텍쳐별 PATH로 알아서 변경해준다면..?1. rosetta가 적용된 iterm2를 만든다!1. finder 에서..

[zsh, iterm2] alias 설정하다가 .zshrc 날려먹은 썰 푼다..(카오스엔지니어링?)
Project/(공통)troubleshooting2024. 5. 6. 17:13[zsh, iterm2] alias 설정하다가 .zshrc 날려먹은 썰 푼다..(카오스엔지니어링?)

0. 상황    - rosetta 전용 iterm shell 을 생성하고, 관련 alias를 생성하던 중.. 잘못된 명령어를 입력해 .zsh 파일이.. 덮어씌워졌다.1. 울지 말고 말해봐  좌절하던 내게 코코가 보내온 한마디....... 그래...! 나는...! 내게 카오스 엔지니어링을 하는 중인거야!2. 원인    - 원인은.. alias를 생성하다가.. 정말..무심결에...입력한.. 단...한줄의... 스크립트에서 시작된다..!! 주의 !! 아래 스크립트는 절대 따라 입력하지 마시오..!!alias rpyenv="arch -x86_64 /usr/local/bin/pyenv" -> .zshrc  그렇다..  >>를.... 정신을 놓은채로 ->로 입력하고 말았다...원래 입력했어야할 스크립트는.. 아래..

[CD] Docker compose, Docker hub, webhook, node.js를 활용한 야매 CD 개발기
Project2024. 4. 17. 18:56[CD] Docker compose, Docker hub, webhook, node.js를 활용한 야매 CD 개발기

1. 학습 계기 기존에 개발해 둔 팀프로젝트들을 배포해서 포트폴리오로 사용하고자 하였다. 직접 AWS server에 올려보니 local환경이 아니기 때문에 발생하는 이슈들이 있었으며, 팀프로젝트 배포당시 발견되지 못했던 이슈들이 있어 수정작업을 하다 보니 매번 수정 후 server에 올려 확인하는 작업이 매우 불편하게 느껴졌다.(기존에는 git repo를 server에 직접 pull 받아 이미지를 build 하는 방법을 사용하다가 용량이 적은 프리티어 서버에서 직접 build를 하는 것에 부담을 느껴 -> build한 파일을 별도의 github repo에 업로드해서 서버에서 pull 받아 사용하던 방법을 사용하고 있었다. 프록시의 경우에는 처음에는 포트포워딩을 설정해 두었다가, nginx를 통해 리버스프..

[aws-elb] target is in an availability zone that is not enabled for the load balancer
Project/(공통)troubleshooting2024. 4. 6. 00:24[aws-elb] target is in an availability zone that is not enabled for the load balancer

0. 상황 - AWS ELB 중 ALB에 nstance-target-group을 변경하던 중, 새로 추가한 인스턴스의 상태가 "Unused"에서 변경되지 않으며, target is in an availability zone that is not enabled for the load balancer가 발생. 1. 에러코드 전문 - "Unused", target is in an availability zone that is not enabled for the load balancer 2. 원인 - 기존에 ELB의 서브넷 그룹관련 test를 하면서 서브넷 그룹을 일부 제외시켰는데, 새로 생성한 인스턴스가 제거된 서브넷 그룹중 하나에 생성이 되면서 발생된 문제이다 3. 해결방안 - load balancer의 작..

Project2024. 4. 2. 21:44작고 귀여운 나의 운영서버를 위한 Spring + react 프로젝트 정적 리소스 배포기(feat.. spring servlet custom filter + 왜 mvc 패턴은 지양되고 있는가.)

BE : Spring + FE : React 프로젝트를 작은 규모의 cloud server(aws : t2.micro, ncloud : Standard)에 배포하며 마주한 이슈 1. 마주했던 고민 외주 프로젝트에서 Backend는 Spring 프레임 워크로 Frontend는 React라이브러리를 활용해 mvp 모델을 개발하던 중, 우선 가장 작은 규모의 cloud server(aws기준 t2.micro - RAM 1GiB)에 배포하면서 어떤 구조로 서버를 배포해야 할지 고민하게 되었다. FE, BE 서버를 각각 run 시킬 것인지, 아니면 하나의 서버에서 각각 다른 포트에 FE, BE server를 구동할 것인지.. 혹은 mvc패턴으로 react 앱을 빌드한 뒤 spring 서버에서 정적 리소스로 제공할..

Project2024. 3. 22. 17:51[cultureLand] 9만건의 Data seeding 대작전(Feat.. 이슈 투성이 Promise + Prisma)

1. promise에 대한 정리가 필요 2. 관련해서 java 의 스레드에 대해서도 정리를 하고싶음(욕심) 관련 글을 작성한뒤에 이 글에 링크로 작성하는 식으로 합씨다 1. 수행했던 단계별로 정리를 하고싶음. 1) import { PrismaClient } from '@prisma/client'; import dayUtil from '../../utils/day'; const detailEvents = require('../data/detailData/detailEvents.json'); const prismaClient = new PrismaClient(); export async function seedEvents() { const startTime = Date.now(); // Promise 배열 ..

Project2024. 1. 24. 13:01[AWS] 아마존 벽돌 그만 사주기 프로젝트, Resource Consolidation(월 15만원 - >2만원)

AWS… 월 청구 비용 25만원. 이게 정말 맞나요?(클라우드에 대한 이해 없이 진행한 배포의 비싼 수업료) EC2 인스턴스 2개에서 spring - jsp 프로젝트와 node-react 프로젝트를 돌리던 어느날, 어마무시한 청구서가 날아왔다. 팀프로젝트를 진행하며 동일한 DB를 사용하기위해 공유했던 각 프로젝트들의 RDS 인스턴스와 더불어서, node-react에 대한 이해 없이 백엔드와 프론트엔드 각각의 js 런타임을 서버에서 돌리기 위해 규모가 큰 EC2인스턴스를 사용한 결과였다. AWS 클라우드와, Node 그리고 JS의 런타임에 대한 이해의 부족이 만들어낸 눈덩이같은 결과였다. 이에, 우선 사용중인 AWS 서비스들이 정말 필요한지 판단을 하기 시작했는ㄷ, 포트폴리오를 위한 서비스들이었고, 유저가..

Project2024. 1. 24. 11:22[Ncloud, AWS] aws밖에 모르던 클라우드린이의 Ncloud 적응기(Feat.. 클라우드에 대한 이해)

1. 학습 계기 취준생 시절, 개인/팀 프로젝트에서 매번 배포를 도맡으면서 AWS EC2, RDS, S3 등을 통한 배포에 어느새 적응해가던 내게, 좋은 기회로 외주 프로젝트의 기회가 찾아왔다. 당연하게 AWS로 배포를 시도하려던 내게 대표님께서 기존 외주 작업자들이 사용중이던 Ncloud를 통한 배포를 요청하셨다. 두구둥.. 그렇다 세상에는 AWS사를 제외하고도 수많은 클라우드 사가 존재했고, 최근 몇 년 간 ncloud사의 적극적인 영업으로 ncloud의 클라우드 시스템을 사용하는 회사들이 많아지기 시작했다고 들었다. 2. 이번 학습으로 인한 기대 효과 사실 기존에는 AWS를 사용하고 있었지만 "클라우드"라는 것에 대해서 완벽히 이해하고 사용하고 있다는 느낌은 받을 수 없었다. 단순히 '이런 상황에서..

Project2023. 12. 26. 17:08front에서는 multipart formdata로 보내준 request가 spring에서는 application octet-stream이 되어 돌아오는 마법(HTTP 표준과 content type, multipart formdata)

obsidian에서 작성중 MultipartResolver를 bean으로 설정해주어야 하는가? No spring 어플리케이션의 경우 web.xml에서 MultipartResolver를 bean으로 직접 등록해주어야 하지만, spring boot 어플리케이션은 default로 제공한다. HTTP 표준과 content type HTTP 표준은 1개의 요청에는 하나의 content type만 전송하는것을 약속함. (여러개의 content 타입을 전송하는것이 불가능한것은 아님.) multipart formdata가 여러 content-type를 보낼수 있도록 만들어진 것 아닌가? multipart formdata란? 디버깅으로 밝혀진 @ReuestParam의 반란 이미지 등의 file 업로드를 별도의 api로 ..

Project2023. 12. 26. 17:06CI 적용기(jacoco + checkStyle + sonar cloud + Github Action)

obsidian에서 작성중 Jacoco : 자바 코드 커버리지를 체크하는 데에 사용되는 오픈소스 라이브러리 Spring boot Gradle 프로젝트는 Build시에 Test를 실행할 까?(Feat… jacoco CI 적용일지)

image