이번 블로그에서는 Node.js 개발환경 세팅 방법을 알아보도록 하겠습니다^ㅡ^ NVM(Node Version Manager) 설치 https://gist.github.com/falsy/8aa42ae311a9adb50e2ca7d8702c9af1 1. 터미널에 아래 명령문 입력하여 링크로 설치 $ sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash 2. 설치 확인 $ nvm ls -bash: nvm: command not found 3. 에러가 난다면 vim 으로 아래 파일 생성 또는 수정하여 $ vim ~/.bash_profile 아래 코드 추가 export NVM_DIR="$HOME/.nvm" ..
Array.prototype.filter() 이 filter()메서드는 제공된 함수로 구현된 테스트를 통과하는 모든 요소가 포함된 새 배열 을 만듭니다. const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"] 사용법 // Arrow function filter((element) => { ... } ) filter((element, index) => { ... } ) ..
Array.prototype.map() map()메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. 구문 arr.map(callback(currentValue[, index[, array]])[, thisArg]) 매개변수 callback : 새로운 배열 요소를 생성하는 함수로 다음 세 가지 인수를 가집니다. currentValue : 처리할 현재 요소. index : 처리할 현재 요소의 인덱스.(Optional) array : map()을 호출한 배열.(Optional) thisArg : callback을 실행할 때 this로 사용되는 값.(Optional) 리턴값 배열의 각 요소에 대해 실행한 callback의 결과를 모은 새로운 배열. 예제 배열..
이번 블로깅에서는 우리가 참으로 많이 이용하고 있는 AWS에 대해 살펴 보려고 합니다. AWS 서비스가 없을 때에는 server를 구축하는데 까지 시간이 오래걸리고 서버를 설치할 공간의 확보와 필요 이상으로 지출되는 기회비용이 있었습니다. 하지만 AWS의 등장으로 인해 우리는 우리가 원하는 때에 서버를 구축하고, 서비스를 사용한 만큼의 비용만을 지불하면 되게 되었습니다. AWS와 같은 서비스를 Cloud Computing이라고 하며, 이는 소프트웨어 개발에 있어서 엄청난 혁명을 일으키게 되었습니다. Traditional IT방식의 문제점 1. Datacenter 렌트 비용을 지불해야 한다.(보통 monthly/yearly contract) 2. Power supply, cooling, maintenanc..
학습목표 가상머신(VMware)과 컨테이너(Linux Container)의 차이점을 이해하고 설명할 수 있다. Hypervisor 가상화와 Container 가상화의 차이점을 이해할 수 있다. 컨테이너 가상화 기술인 도커(Docker)를 사용함으로써 얻을 수 있는 장점을 설명할 수 있다. Docker의 구조 1. Docker client와 docker server(docker engine), 2. Docker image, 3. Docker registries(docker-hub), 4. Docker container 를 이해한다. Dockerfile를 사용하여 docker-image를 빌드할 수 있다. docker-image를 docker-hub에 push 할 수 있다. docker-hub에 올려져 있는..
발생상황 2차프로젝트 진행 중... branch에서 모든 작업을 마친후 push를 위해 먼저 main으로 가서 pull을 받아야 할 것을 실수로 branch 에서 git pull origin main을 실행시켜버렸다. 해결방법 git reset --hard ORIG_HEAD 위 명령어를 입력하니 이전의 merge이전의 상태로 돌아간것으로나왔다. 하지만 화면상에 코드는 안보였다. 혹시나 하는 마음에, Ctrl + Z 버튼을 누르니 드디어 내가 이전에 작성하였던 코드가 나타났다!!! 해결!!! 👇 위와 비슷한 상황으로 명령어를 취소할때 사용하는 git 명령어들을 모아봤다. add 취소 git reset HEAD commit 취소 git reset --hard HEAD pull 취소 git reset --ha..
발생상황 2차 프로젝트 진행 중, Kakao API를 통해 우리 사이트에 로그인한 사용자 중, user table에 없는 사용자는 API로부터 받아온 개인정보와 함께 user를 새로 데이터를 생성하기위한 로직을 짜고 싶었다. 내가 처음에 작성한 로직은 먼저 filter를 통해 조회를 한 뒤, create로 user를 생성을 해주는 방식이었다. (현재는 다른팀 멘토이신) 수진 멘토님께서 우연히 지나가시다 내 자리에 들르셨다. 멘토님과 프로젝트 관련 이런저런 이야기를 나누다가 내가 짠 코드를 보여드리게 되었다. 멘토님은 조회와, 생성을 한꺼번에 할수 있는 방법이 있으니, 찾아보고 적용해 볼것을 조언해주셨다. 그리곤 곧장 구글과 장고 공식문서를 뒤져 방법을 찾고 적용해보았다. 적용방법 get_or_create..
이번주에 2차프로젝트가 시작하였습니다. 지난 1차프로젝트 까지는 git local 작업 환경에서 merge를 통하여 main과 branch를 병합하였다면, 2차 프로젝트에서는 rebase 를 적용해볼 예정입니다. Git Workflow & Rebase 🚀 학습 목표 Git flow가 어떤 방식으로 운영 되는지 알고, main, develop, feature, release, hotfix 브랜치를 각각 구분하여 설명할 수 있다. branch를 병합하는 두 가지 방식인 rebase와 merge의 차이점에 대해 설명할 수 있다. rebase 명령어를 사용하여 불필요한 커밋을 하나로 squash 할 수 있다. (rebase 하면서 스쿼시를 같이 한다.) * production revel의 코드들의 관리 전략 🙌..
1. 회원가입을 한다. -> 백서버 : DB에 회원의 정보가 저장됨. 2. 로그인을 한다. -> 백서버 : 로그인시 입력한 정보와 DB에 저장된 회원의 정보가 일치하면 로그인이 성공되며, 백 서버에서는 토큰(token)을 발행해준다. # 로그인시 토큰 발행 로직 class Login(View): def post(self, request): try: data = json.loads(request.body) if not User.objects.filter(email=data['email']).exists(): return JsonResponse({"message": "존재하지 않는 아이디입니다!"}, status=401) current_user = User.objects.get(email=data['emai..