JavaScript
-
매우 흥미로운 ChatGPT 사용기끄적끄적 2022. 12. 16. 23:47
들어가며 요즘 ChatGPT 라는 머신 러닝 기반의 open ai가 개발자들 사이에서 매우 핫하다. 사내에서도 많은 개발자들이 재밌는 질문을 하고 답을 공유해주셨는데, 코드의 품질이 생각외로 높아서 나에게도 매우 흥미롭게 다가왔다. 이번 주 동안 개발하면서 스택오버플로우에 할법할 질문이나 헷갈리는 개념들을 빠르게 질문해보고 결과물을 공유하고자 가져왔다. OpenAI API An API for accessing new AI models developed by OpenAI beta.openai.com OpenAI 구글 계정 연동 이후 ChatGPT에 들어간다면 사용이 가능하다. 질문 리스트 빠르게 보기 differences initialize function with usecallback or not giv..
-
프로미스(Promise) 바로 알기JS & TS 2022. 10. 22. 22:35
프로미스 왜 배워야 할까? new Promise ? *new는 뭐고 Promise는 뭐야 ... return은 또 왜 붙여... * ... async/await(?) 이거 쉽네..! 이걸로 그냥 써야지 필자는 이런식으로 비동기 프로그래밍에 대한 이해를 덜 된 상태에서 ES6의 프로미스 문법을 사용하는 것이 아닌, ES8 의 async await로 바로 넘어가 작업을 시작했었다. async await를 기반으로 axios를 사용했을 때 너무 찰떡이라 오히려 필요성을 못느꼈을 지도 모른다... 하지만 콘솔창에서 [[object Object]], Promise 등의 로그가 찍힌 것을 보고 해석을 할 수 없어 그냥 구글링으로 때려 맞추는 식의 코딩을 진행하였다. 프로미스에 대한 이해가 없거나, 부족하다면 ful..
-
리팩터링 - Guard Clause를 사용하여 코드 가독성 높히기JS & TS 2022. 9. 13. 22:52
리팩터링이란 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법이다 - 리팩터링 2판, 마틴 파울러 수많은 리팩터링 방법 중 하나인 Guard Clause에 대해 소개합니다. Guard Clause는 무엇일까요? A guard clause is simply a check that immediately exits the function, either with a return statement or an exception. Guard Clause 는 반환 문이나 예외를 포함하여 함수를 즉시 종료하는 단순한 검사와 같은 문법입니다. 아래의 코드를 보겠습니다. export function payAmount(employee) { let result; if (e..
-
모던 자바스크립트 Deep Dive - 제너레이터와 async - awaitBook Study 2022. 9. 3. 17:02
제너레이터와 async/await 왜 배워야 하는지 ? 사실 async await가 제너레이터에서 비롯되었다는 것 조차 몰랐다. 기존 한 장 요약 (프로미스) 에서도 말했지만, async await에 대해 조금 더 아는 이유는 단지 Promise 문법이 어려워서였다 .then() .catch() .finally() 와 같은 프로미스의 프로토타입 메서드 들을 '어디서는 쓸 수 있고, 어디서는 쓸 수 있는지' 도 몰랐고, 뒤에 다루는 내용이지만 에러처리를 위해 try로 catch 비동기 함수를 감싸더라도 제대로 된 에러 캐치가 되지 않는 다는 것 또한 이번에 처음 알았다. 따라서 이번 장을 통해 프로미스를 기반으로 동작하는 async/await의 다양한 활용 방법에 대해서 배운다면, 비동기적인 처리와 비동기..