본문 바로가기

전체 글

[Programmers/SQL] 모든 레코드 조회하기 1. 테이블 구조 2. 문제 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. 3. 풀이 ANIMAL_ID 순으로 정렬하기 위해 ORDER_BY ANIMAL_ID를 사용한다. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; [참조] programmers.co.kr/learn/courses/30/lessons/59034 코딩테스트 연습 - 모든 레코드 조회하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각.. 더보기
[Gatsby] build error "document is not defined" 해결 방법 1. 서론 최근에 tistory에서 Gatsby로 블로그를 옮기면서 처음으로 gatsby를 사용해서 블로그를 개발하기 시작했는 데 여러 가지 난관이 있었다. 그중 가장 짜증 났던 상황이 바로 "document is not defined" 빌드 오류였다. 나와 같은 문제에 직면한 사람들을 위해 내가 찾은 해결 방법을 공유하고자 한다. 2. 해결방법 의외로 해결방법은 매우 간단하다. 나는 document 변수를 화면의 scroll top을 가져오는 데 사용했다. 물론 브라우저 환경에서 당연히 document 변수는 존재하겠지만, 빌드 시에는 이 변수의 존재 여부를 알 수 없기 때문에 나오는 오류라고 생각했고, 따라서 document 변수가 존재하는 지, 그리고 document의 타입이 정의되어 있는지 여부를.. 더보기
[Network] URI와 URL의 차이점 1. 서론 최근 네트워크 관련 웹 문서나 도서를 많이 읽는 데 어떤 부분에서는 URL로 칭하고 어떤 부분에서는 URI로 칭하는 게 너무 헷갈려서 한 번 정리하고자 포스팅을 작성한다. 잘 모르는 상태에서 볼 때는 분명 형태도 비슷한 것 같은 데 무슨 차이인가 싶기도 하다. 지금부터 그 차이에 대해 명확히 알아보도록 하자. 2. URI(Uniform Resource Identifier)란? Uniform Resource Identifier (URI) consists of a string of characters used to identify or name a resource on the Internet 네트워크 상에서 자원을 식별하기 위한 문자열의 구성이다. URI는 인터넷에서 요구되는 기본 조건으로써 인터.. 더보기
[Network] HTTP란 무엇인가? 1. 서론 최근 백엔드 개발을 진행하다 보니 데이터 송수신 방식(RPC, gRPC 등)에 대해 공부할 기회가 생겼는 데, 그중 제일 기본적인 방식이 HTTP에 대해 생각보다 자세히 모르고 있다는 생각이 들었다. HTTP는 그저 우리가 웹브라우저를 사용하거나 개발할 때 클라이언트와 서버가 정보를 교환하는 가장 기본적인 프로토콜이라는 정도밖에 알지 못해서 좀 더 자세히 알아보고자 이 포스팅을 작성한다. 2. HTTP(HyperText Transfer Protocol)란? 초기에는 HTML과 같은 하이퍼미디어 문서를 주로 전송했지만, 최근에는 Plain text, JSON, XML 등 다양한 형태의 정보도 전송하는 애플리케이션 레이어 프로토콜이다. 초기에는 웹 브라우저와 웹 서버 간의 커뮤니케이션을 위해 디자.. 더보기
[Node.js] PBKDF2 비밀번호 암호화하기 1. 서론 사용자들의 비밀번호 정보를 DB에 저장할 때는 반드시 암호화가 필요하다. 그러기 위한 가장 일반적인 방식이 바로 PBKDF2 방식이다. 오늘은 이 방식이 무엇인지? 그리고 node.js에서는 어떻게 구현할 수 있는지에 대해 알아보자. 2. PBKDF2(Password-Based Key Derivation Function Version 2)란? PBKDF2는 미국 NIST에서 승인받은 사용자 패스워드를 기반으로 키(Key) 유도를 하기 위한 함수이다. 사용자 패스워드에 해시함수, 솔트(Salt), 반복 횟수 등을 지정하여 패스워드에 대한 다이제스트(Digest)를 생성하는 방식이다. Salt란? 비밀번호를 암호화하기 위한 키 값 (절대 외부로 유출되서는 안됨) Digest란? 비밀번호를 Salt.. 더보기
[React Native] 특정 화면에서 화면 고정하기 1. 서론 지난번과 같이 지인의 스타트업 애플리케이션을 react native로 구현하다가 생긴 일이다. 특정 화면에서만 가로 모드로 고정하고 싶어서 이것저것 오픈 소스를 살펴보다가 발견한 모듈이 바로 react-native-orientation이다. 사용법은 매우 간단하므로 아래에서 코드를 보면 이해할 수 있을 것이다. 2. 개발 환경 react-native @0.62.2 typescript @4.0.3 react-native-orientation @3.1.3 3. 구현 방법 나는 아래와 같이 특정 화면에서 가로 모드로 고정하는 코드를 작성했다. 만약 세로 모드를 고정하고 싶다면 아래의 참고 홈페이지를 방문해서 portrait와 관련된 함수를 찾으면 된다. 반드시 useEffect 내에서 return .. 더보기
[React Native] Bottom tab bar 특정 화면에서 안 보이게 설정하기 1. 서론 지인의 스타트업 애플리케이션을 React Native로 제작해주다가 특정 화면에서만 바텀 탭 바가 사라지게 해야 하는 상황이 왔다. 공식 문서를 뒤져봐도 비슷한 코드는 있어도 내가 원하는 코드는 없고 여러 사이트들을 뒤지다가 해결 방법을 찾았다. 해당 사이트에서도 버전 차이 때문인지 문제가 생겨서 응용만 하고 디버깅하며 다시 코딩을 했다. 2. 개발 환경 react-native @0.62.2 typescript @4.0.3 @react-navigation/native @5.7.4 @react-navigation/stack @5.9.1 @react-navigation/bottom-tabs @5.9.0 3. 구현 방법 내가 원하는 플로우는 stack navigation들로 bottom tab ba.. 더보기
[React Native] Dimensions.get('window')와 Dimensions.get('screen')의 차이점 1. 서론 리액트 네이티브 개발 중 모바일 기기의 해상도를 가져올 수 있는 API인 Dimensions를 사용할 일이 있었는 데, 굳이 왜 window와 screen으로 나뉘어 있는지 모르겠어서 검색하고 알아낸 내용을 적고자 한다. 2. 차이점 사실 IOS에서는 window와 screen 둘 중 어떤 것을 쓰더라도 동일하게 적용된다. 다만, Android에서는 다르다. Dimensions.get('window') 위에 보이는 그림 1의 빨간색으로 표시된 부분을 포함하지 않고 영역을 추출한다. Dimensions.get('screen') 위에 보이는 그림 1의 빨간색으로 표시된 부분을 포함하고 영역을 추출한다. [참고] stackoverflow.com/questions/44978804/whats-the-d.. 더보기