📊 분류 전체보기 278

dart 비동기 프로그래밍

cpu thread 작업을 하는 가장 작은 단위 서버요청 때문에 cpu 가 놀게 됨 -> 굉장히 비효율적 그래서 Asynchronous Programming 이 생겨나게 됨 Stream async 를 쓰면 한번에 한 값만 받아올 수 있다. 여러 값을 받아오면 리스트를 쓰던가 등등.. stream 은 완료 될때까지 값을 계속 반환할 수 있다. stream 은 dart 에서 기본적으로 제공하는 패키지는 아니다. 패키지를 불러와서 사용해야 함 import 'dart:async'; void main() { final controller = StreamController(); // dart:async 에서 StreamController 를 가져올 수 있다 final stream = controller.stream..

🐦 Flutter 2022.06.02

dart 함수형 프로그래밍

void main(){ List blackPink = ['로제', '지수', '리사', '제니', '제니']; print(blackPink); // [로제, 지수, 리사, 제니, 제니] print(blackPink.asMap()); // {0: 로제, 1: 지수, 2: 리사, 3: 제니, 4: 제니} print(blackPink.toSet()); // {로제, 지수, 리사, 제니} Map blackPinkMap = blackPink.asMap(); print(blackPinkMap.keys); // (0, 1, 2, 3, 4) print(blackPinkMap.keys.toList()); // [0, 1, 2, 3, 4] print(blackPinkMap.values.toList()); // [로제, 지..

🐦 Flutter 2022.05.31

dart OOP

class 안에 final 을 써줘야 바깥에서 수정하는 것을 막을 수 있다. void main(){ Idol bts = Idol("방탄소년단", ["지수", "제이홉"]); bts.name = "에이핑크"; // block } class Idol { final String name; final List members; Idol(this.name, this.members); } void main(){ Idol bts = const Idol("방탄소년단", ["지수", "제이홉"]); } class Idol { final String name; final List members; const Idol(this.name, this.members); } const 의 기능은 원래 한번 선언하면 못 바꾸는 기능이 ..

🐦 Flutter 2022.05.30

flutter 기본 문법

void main() { var name = "dkjlsf"; var num = 123; print(name.runtimeType); // String print(num.runtimeType); // int } var 타입으로 쓰면 자동으로 선언할 당시 타입으로 유추해준다. runtimeType 이란 실행할 당시 Type 을 말함 주의 void main() { var name = "dkjlsf"; name = 12; print(name.runtimeType); } 에러.. int 는 String 에 할당될 수 없다는 에러가 뜬다. var 쓸 때는 피치 못할 사정에 쓰도록 한다. void main() { Map testType = {}; } void main() { String name = "ㄹ나ㅣ"; S..

🐦 Flutter 2022.05.28

nexus-graphql-mongoose-boilerplate 1일차

현재 회사에서 사용하고 있는 기술을 이해하기 위해 초기세팅 진행해보았습니다. 초기세팅 하면서 모르는 것들이 너무 많아서 며칠동안 블로그에 같이 정리해보도록 하겠습니다. npm init -y rootDir : 시작하는 루트 폴더. outDir : 컴파일 후 생성되는 js파일이 생성될 폴더명. target : 어떤 버전으로 컴파일할지 작성 outDir: './dist' rootDir: './src' 이렇게 설정하기 typescript 설치 yarn add -D typescript npx tsc --init tsconfig 파일이 생겨났습니다. tsconfig.json TypeScript로 짜여진 코드를 JavaScript로 컴파일하는 옵션을 설정하는 파일입니다. TypeScript 컴파일은 tsc 라는 명령..

👩🏻‍💻 TIL 2022.05.15

prisma nexus graphql 관계

prisma 스키마가 주어지면(첫번째) 이러한 prisma 모델을 API 에 투영하고 이에 대한 작업을 노출(가운데)하여 graphQL 스키마를 생성할 수 있습니다.(세번째) generator prisma_client { provider = "prisma-client-js" } model User { id String @id @default(cuid()) email String @unique birthDate DateTime } model Post { id String @id @default(cuid()) author User[] } import { schema } from 'nexus' schema.queryType({ definition(t) { t.crud.user() t.crud.users({ o..

🌸 GraphQL 2022.05.15

npm 과 npx 차이

npm 을 통해서 모듈을 설치할 때, 한 가지 옵션을 주게 되면 매 프로젝트마다 모듈을 설치해 줄 필요가 없고 그저 내 컴퓨터 안에 글로벌한 공간에 모듈을 설치해 프로젝트마다 같은 모듈을 공유해서 사용할 수 있습니다. 바로 -g 옵션인데요, 사용 방법도 꽤 간단합니다. npm install 모듈이름 -g 그러나 이는 좋은 방법이 아닙니다. 개발자 입장에서는 귀찮게 여러 번 설치할 필요도 없고 한 번 설치면 끝나는데 왜 좋은 방법이 아닐까 라고 생각하시는 분들이 있을지도 모르겠습니다. 그 이유에는 대표적으로 3가지가 있습니다. 모듈이 업데이트 되었는지 안되었는지 확인이 불가능 합니다. 모든 프로젝트마다 모듈을 재설치 하는것이 아닌, 한 번 설치한 모듈을 그대로 사용하기 때문에 프로그래머가 의식해서 글로벌 ..

👩🏻‍💻 TIL 2022.05.14

prisma migration

migration 마이그레이션은 손쉽게 애플리케이션의 데이터베이스를 수정하고 데이터베이스 스키마를 공유할 수 있도록 해주며 데이터베이스를 위한 버전 컨트롤과 같은 역할을 한다. 마이그레이션은 보통 라라벨의 스키마 빌더와 쌍을 이루어 애플리케이션의 데이터베이스 스키마를 손쉽게 만들 수 있다. 설명은 장황하지만 쉽게 생각하면 수동으로 테이블을 수정,삭제,생성 하는게 아니고 migration을 생성 후 적용 하면 손쉽게 데이터베이스를 수정 할 수 있다. migration 장점 DB 스키마를 쉽게 공유할 수 있다. migration 이력이 남아 버전 관리를 할 수 있다. prisma migrate Does not apply for MongoDB: Instead of migrate dev and related c..

🌿 Node 2022.05.14

[CSS] 리액트 룰렛

// 룰렛 도전 버튼을 누르면 돌아가는 애니메이션 css 시작 {/* 값 영역 */} {prizeData.map((item, i) => { // data map return ( {} {} ); })} {/* 선 영역 */} {[...Array(8)].map((n, index) => { return ( ); })} // 상단에 있는 룰렛 핀 아이콘 도전 import { makeStyles } from "@material-ui/core/styles"; import { StylePropType } from "./Types"; export const useStyles = (props: StylePropType) => { return makeStyles(() => ({ // css 클래스 네임들 wrap: { w..

💎 React 2022.05.14

[Prisma Client] null and undefined

null 과 undefined 차이점 null 은 value(= 값) 이다. undefined 는 "do nothing" 을 의미한다. 다음 예에서 emailInput 이 null 이면, email 필드를 undefined 로 해보자. (= do nothing 하라는 뜻) const update = await prisma.user.update({ where: { id: 1, }, data: { name: "Petunia", email: emailInput != null ? emailInput : undefined, // If null, don't include in update! }, }); function getEmail() { const random = Math.floor(Math.random() *..

🌸 GraphQL 2022.05.10