본문 바로가기

728x90
반응형

전체 글

(255)
React: redux / react query react 사용시, 상태 관리를 위해 redux, react query 사용을 고려할 수 있다. redux는 클라이언트 쪽의 상태react query는 서버 쪽의 상태와 관련하여 상태관리를 돕는다. 클라이언트 내에서 관리되면 충분한 경우 redux,서버에서 데이터를 얻어와야 하나, 불필요한 중복 요청 등을 줄이기 위해 캐싱 기능등을 이용하려면 react query를 사용 redux, react query를 용도에 맞게 함께 사용할 수도 있지, 꼭 하나만 사용하는게 정답은 아니다. 아래 자세하게 설명하신 분의 블로그 글을 남긴다.https://teawon.github.io/react/react-query/
Python: name mangling 된 메소드 오버라이딩 # __method # Python 클래스에서 언더바 두개가 붙는 메소드는 private하게 취급이 된다. class Base: ... def __test_method(self) 와 같이 선언된 __test_method의 경우, 메소드 명이 변경되는 name mangling이 일어난다.name mangling이 되면 __test_method로 선언한 명칭이 변경이되기 때문에,Base를 상속받은 다른 클래스에서 __test_method라고 메소드 선언을 해도 오버라이딩이 일어나지 않는다. 이와 같이, 다른 곳에서 쉽게 오버라이드 되지 않도록 일종의 예방 차원에서 __ 형태를 쓸 수 있다. 그렇지만 외부라이브러리 등을 사용하는 경우에 name mangling된 메소드를 오버라이드 할 상황이 생긴다.(예를 들어 특정 wa..
버퍼 # buffer # memcpy # buffer overflow C에서 memcpy가 buffer를 사용한다고 한다. memcpy는 아래와 같이 사용한다.memcpy(dest, src, count) 이는 dest 변수에, src 변수에 담긴 byte를 count 갯수 만큼 복사하는 것이다. 이 과정에서 buffer를 사용한다. buffer는 물리적으로는 메모리의 일부 영역이다 (block of memory) buffer를 기능적으로 얘기하자면,데이터 전달 과정에서, 데이터 유실을 막기 위해서 고안된 데이터 임시 저장 공간이다. 데이터 유실을 어떻게 막을 수 있나?  A장치 에서 B장치로 데이터를 전달할 때, A에서 보내는 데이터 속도가 B에서 처리하는 속도보다 빠른 경우,  A에서는 1,2,3 의 데이터를 보내는데, B에서 처리하는 속도가 느려서 1, 2만 받는 경우..
Javascript: arrow function Javascript에서 일반적으로 function으로 선언하는 대신 = () => 과 같은식으로 함수를 대체하는 방식이 있다. 함수를 표현하는 방식을 이렇게 쓰면 어떤 차이가 있을까?- 함수 인자 갯수가 하나면 () 생략 가능- 한줄 표현 가능하면 중괄호, return 생략 가능 위와 같이 생략 가능하고 간략하게 표현이 가능하다. 그런데 사실 arrow function이 갖는 의미는 생략 기능보다는함수 내에서의 this의 의미가, 기존 함수 선언 방식과 다르다는 것이다. 기존 function에서는 this가 function마다 새롭게 정의가 된다. function을 갖는 object를 가르키는 등..그런데 arrow function은, arrow function 밖에서 사용하는 this를 그대로 가져와서..
React: install project in ubuntu # Node.js # npm https://nodejs.org/en/download/package-manager/ Node.js — Download Node.js®Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org Nodejs, npm 설치Node 홈페이지에서 안내하는 사항중 fnm을 이용하는 경우# installs fnm (Fast Node Manager)curl -fsSL https://fnm.vercel.app/install | bash# download and install Node.jsfnm use --install-if-missing 20# verifies the right Node.js version is in the env..
ESP32: The applications static IRAM usage is larger than the available IRAM size. Error message/home/taltal/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: mode_change.elf section `.iram0.text' will not fit in region `iram0_0_seg' /home/taltal/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: IRAM0 ..
git config # --list # user.name # user.email 현재 설정된 상태 보기git config -lgit config --list user name 설정 (global)git config --global user.name "hwan" user email 설정 (global)git config --global user.email "your-mail@your.domain" 확인git config user.namegit config user.email
Python: 동기, 비동기 함수 여부에 상관없이 실행하기 # inspect.iscoroutinefunction 함수를 인자로 받아서, 해당 함수가 동기, 비동기 중 어떤 방식으로 선언되어 있는지는 먼저 판단하고,거기에 맞게 함수를 실행하면 된다. 파이썬 내장 라이브러리인 inspect 내의 iscoroutinefunction 함수를 이용 함수명 대로, coroutine 여부를 판단해준다  async가 붙은 함수: is coroutine function?   yes  -> inspect.iscoroutinefunction(func): True  async 붙지 않은 함수: is coroutine function? no -> inspect.iscoroutinefunction(func): False 예제 코드import inspectimport asynciodef is_async_function(func): re..

728x90
반응형