본문 바로가기
728x90

전체 글61

자바스크립트의 클로저(Closure)와 스코프(Scope) 아주 쉽게 이해하기 개요최근에 자바스크립트를 배우는 친구와 대화를 나누면서 클로저(Closure)와 스코프(Scope)에 대한 질문을 받았다. 많은 개발자들이 이 두 개념을 처음 접했을 때 혼란스러워하는 것을 보았다. 그래서 이번 글에서는 자바스크립트의 클로저와 스코프를 쉽게 이해할 수 있도록 설명해 보려고 한다. 스코프란 무엇인가?스코프는 변수의 유효 범위를 정의하는 개념이다. 자바스크립트에서는 전역 스코프와 지역 스코프가 있다. 전역 스코프는 코드의 어디에서나 접근 가능한 반면, 지역 스코프는 특정 함수 내에서만 접근할 수 있다. 예를 들어, 아래와 같은 코드를 보자.let globalVar = "나는 전역 변수다!";function testScope() { let localVar = "나는 지역 변수다!"; .. 2024. 10. 5.
Screenlog.js 로그 쉽게 확인하기 (모바일 버전 작업) 개요웹 프론트엔드 개발을 하다보면 ajax를 통해 페이지 일부를 갱신하는 작업을 많이 하게 된다. 이 때 서버에서 받아온 데이터가 개발자의 의도와 달라 화면에 제대로 뿌려지지 않거나 하는등의 현상을 쉽게 접해볼 수 있는데, 개발자는 이러한 경우 가장 쉽게 이슈를 처리할 수 있는 방법으로 console.log와 개발자 도구를 사용하곤 한다. 이 외에도 화면상에서 클라이언트와 몇 번의 인터렉션을 거친 뒤 특정 api를 호출하기 전 validation을 한다던지 등의 작업을 할때에도 console.log를 사용하여 쉽게 값을 확인할 수 있는데, 문제는 이 값을 확인하려면 개발자도구를 열어야 한다는 점에서 발생한다. 모바일 vs PC현재 내가 회사에서 작업하고 있는 서비스들은 공통적으로 PC 웹 화면 뿐만 아니.. 2024. 10. 4.
결제 동시성 이슈 해결 - 분산락과 Redisson 개요회사 차세대 프로젝트에서 발송 요청 시 가결제 동시성 이슈로 인한 사용자 가결제 금액 - 잔액간 불일치 이슈가 발생했다. 발생한 가결제 이슈 프로세스를 정리하면 아래와 같다. 사용자가 2건의 60원짜리 가결제 요청P1: 가결제 금액 조회 ⇒ 0원P2: 가결제 금액 조회 ⇒ 0원P1: 가결제 처리 후 commit ⇒ 사용자 가결제 금액 60원P2: 가결제 처리 후 commit ⇒ 사용자 가결제 금액 120원보유 금액 100원 이 되어 유저 잔액(-20원) 조회 시 오류 발생위 이슈는 공유 자원인 DB에 동시에 여러 프로세스가 접근하여 값을 수정하다보니 발생한 동시성 이슈인데, 해당 이슈 담당자는 이 이슈를 Redis를 활용한 분산락을 통하여 해결하였다. 이번 글에서는 DB 접근 동시성 이슈를 해결하기 .. 2024. 10. 3.
티스토리 수익 창출 - 네이버 서치어드바이저 등록하기! 일전에 티스토리 블로그의 검색엔진 노출도를 높이기 위해 구글 서치 콘솔에 등록하는 과정을 포스팅한 적이 있다. 2024.09.29 - [블로그 관리] - 티스토리 수익 창출 - 구글 서치 콘솔 등록 방법! 티스토리 수익 창출 - 구글 서치 콘솔 등록 방법!나는 티스토리 블로그를 생성하고 2~3년이 지날 때까지 구글에서 자동으로 내 블로그 글을 색인해서 검색 결과에 잘 노출해 주는 줄로만 알았다. 실제로 이전에 썼던 글중 몇 개는 특정 키워드joon2974.tistory.com 우리나라에서 가장 많이 사용되는 검색 엔진은 구글 다음으로 네이버이기 때문에 네이버에도 내 글이 노출이 되면 좋겠다는 생각을 하게 되었고, 이를 위해서 네이버 서치어드바이저에도 티스토리 블로그를 등록하게 되었다.  오늘 포스팅에서는.. 2024. 10. 3.