본문 바로가기

분류 전체보기

(104)
테스트코드 그거 좋다는데 언제 해야되나요? 개인적 경험 최근 구인공고를 보면, 테스트코드 관련해서 우대사항에 집어넣는 회사들이 대다수더라. (사실상 필수) 그래서 그런지 내가 수료한 내일배움캠프에서도 과정에 포함되어 있었다. 다만 좀 내용이 어렵기때문에 나를 비롯한 다른 팀원들도 약간 당황하기는 했다. Mocking이니, 의존성이니 하는 용어가 갑자기 튀어나오니... 확실히 Nest.js는 편하다. 알아서 테스트(Jest)에 맞춰서 폴더구조같은것도 다 짜주니까 그냥 Run만 누르면 되는 수준이다. 그래서 처음에는 너무 편하고 신기했는데... 그렇다고 Nest가 없는 상황에서 '저는 네스트에서 해주는대로만 해봤는데요'라고 하면 좀 당황스러울것 같아서 조금씩 이제 테스트코드(TDD)에도 내 발판을 놓아보려고 한다. 가장 기본적인 테스트 피라미드이다...
원티드 백엔드 프리온보딩 챌린지 (AWS) - 4 AWS ECS(Elastic Container Service) 오케스트레이션의 정의부터 알고 가자. 오케스트레이션은 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 구성, 관리, 조정을 의미합니다. 오케스트레이션은 IT 팀이 복잡한 태스크와 워크플로우를 보다 쉽게 관리할 수 있도록 돕습니다. 출처 : Red Hat 공식홈페이 ECS는 여러 어플리션 컨테이너를 실행하고, 스케일을 조절할수 있는 서비스라고 보면 된다. 본인은 Docker의 개념정도만 알지 정작 해보지는 못해서 나중에 좀 자세하게 컨테이너 같은 개념을 다시 서술해볼 예정이다. 이번 편에서는 '이런게 있다' 정도랑 용어에 익숙해지는 시간으로 삼으려 한다. 클러스터 > 컨테이너 인스턴스 > 태스크 > 도커컨테이너 의 구조 정도로 파악을 하면 되고..
원티드 백엔드 프리온보딩 챌린지 (AWS) - 3 EC2 다른건 몰라도 이거 모르는 사람은 없을거라고 생각한다. 근데 뭐의 약자인지는 지금 알았다(...) Amazon Elastic Compute Cloud 쉽게말하면, 컴퓨터 하나 빌려서 쓴다고 생각하면 된다. 보통 웹개발 입문하는 사람들이면 한번쯤은 써본다 (이거때문에 1년 프리티어 가입하는사람들이 대다수이며, 컴퓨팅 계속 돌아가게 해놨다가 프리티어 끝나고 요금이 청구되는 사례가 있으니 주의!) 아마존 측에서 나한테 빌려준 컴퓨터를 '인스턴스' 라고 한다. 종량제며, 약정 비슷하게 Saving Plan이란것도 있다고 한다. AWS Elastic Beanstalk 어우... 이름이 좀 어렵다 간단하게 얘기하면 애플리케이션 배포 풀 패키지라고 생각하면 되겠다 EC2 + 버전관리 + ELB + 오토스케일링..
원티드 백엔드 프리온보딩 챌린지 (AWS) - 2 AWS ELB Elastic Load Balancer IT쪽은 영어로 된게 많아서, 무작정 외우기보다는 왜 이런 이름으로 불리는지 분석해보면 알기가 쉽다. Elastic => 탄력적인 Load => 부하 Balancer => 균형 유지 출처 : AWS amazon 말 그대로 서버(컴퓨팅 리소스)의 부하를 분산시켜주는 서비스이다. 애플리케이션, 네트워크, 게이트웨이 등 로드밸런서의 종류가 많지만 애플리케이션 (ALB) 가 제일 일반적으로 많이 쓰인다. S3 bucket 아무것도 모르던 순수한 시절 이미지파일을 어떻게 저장해야 하는지 몰랐을때, MySQL에 그냥 쑤셔넣는(...) 걸 고려하다보니 이건 말도안된다는걸 깨달은 적이 있다. 그때 구세주로 나셔주신분이 S3이고 마지막 프로젝트도 S3로 이미지 등등을..
원티드 백엔드 프리온보딩 챌린지 (AWS) - 1 클라우드컴퓨팅을 쓰는 이유 과거 일정 규모의 회사나 행정기관에는 '서버실' 혹은 '전산실' 이란게 존재했고, 지금도 사실 많이 남아 있다. 딱 봐도 관리도 힘들고 비싸보이지 않는가? 저거 대신 해주는게 클라우드 컴퓨터 서비스라고 생각하면 쉽다. 만약 이용자가 많아졌다? 설정을 바꾸고 돈만 조금 더 내면 그만이다. 회사 입장에서 이렇게 편할수가 없다. 요즘 1인가구가 늘어나면서 밀키트, 반조리상태 음식들이 많이 나왔는데 여기도 그 개념이다. 손질된 재료들이 있고, 그거 그냥 냄비에 넣고 끓이면 그만이다 여기도 동일하다. 요즘은 가히 클라우드의 전성시대라고 불러도 될 정도로 보편화 되어있는데... 한국에서 엄청난 점유율을 가진 AWS(백엔드 클라우드 + 인프라) 머신러닝에 특화되어있다고 알려진 MS의 Azu..
PEMDAS 원칙, f string, 멀티라인 string 연산의 우선순위 법칙 PEMDAS 미국에선 펨다스로 부른다드라... 내가 그래도 JS나 TS 입문한지 이제 1년 가까이 된것 같은데 왜 처음듣는것 같은건지는 모르겠다(...) 비단 파이썬만이 아닌 컴퓨터 연산의 기초라고 생각하자. 사칙연산이야 중학생 고등학생때 배우니까 그렇다 쳐도 괄호랑 제곱수는 헷갈릴 만 하다. 기초 중의 기초이니 (이거 헷갈리면 코드짜는데 굉장히 불편함) 꼭 숙지해야 하겠다. F string 파이썬 3.6부터 포함된 나름 따끈따끈한 기능이라고 한다. person = "성주" place = "학교" 라는 변수가 있고 '성주는 학교에 간다' 는 문장을 출력시키려면 print(person + "는 " + person2 + "에 간다") 라고 제일 일반적으로 출력하거나 %s 같은 알아보기 ..
AWS 람다 간단하게 알아보기 이 람다랑 그 람다랑 똑같은거 맞다. 다른 서비스들 마크는 몰라도 람다는 죽을때까지 안까먹을듯 싶다. 람다와 EC2 차이 EC2는 대표적으로 우리가 알고있는 클라우드 서버이고, 켜 놓으면 과금되는 구조이다. 무료 티어에서 750hrs 어쩌고 써있는게 그 이유. 그러나 람다는, 해당 함수(기능)이 실행되는 만큼 과금된다. 그렇기에 간단한 작업이나, 특정한 사건이 벌어지면 실행되는 기능들을 구현하기에 적합하다. 람다함수를 만들어보자. 이와 같은 화면이 뜨는데, 새로작성같은 경우는 내가 원하는 코드를 직접 구성할때 블루프린트는 이미 만들어진 라이브러리 개념이다. 컨테이너 이미지는 다들 아는 그 도커 이미지 맞다. 사실 이 람다 함수의 개념이 컨테이너 단위라는 사실도 살짝 알아두자. 하단에 기본역할 변경이나, ..
Programmers - 세균 증식과 비트 연산자(Javascript) 본인의 풀이 : Math.pow 함수를 이용하여 문제 : n마리의 세균이 한시간마다 두배씩 증가한다. t시간후 세균의 수는? 본인의 풀이 : function solution(n, t) { return n * Math.pow(2, t) } 간-단 하게 풀었다. 그러나 보통의 자바스크립트 개발자들이 거의 쓰지 않는 비트 연산자 중 왼 시프트 연산자로 굉~장히 쉽게 푼 사례가 있더라. 왜냐면 이게 매 시간마다 2배가 늘어난다고 했으니... 예를들어 const num = 4 > 연산자를 쓰면 한칸씩 오른쪽으로 이동하는 것이다. 사실 자바스크립트로 개발하면서 비트연산자를 사용할일은 거의 없을것 같지만, 2배 관련 연산에서는 매우 막강한 위력이 있을것 같다 (연산속도 자체도 빠를것 같고...)