JS 비동기, 너에게 Deep Dive
·
JavaScript/Deep Dive
들어가는글비동기에 대해 아~~주 깊게 들어가보는 경험을 해보도록 하겠다.자바스크립트(이하 JS)는 싱글스레드다 라는 말은 JS를 어느정도 사용해본 사람이라면 누구나 알고 있을 만한 내용이다.그렇다면 보통의 웹사이트들은 한번에 한가지 동작만 해야하는데, 어째서 내가 본 네이버 홈페이지는 광고가 실시간으로 변경되고, 뉴스기사 타이틀이 변경되는 등에 일들이 어떻게 동시에 일어나는 걸까? 스레드는 무엇이고, 스레드가 싱글일때 멀티일때 어떠한 영향이 있으며, JS는 싱글 스레드인데 보이는건 멀티스레드처럼 보이는 이 현상을 어떻게 내부적으로 처리하고 있는지 JS 개발자라면 알아볼 필요가 있다.우리 같이 비동기로 Deep Dive  그래서 비동기는 뭐고, 스레드는 또 뭐야?동기, 비동기 한국어로 듣기엔 나의 경우엔 ..
[React-Native] Dimensions.get() 을 쓰면 안되는 이유
·
React-Native
Dimensions 이란? RN에서 Dimensions은 보통 기기의 width(너비) 값, height(높이) 값을 구할 때 사용한다. 덧붙이자면, 다양한 (iOS, AOS) 기기의 자체의 width 와 height 값을 통해 의도한 UI를 구현하기 위해 사용한다. Dimensions.get() 을 쓰면 안되는 이유 가로모드, 세로모드에 따른 변화된 width, height 값을 바로 불러오지 못한다. 처음 가져온 화면 크기에 고정된다. 대안 - useWindowDimensions() 사용 - Dimesions과 useState, useEffect를 활용 내가 생각하는 가장 좋은 대안은 react-native 에서 지원하는 useWindowDimensions() hook을 사용하는 것이다. 두번째 대안..
[React-Native] Android SDK 30 -> 31로 변경
·
React-Native
2022-11-01 이후로 Google play console ( 플레이스토어 )에 앱을 배포할 시 targetSdkVersion이 31 이상이어야 가능함 작성 이유 .aab 파일을 스토어에 올리려고하니 위와 같은 오류가 나오면서 배포를 할 수 없게 되었다. 2시간정도 해매고 해결한 내용을 정리하려고 한다. Android Studio 31에 해당하는 버전의 SDK 설치 ⇒ Android 12.0 (S) 1. 우측 상단에 SDK Manager 클릭 2. 원하는 버전의 SDK 설치 ( API Level ) 3. Show Package Details 에서 필요한 부분만 설치 설치한 노트북이 M1 Mac Book 이라 해당되는 부분만 설치 진행 React-Native에서 해당 SDK 사용하도록 설정 RN 폴더 ..
[JavaScript] 비트연산자 정리
·
JavaScript
JavaScript 비트 연산자 비트 연산자(bitwise operator) 는 주어진 수를 2진수로 변환하여, 비트(bit) 단위로 논리 연산을 수행함 & (AND 논리 연산자) 비교하는 비트가 모두 1이면 1을 반환 ⇒ 두 비트가 모두 1인 값을 반환 const ex1 = 2 & 3; console.log(ex1); // 2 0010 // 3 0011 //. 0010 = 2 | (OR 논리 연산자) 비교하는 비트 중에서 하나라도 1이면 1을 반환 ⇒ 두 비트 중 하나라도 1이면 1을 반환 const ex2 = 2 | 3; console.log(ex2); // 2 0010 // 3 0011 //. 0011 = 3 ^ (XOR 배타 논리 연산자) 비교하는 두 개의 비트가 같으면 0을, 다르면 1을 반환 ..
[JavaScript] 기본형 데이터와 참조형 데이터의 변수 복사 비교
·
JavaScript
동작 방식은 이전 글을 참고해주세요 [JavaScript] 기본형 데이터와 참조형 데이터 비교 데이터 타입의 종류 JavaScript의 데이터 타입은 기본형(Primitive Type)과 참조형(Reference Type)으로 구분된다. 일반적으로 기본형은 할당이나 연산 시 복제되고, 참조형은 참조된다고 알려져 있다. 엄밀 shin1303.tistory.com 변수 복사 비교 var a = 10; var b = a; var obj1 = { c: 10, d: 'ddd' }; var obj2 = obj1; 기본형 [ a ] 변수 영역의 빈 공간 @1001을 확보하고 식별자를 a로 지정한다. 데이터 영역에서 숫자 10을 찾고, 없다면 빈 공간 @5001에 10을 저장하고 이 주솟값을 @1001에 넣는다. [ ..
[JavaScript] 기본형 데이터와 참조형 데이터 비교
·
JavaScript
데이터 타입의 종류 JavaScript의 데이터 타입은 기본형(Primitive Type)과 참조형(Reference Type)으로 구분된다. 일반적으로 기본형은 할당이나 연산 시 복제되고, 참조형은 참조된다고 알려져 있다. 엄밀히 말하면 둘 모두 복제를 하긴 하지만, 기본형은 값이 담긴 주솟값을 바로 복제하는 반면, 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다. 변수 선언과 데이터 할당 과정 var a;// 변수 a 선언 a = 'abc';// 변수 a에 데이터 할당 var a ='abc';// 변수 선언과 할당을 한 문장으로 표현 1. 변수 영역에서 빈 공간(@1003)을 확보한다. 2. 확보한 공간의 식별자를 a로 지정한다. 3. 데이터 영역의 빈 공간(@5004)에 문..