만들고 있는 어플 기능 중에 실시간으로 데이터의 변경 사항을 뿌려줘야 하는 기능이 필요한데, push & pull 방식보다는 DB의 실시간 변경 사항을 추적하여 ws으로 뿌려주는 게 낫겠다 싶어서, 어떻게 해야 하나... 하고 고민을 좀 하고 있었다. node의 mongoose에서 마침 해당 기능을 제공하고 있길래, "이거야! 당장 사용해보자!!!!"하고 바~로 예제 코드를 주어왔다. ◎ express.js의 main code #!/usr/bin/env node /** * Module dependencies. */ const app = require('../app'); const debug = require('debug')('happiness-stock-rest-api:server'); const htt..
find에서 사용하는 쿼리 연산자와 insert, update, delete 시 사용할 수 있는 업데이트 연산자를 한번 정리해보려고 한다. 쿼리 연산자 $eq: 지정된 값과 동일한 값을 찾는 연산자이다. $gt: 지정된 값보다 큰 값을 찾는 연산자이다. $gte: 는 지정된 값보다 크거나 같은 값을 찾는 연산자이다. $lt: 지정된 값보다 작은 값을 찾는 연산자이다. $lte: 지정된 값보다 작거나 같은 값을 찾는 연산자이다. $ne: 지정된 값과 다른 값을 찾는 연산자이다. $in: 지정된 배열 안에 있는 값을 찾는 연산자이다. $nin: 지정된 배열에 없는 값을 찾는 연산자이다. $exists: 지정된 필드가 문서에 존재하는지 여부를 체크하는 연산자이다. $type: 지정된 타입과 일치하는 필드의 데..
MongoDB는 문서 지향적 NoSQL 데이터베이스이다. 데이터를 JSON과 유사한 형식인 BSON(Document)으로 저장하고 관리한다. 다양한 데이터 구조를 효율적으로 저장하고 쿼리 할 수 있으며, SQL 데이터베이스에 비해 더 유연한 데이터 모델을 제공한다. MongoDB의 특징: 스키마가 없다: MongoDB는 고정된 스키마를 갖지 않는다. 같은 컬렉션 내의 문서들은 서로 다른 구조를 가질 수 있다. 문서 지향적이다: 데이터는 문서 형식의 BSON 파일로 저장된다. 이는 JSON과 유사하며, 데이터의 읽기와 쓰기가 용이하다. 확장성이 뛰어나다: 데이터가 증가함에 따라, MongoDB는 샤딩을 통해 데이터베이스를 수평으로 확장할 수 있다. 인덱싱을 지원한다: MongoDB는 다양한 형태의 인덱싱을..
MongoDB와 아침부터 조금씩 친해져보려고 하는데, 이 친구 외부 접속이 default로 막혀있는 거 같다.(그걸 30분 동안 삽질하고 나서 알아챈...) 그래서 좀 뒤져보니까 config 파일에서 외부 접속을 따로 설정해줘야 한다는 내용이 있길래 정리해보려고 한다. 우선 db와 해당 db에 접속 권한을 가진 계정을 생성해야 한다. db는 기존에 있는 db를 사용한다고 치면, use database_name; db.createUser({ user: "user", pwd: "password", roles: [{role: "dbOwner", db: "database_name"}] // 모든 권한, 최소 권한 원칙에 위배되나, 테스트용도이니 신경쓰지 않겠다. }); 이후에 MongoDB가 설치되어 있는 디렉..
- Take Something "Take something"이라는 표현은 "무언가를 복용하다"라는 의미로 사용된다. 보통 약을 먹을 때 이 표현을 자주 쓴다. 예문: - Take this medicine three times a day after meals. - You should take the painkillers every six hours. - 회식은? a staff dinner! - 보통 뭐하면서 쉬어? "How do you recharge?" 는 보통 뭐 하면서 쉬어? 정도의 문맥으로 사용할 수 있는 문장이다. 예문: A: "You've been working really hard lately. How do you recharge?" B: "I usually go for a long walk ..
- Think about 과 Think of의 맥락 "think about"과 "think of"는 모두 생각하다는 의미를 담고 있으나, 사용하는 맥락에 따라 의미상의 미묘한 차이가 있다. "think about"는 어떤 대상이나 주제에 대해 심사숙고하거나 고민하는 것을 의미한다. 이 표현은 보통 무언가를 깊이 있게 고려하거나, 어떤 문제에 대해 집중적으로 생각할 때 사용된다. 예를 들어, "I need to think about my future career"는 "나는 내 미래의 직업에 대해 심사숙고해야 한다"는 의미로, 여기서는 미래의 직업이라는 주제에 대해 깊이 있는 고민을 할 필요가 있음을 나타낸다. 반면, "think of"는 떠올리다라는 의미로 사용되며, 어떤 아이디어, 사람, 장소 등이 갑자..
이번에는 가장 일반적으로 사용하는 Stack Navigation을 구현하는 컴포넌트를 typeScript를 사용해서 구성해보려고 한다. 기본적으로 아래와 같이 RootStack을 구성할 수 있는데, ◎App.tsx import React from 'react'; import {NavigationContainer} from '@react-navigation/native'; import RootStack from './screens/RootStack.tsx'; const App = () => { return ( ); }; export default App; ◎screens/RootStack.tsx import React from 'react'; import {createNativeStackNavigator}..
typeScript로 contextAPI 를 사용하는 context 컴포넌트를 만들면 createContext로 사용할 전역 변수를 인터페이스로 만들어서 관리가 가능하다는 점과 제네릭 설정을 넣어 null 값에 대한 exception 처리를 손쉽게 할 수 있다는 장점이 있다. 바로 바로 참고할 수 있게 간단한 예제 컴포넌트만 하나 확인해보자. ◎AuthContext.tsx import React, {createContext, useContext, useState} from 'react'; interface User { id: number; username: string; } interface AuthContextValue { user: User | null; setUser(user: User): void..
좀 더 typescript와 친해져보자. 기존에 자주 사용하는 Hook들을 ts를 사용하여 변경하는 예제들을 확인하려고 한다. - useState import React, {useState} from 'react'; import {Button, Text, TextInput, View} from 'react-native'; const MessageForm = () => { // string 타입 const [text, setText] = useState(''); // interface 타입 체크 or null const [lastMessage, setLastMessage] = useState(null); const onPress = () => { setLastMessage({ message: text, d..
타입스크립트의 기본적인 문법을 다뤄봤으니, 이제 이 타입스크립트를 리액트/리액트 네이티브에서 어떻게 사용을 하는 지 확인해보자. Props를 어떻게 사용하여 자식 컴포넌트에 데이터를 전달하는게 JS 환경과 어떤 차이가 있는 지, 기본적인 예제 코드를 한 번 보자. Json 형식을 사용할 수도 있지만, 타입 검사를 위해 interface를 사용한다. ◎ Profile.tsx import React from 'react'; import {Image, StyleSheet, Text, View} from 'react-native'; interface Props { name: string; // normal param isActive?: boolean; // optional param image?: string;..
- Async
- 정보보안기사 #실기 #정리
- 인천 구월동 맛집
- 이탈리안 레스토랑
- await
- 파니노구스토
- redux-thunk
- 맛집
- javascript
- AsyncStorage
- react
- redux
- Promise
- react-native
- 인천 구월동 이탈리안 맛집
- Total
- Today
- Yesterday