분류 전체보기 258

22.02.18 interface extends 안될 때, Omit

보통 타입스트립트의 type을 지정해줄 때 인터페이스를 정의한 후 그 안에 모든 타입을 넣어준다. 그런데 그 인터페이스에서 어떤 변수 하나의 데이터를 정제해서 타입을 다르게 다시 정의하고 싶은 경우나 인터페이스의 어떤 변수를 제외하고 다른 변수들을 추가하고 싶을 때는 전에 썼던 인터페이스 정의 코드를 다시 복붙해서 쓰기에는 하드코딩이라 좀 망설여진다... 만약에 이런 타입 정의 인터페이스가 있다고 하자. interface Data { id: number name: string place: string[] } place 데이터의 타입을 string[]에서 그냥 string 으로 바꿔서 다시 인터페이스 interface DataResult extends Data 처음에 나는 // 이렇게 하면 extends ..

typescript 2022.02.20

22.02.15 [지갑] HD wallet

안그래도 오늘 getHDWalletFromMnemonic 이라는 메서드를 썼는데 개발자 단톡에 올라왔길래 일단 정리 킵! http://wiki.hash.kr/index.php/HD_%EC%A7%80%EA%B0%91 HD 지갑 - 해시넷 HD 지갑(에이치디 지갑)이란 Hierarchical Deterministic Wallet의 약자로서, 하나의 마스터 시드(seed) 키를 사용하여 무수히 많은 주소를 생성할 수 있는 암호화폐 지갑이다. 계층적 결정 지갑이라고도 한 wiki.hash.kr

암호학 2022.02.15

22.02.13 함수의 비동기 처리

애송이 시절 나의 글 이때 내가 Promise 개념에 대해 처음 접하고 쓴 글이다. 다시 읽어보았는데 음...이해를 못하고 정리만 예쁘게 한 글이었다. 지금 어느정도 이해를 한 상태에서 다시 읽어보고 샘플 코드로 정리를 해본다. https://jemerald.tistory.com/30 21.04.19 Promise 📌Promise 프로미스 객체는 비동기 작업 처리에 사용되는 객체이다. 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용! 일반적으로 웹 어플리케이션을 구현할 때, 서버에서 데이터를 요청하 jemerald.tistory.com 방법 1. then, catch Promise 방식에서 단일 Promise, chaining Promise, Promise All 이 있다. 내가 선호하는 방식 co..

JavaScript 2022.02.13

22.01.25 객체에 속성 추가하는 방법

두 객체가 다음과 같이 있다고 하면 const chicken = { bhc: "뿌링클", bbq: "황금올리브", 교촌: "허니콤보", 굽네: "고추바사삭", } const liquid = { beer: "테라", 소주: "참이슬", 막걸리: "지평생", } 방법 1. Object.assign() 두 객체를 직접 합치는 방식이며 원본 객체는 바꾸지 않는다. const todaySnack = Object.assign(chicken, beer) { bhc: "뿌링클", bbq: "황금올리브", 교촌: "허니콤보", 굽네: "고추바사삭", beer: "테라", 소주: "참이슬", 막걸리: "지평생", } 방법 2. spread 연산자 const todaySnack = { ...chicken, ...liquid..

JavaScript 2022.02.13

22.02.05 useEffect안에서 useQuery 쓰고 싶을 때

useQuery로 DB에 있는 데이터 불러서 쓰려고 하는데 커스텀 훅으로 만들어서 외부 컴포넌트에서 값을 불러서 useEffect로 업데이트를 하려고 했더니 *잘못 짠 코드 //커스텀 훅 함수 내부 export const useGetData = { const {loading, error, data} = useQuery(GET_QUERY) return data.findManyData[0].data } //상위 컴포넌트 const Component = () => { useEffect(() => { const data = useGetData() }, [data]) return {data} } 위와 같이 리액트 훅 규칙에 따르면 callback 함수 즉 useEffect 안에서 실행되는 함수로 내가 만든 훅 함..

react native 2022.02.05

22.01.25 [android] 로컬 서버 접속 for 로컬 디바이스 기기

에뮬레이터에서 접근할 때는 const uri = Platform.OS === 'ios' ? 'http://localhost:4000' : 'http://10.0.2.2:4000' 디바이스에서 접근할 때는 그 디바이스와 PC가 같은 와이파이 즉, 같은 네트워크를 사용하고 있어야 한다. 맥북에서 사용하고 있는 네트워크의 IP 주소를 다음과 같이 uri 주소에 입력한다. const uri = Platform.OS === 'ios' ? 'http://localhost:4000' : 'http://192.168.0.4:4000' 참고문서링크 https://naruu098.tistory.com/77 안드로이드에서 로컬 서버 접속하기 `http:localhost:8888`은 안드로이드 디바이스의 localhost를 ..

react native 2022.02.05

22.01.25 [android] GC overhead limit exceeded

앱을 빌드하는데 메모리가 부족해서 발생하는 문제이다. 안드로이드 설정 파일인 gradle.properties 에서 메모리 사이즈를 바꿔주는 코드를 추가해준다. # Default value: -Xmx10248m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError 참고문서링크 https://codechacha.com/ko/how-to-solve-outofmemory-error-while-b..

react native 2022.01.25

22.01.23 level 11→12. tr 'A-Za-z' 'N-ZA-Mn-za-m'

cat data.txt 이게 뭐신고? 문제에 나와있는 힌트 문서를 읽어보니 알파벳 26글자를 반으로 나눠서 13개씩 반대로 rotated한 것이었다. 참고문서에 따르면 tr 명령어를 사용해서 문자열 변환을 할 수 있었다. Gur을 보고 아 tr 명령어를 써서 이것도 13씩 로테이션되는거를 바꿔야 하는구나 깨달았다. cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' A로 시작해서 Z로 끝나는 알파벳 순서와는 다르게 N부터 시작해서 Z로 끝나고 다시 A부터 M까지 끝나는 순서로 rotated를 바꿔버리겠다 라는 뜻이다. 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu 굿 참고문서링크 https://en.wikipedia.org/wiki/ROT13#tr ROT13 - Wik..

Bandit 2022.01.23