본문 바로가기

Programming

(138)
네트워크 망 구성 (AWS) 에 관하여.. 순서 등 네트워크 망 구성에 관하여 VPC 생성 (클래스 설정, CIDR 설정) Subnet 생성 용도에 맞도록.. AZ 분리, 몇개씩 할당해줄지 설정 Route table 확인 Internet Gateway 생성, 연결 (모르는 ip 전체를 받을 곳) -> 이 후 aws 에서 관리해주어서 신경 안써도 됨 Routing table 에서 routes 수정 -> local 로 받을 destination 기본으로 있고, -> 나머지들 다 internet gateway 로 받도록 설정 (0.0.0.0/0 을 위에 만든 igw 로 연결) Routing table 에서 subnet 연결 편집 -> 위에서 만든 subnet 중, 해당 라우팅테이블에 넣고 싶은 subnet 들을 연결해준다. -> (e.g. public / pr..
컨테이너란? 왜 나왔는가? 도커란? 사용법은? Nextstep 우테캠 프로 인프라 관련 교육 중 부분을 정리 https://edu.nextstep.camp/ 클라우드 서비스를 사용하는 것에 대하여.. 조금 지나서 다시 읽어보니 이해되는 내용이 더 많아서 정리하기 좋았음 블로그에서도 볼 수 있음 -> https://itdar.tistory.com/ Docker 컨테이너에 관하여 우선 컨테이너란? Servlet container, IoC container, Bean container 등 -> 각 무엇인가의 라이프사이클을 관리함 -> 생성 - 운영 - 제거 까지 생애주기를 관리하는 것은 각각의 격리가 필요하다. Docker container는 무엇을 해결하려고 나왔나? ** 기존에는..... HW장비 마련하고, (OS 가상화로 해결 가능) OS 설치하고,..
클라우드란? 클라우드 서비스를 사용하는 이유는? Nextstep 우테캠프로 인프라 관련 교육 중 부분을 정리 https://edu.nextstep.camp/ 클라우드 서비스를 사용하는 것에 대하여.. 조금 지나서 다시 읽어보니 이해되는 내용이 더 많아서 정리하기 좋았음 클라우드란? - 인터넷을 통해서 원격으로 접근하는 모든 것을 말함 - 클라우드 컴퓨팅은 인터넷을 통해 여러 리소스(서버, 데이터베이스, 네트워킹 등)을 관리하는 것 클라우드 사용의 이유는? - 관심사를 나눈다. 아래와 같은 관심사들 개인서버 데이터를 어떻게 관리할 것인가? >> 백업은 어떻게? >> 보안 이슈는 없나? 서버를 어떻게 관리할 것인가? >> 장비 못 끄나? >> 다른 프로그램 돌려도 되나? >> 노트북 두고 다녀야 하나? >> 장비 망가지면 서비스도 중단되나? 네트워크를 어..
Spring MVC 프레임워크 구조 Framework 구성요소 아래와 같은 구조, 9시 방향부터 6시 방향까지 시계 방향으로 진행된다. 1. client 요청이 DispatcherServlet에게 전달된다. 2. DispatcherServlet은 HandlerMapping을 사용해서 client요청을 처리할 Controller 객체를 추출한다. 3. Controller에서 model을 사용하여 client의 요청을 처리한다. 4. Controller는 처리결과 data를 Model(AndView)에 담아서 return한다. 5. DispatcherServlet은 ViewResolver로부터 응답결과를 생성할 view 객체를 추출한다. 6. View는 client에게 전송할 응답이다. Dispatcher Servlet Dispatcher Servlet = Contro..
Nginx 를 사용한 Load balancer 역할의 Reverse proxy 적용 시, 늘어나는 뒷단 서버의 개수만큼 생각처럼 수용량이 늘지 않을 경우 (socket: too many open files) 로드밸런서 역할을 할 리버스프록시 서버 nginx 가 들어있는 docker container 를 실행했다. 처음에는 리버스프록시 뒷단에 ec2 두대로 k6 확인을 했었는데 대략 800? VUs 까지 버티는 것으로 보였다. 아니.. 그러면 단순히 ec2 를 세대, 네대, 다섯대 늘리면 과부하(stress) 테스트를 했을 때 버틸 수 있는 VUs 수가 그 만큼 선형으로 증가하는가?? 해서 ec2 를 5대까지 늘려보았다. 근데 계속 1000 VUs 근처에서 too many open files 에러가 나면서 request fail 이 뜬다. 나중에 보니 정확히는 1024 VUs 였는데, ulimit -a ulimit -aH // 하드 ulimit -aS // 소프트 유저 리밋에서 파일 오픈 가능 개수가 1024..
Docker container stop 시에 permission denied 에러 도커 컨테이너 잘 돌리다가 삭제가 안되는 경우가 종종 있다. ``` sudo aa-remove-unknown ``` 위의 것을 입력해주면 관련 apparmor 를 날려주고 삭제가 된다. 이 때, apparmor 가 뭔가 찾아보니 리눅스의 보안 관련 커널이다. 특히 docker 를 snap 으로 설치하면 많은 AppArmor profile 이 쌓이고, 충돌이 날 수 있다고 한다.
JPA 관련 에러 error, Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement " ~ "; expected "identifier"; SQL statement: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement " ~~~ (sql 문) "; expected "identifier"; SQL statement: 위와 같은 에러로 한참 찾다가 보니.. db sql 에서 Order 이라는 키워드를 사용해서 Order 이라는 클래스를 사용 못하는 문제였음 Order뿐 아니라 다른 자바의 키워드도 클래스명으로 매핑하면 사용 불가할 것으로 보임
Anaconda environment copy, 아나콘다 환경 복사 생성 가상환경정보 추출해서 파일 생성 > $ conda env export -n testEnvironment> test.yml 추출한 파일로 다른 pc 에서 동일한 가상환경을 생성 > $ conda env create -f test.yml (test.yml 을 만들 때 사용된 환경의 이름과 동일한 환경으로 생성됨) anaconda 에서 설치된 패키지 중, 파이참에서는 동작하나 vscode 에서는 동작하지 않는 경우가 종종 있다. > $ pip install --force-reinstall matplotlib pip로 다시 설치하면 해결된다.