도커의 동작원리 컨테이너 내부 ⇒ 리눅스 OS비슷한 무언가 들어있음(커널이 아닌 주변부) OS의 역할 사람이 내린 명령을 하드웨어가 알아먹을 수 있는 언어로 번역하여 전달함 OS의 구조 커널부+ 주변부 로 구성 하드웨어 ↔ 커널 ↔ 주변부분 ↔ 소프트웨어 하드웨어 ↔ 커널 ↔ 도커 엔진 ↔ 주변부분 ↔ 소프트웨어 도커 엔진이 주변 부분의 프로그램 명령을 전달받아서 커널에 전달하는 구조 컨테이너에 리눅스 커널 외의 주변 부가 들어 있기 때문에, 도커는 기본적으로 리눅스 운영체제에서만 동작함 ⇒ Window, mac용 SW가 안돌아감 아니 그러면 윈도우는 못써요? virtual Box나 VM Ware같은 가상환경에 리눅스 환경울 설치하고 도커실행 or 윈도우용 도커 데스크톱처럼 필요한 리눅스 운영체제를 포함..
분류 전체보기
도커 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어 다양한 프로그램과 데이터를 각각 독립된 환경에서 격리시키는 기능을 제공함 도커는 리눅스 환경에서 동작하며, 컨테이너에서 동작하는 프로그램들도 리눅스용 프로그램임 컨테이너 서버, PC환경을 분할시켜 독립된 환경을 구성한 것 도커 컨테이너를 다루는 기능을 제공하는 소프트웨어 도커 엔진 도커를 사용하기 위한 본체 컨테이너를 만들거나 구동하는 역할 이미지 컨테이너를 만들기 위한 빵틀(class) MySQL이미지로는 MySQL컨테이너를 만들 수 있음 격리가 필요한 이유 각 프로그램은 실행환경이 필요함 1. 소프트웨어 하나하나가 단일 프로그램이 아니라 여러개의 프로그램으로 구성된 경우가 많은데, 하나를 업데이트 했다가 다른 서비스가 안돌아가는 경우가..
내용에 문제가 있는 경우 삭제,수정 조치 하겠습니다.부스트 캠프에 참여하여 1주차를 마쳤다! 나는 학과는 전공이 아니지만, 학과 수업에서 관련 내용을 배운 적이 있다. 그래서 굳이 따지자면 반전공자쯤 되는 것 같다. 1주차를 마친 소감은..솔직히 왠지모르게 육군훈련소 시절이 생각이 났다... 육체적으로 막 힘든건 아닌데, 정신적으로 훈련을 받는 느낌? 물론 모니터를 하루에 12시간씩 넘게 보다보니 육체적으로 피곤한 것도 있다. 매일 미션이 나와서 해결하는데 이 미션이 정말 쉽지않았다. 보통 미션이 나오면 이랬다.1. 미션에 필요한 지식을 어디선가 들어는 봤으나... 정확히는 모른다. 2. 미션에 필요한 지식이 초면이다 .... (이러면 그 날은 새벽까지 해야했다.)정말 쉽지 않은 일주일이었고, 새벽까지 ..
다들 AWS쓰다가 예상치 못하게 돈을 상납한 경험이 있을 것이다. 일 이천원이면 괜찮은데 이러면 정말 마음이 아프다. 그래서 준비했다. AWS Budgets 설정하기 AWS Budgets 홈으로 가보자 예산 생성을 눌러보자 프리티어 요금제 놀랍게도 제로 지출 예산을 지원한다! 이메일 수신자에 연락받을 메일을 입력하면, 지출이 생기는 경우 바로 메일이 오게된다. 10명까지 되니 관리하기가 좋다. 생성이 완료된 모습 알림 메일 비용이 발생하면 이렇게 알림이 오게 된다. 그래도 이제 우리는 언제, 어디서 내 돈이 삭제되는지는 알게되었다!
2022년에 개인적 성장을 이뤄냈다면, 2023에 들어서는 개인적인 성장은 물론, 성장하는 조직을 만들고, 나의 능력을 수익화시키는 해라고 생각한다. 성장하는 조직 만들기 멋쟁이사자처럼 프론트엔드 파트장으로서 활동하며, 어떻게 하면 파트원들이 함께 성장하는 문화를 만들 수 있을지 고민했다. 가장 잘 된 것은 회고문화였다. 원래 처음생각할때는 멋사 중앙대 사이트 기능으로 넣으려 했던 기능이었는데, 기획단계에서 진행되지 않아서 노션을 통해 진행했다. 그런데 지나고 보니 오히려 노션이라서 댓글달기도 좋고, 보기도 더 편한 것 같다. 매 세션마다 배운 것들, 느낀 것들을 회고하여 공유하는 것을 통해 함께 자라는 문화를 조금이나마 멋사에 가져올 수 있었다. 더불어 이런 문화를 가져옴에 따라 작년 같은 시간대비 더..
https://www.youtube.com/watch?v=KMJE9FIDZl8&t=27s 멋쟁이사자처럼 11기에서 진행한 세션 실습내용입니다. 노션 https://energetic-palm-634.notion.site/JWT-da4634014dab4eb58445bf3bf1ed94c1?pvs=4
장고 프레임워크의 경우에는 raise Exception만 하면 알아서 오류코드를 넘겨줬었다. 근데 express는 그런 공통 에러처리가 없어서 controller단에서 전부 오류를 처리해줘야하는 문제가 있었다. 이런식으로 모든 오류에 대해 catch한다음 status와 메시지를 전부 따로따로 처리해줘야 한다. 이런 경우, 두 가지 문제가 생긴다. 1. 예상치 못한 경우, 에러처리를 해줄 수 없다. => 이런 경우, 처리됐다고 response는 전송되지만 제대로 적용되지 않는 문제가 발생할 수 있음 2. res.status(상태코드).json(어쩌구...)하기 너무 귀찮음... 공통 에러 처리하기 https://expressjs.com/ko/guide/error-handling.html Express 오류..
nodejs서버를 code Deploy를 활용하여 배포하려고 했으나 이 오류를 마주했다. 2023-05-21 01:58:44 INFO [codedeploy-agent(731)]: [Aws::CodeDeployCommand::Client 400 0.034523 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:ap-northeast-2:634327468890:instance/i-123812e") Aws::CodeDeployCommand::Errors::AccessDeniedException 이 오류를 맞이했을때 체크해봐야 할 건 두가지다. IAM 권한 확인하기 EC2 IAM : S3, CodeDeploy에 대한 권한들 AmazonEC2RoleforAWS..
Friending서비스를 구현하기위해 해시태그 검색, 해시태그를 통한 유저 검색을 구현하게 되었다. DB는 MySQL이고, 서버는 nodejs, express환경이다. 삽질 이를 위해서 처음에는 User와 HashTag테이블에 각각 HashTags, Users라는 컬럼을 만들고 배열형태로 저장하려고 했다. 초기 로직 설계 추가만 생각하고 섣부르게 구현하지말자...라는걸 배웠다. 이렇게 하면 이 태그들을 어떤 순서로 보장할 것인지, 어떻게 삭제할 것인지가 어려워지고, 탐색을 위한 시간이 많이 필요해지게 된다. 해결 추가 테이블 생성 user테이블은 그대로 두고 hashTag와 hashTagRelation이라는 테이블을 새로 만든다. 해시태그가 추가될 때 hashTag테이블에서 찾아보고, 없으면 새로 생성하..
ORM이 뭐임 ORM은 Object Relational Mapping의 약자로 객체와 DB의 관계를 매핑해주는 도구다. 객체지향적 코드를 활용해 더 직관적이고 비즈니스 로직에 더 집중할 수 있게 해준다. SQL대신에 좀더 직관적인 코드와 메서드로 데이터를 조작할 수 있게 되는 것. 설치, 프로젝트 적용 npm i typeorm 기존 프로젝트에 적용하기 npx typeorminit --database mysql 나는 mysql을 쓸꺼니까 이렇게 해줄 것이다. 보통 구글링하다보면 createConnection함수나 ormconfig.json을 통해 설정하는데, 이건 0.2.45버전에 해당하는 세팅이고, 0.3부터는 createConnection, ormconfig.json이 없어졌으며 data-source...