Expo로 npm start 시 빨간 warning ...
미해결
따라하며 배우는 리액트 네이티브 기초
Expo로 폴더를 만들어서 npm start를 했을 시 사진처럼 빨간 Warning이 나옵니다 .. 어떻게 해결해야 하나요?? package.json에 "type": "module" 작성도 해봤고, Xcode도 다운받아서 해봤습니다 ㅠㅠㅠ 근데도 사라지지 않네요 어떻게 해야하나요 ..
- react
- react-native
- expo
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
따라하며 배우는 리액트 네이티브 기초
Expo로 폴더를 만들어서 npm start를 했을 시 사진처럼 빨간 Warning이 나옵니다 .. 어떻게 해결해야 하나요?? package.json에 "type": "module" 작성도 해봤고, Xcode도 다운받아서 해봤습니다 ㅠㅠㅠ 근데도 사라지지 않네요 어떻게 해야하나요 ..
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
혹시 저처럼 초보분들을 위해서 남깁니다. 저 혼자 삽질할께요 여러분들은 빠르게 세팅하고 빠르게 강의를 들어요 ✨ 혹시나 이 글을 강의 처럼 install 다해주고나서 발견하셨다면 간편하게 패키지.json 에서 관련된거 다 지워주고 yarn.lock를 지워주시고 yarn install 입력해주세요 yarn instlal @nestjs/cache-manager cache-manager-redis-store@2.0.0 yarn install -D @types/cache-manager @types/cache-manager-redis-store cache-manager-redis-store만큼은 2.0.0으로 설치해주셔야 합니다. 그래야 redisStore에대한 타입에러가 안납니다. 출처: https://4sii.tistory.com/689 이 아래부터는 그냥 제 코드 복붙입니다. 아래 코드는 위의 출처 사이트를 가보시면 다 적혀있으니 제 코드를 복붙하셔도되고 출처 사이트가셔서 코드 복붙하셔도됩니다. app.module.ts import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { CacheModule } from '@nestjs/cache-manager'; import { ConfigModule } from '@nestjs/config'; import { GraphQLModule } from '@nestjs/graphql'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthModule } from './apis/auth/auth.module'; import { BoardsModule } from './apis/boards/boards.module'; import { FilesModule } from './apis/files/files.module'; import { PaymentsModule } from './apis/payments/payments.module'; import { PointsTransactionsModule } from './apis/pointsTransactions/pointsTransactions.module'; import { ProductsModule } from './apis/products/products.module'; import { ProductsCategoriesModule } from './apis/productsCategories/productsCategories.module'; import { UsersModule } from './apis/users/users.module'; import { CacheConfigService } from './cacheConfig.service'; @Module({ imports: [ AuthModule, BoardsModule, // FilesModule, PaymentsModule, PointsTransactionsModule, ProductsModule, ProductsCategoriesModule, UsersModule, ConfigModule.forRoot(), // env를 사용할 수 있게 해줌 GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', // context 부분이있어야~ resolver나 다른데에서 // @Context() context:IContext, context.res 등등으로 사용가능함 // req는 기본적으로 들어오지만, res는 이걸 작성해야 들어옴 context: ({ req, res }) => ({ req, res }), }), // https://docs.nestjs.com/techniques/database 참고 TypeOrmModule.forRoot({ type: process.env.DATABASE_TYPE as 'mysql', host: process.env.DATABASE_HOST, port: Number(process.env.DATABASE_PORT), username: process.env.DATABASE_USERNAME, password: process.env.DATABASE_PASSWORD, database: process.env.DATABASE_DATABASE, entities: [__dirname + '/apis/**/*.entity.*'], synchronize: true, logging: true, }), CacheModule.registerAsync({ isGlobal: true, useClass: CacheConfigService }), ], }) export class AppModule {} cache-config.service.ts import { CacheModuleOptions, CacheOptionsFactory } from '@nestjs/cache-manager'; import { Injectable } from '@nestjs/common'; import redisStore from 'cache-manager-redis-store'; @Injectable() export class CacheConfigService implements CacheOptionsFactory { createCacheOptions(): CacheModuleOptions { const config: CacheModuleOptions = { store: redisStore, host: 'localhost', port: 6379, ttl: 60, }; return config; } }
해결됨
[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
판매자: name 2019 LTE 32GB: remarks 240.120원: price 내용: contents 태그: tags 찜: pickedCount 주소: useditemAddress 를 사용을 하는데 "삼성전자 갤럭시탭 A 10.1" 이건 어디서 가져왔는지 모르겠습니다. title은 playground를 봐도 안 나와 있는데 어떤 걸 사용을 해야 하나요?
미해결
Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
template lang=""> <ItemList></ItemList> {{ users[0] }} </template> <script lang="ts"> import ItemList from '../components/lists/ItemList.vue' import {fetchNewsList, User} from '../api/news' export default { data() { return { users: [] as User[] } }, vue3에 타입스크립트 적용해서 하는 중입니다. 위 코드처럼 interface 만들어서 타입을 사용해보고 있는데 {{ users[0] }}에 .id .title 등 ide에서 제공되는 타입추론이 안됩니다. vue는 방법이 없을까요??
미해결
[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
안녕하세요, 알찬 수업 무료로 열어주셔서 감사한 마음으로 배우고 있습니다.이번 강의에서 단축 평가 패턴에 대해 알려주셨습니다.제가 기존에 이해하고 있던 단축 평가 패턴은, false && ... 은 항상 false 이므로 ... 에 대한 확인은 하지 않는다 true || ... 은 항상 true 이므로 ... 에 대한 확인은 하지 않는다 확인하지 않음으로서 조금의 성능 향상을 얻는다. 정도 였습니다.강의 내용에는 console.log(true && '아이브') // 아이브라는 내용이 있습니다.관련하여 이해가 되지 않아 정보를 찾다보니, 이러한 패턴을 이용해서 값이 들어 있는 변수 혹은 값이 들어있지 않은 변수를 찾아내는 데 사용하더라고요.( https://wondev.tistory.com/17) 그럼에도 '왜'의 굴레에서 벗어나지 못하고 있습니다..ㅎ..단축 평가 패턴과 관련하여 조금 더 깊은 설명을 들어볼 수 있을까요?혹은 제가 참고하면 좋을 자료를 공유받을 수 있을까요?감사합니다.
미해결
[웹 개발 풀스택 코스] 순수 자바스크립트 기초에서 실무까지
강의 듣는 시점인 현재 http://localhost:3000/customers? name_like=${name} 위와같은 like 구문은 이름입력& 조회 버튼 클릭시 에러는 안나지만 검색은 안되네요 ^^;; -> http://localhost:3000/customers? name=${name} 이런식으로 like 검색을 빼면 이름을 대소문자 정확히 입력하면 검색이 됩니다. 관련하여 검색해 봤지만 like 검색 관련해선 안나오는데 like 검색을 어떻게 처리 해야 하나요?
미해결
[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
interface IUseMoveToPageReturn { onClickMoveToPage: (path: string) => () => void } export const useMoveToPage = (): IUseMoveToPageReturn => { const router = useRouter() const onClickMoveToPage = (path: string) => () => { void router.push(path) } return {onClickMoveToPage} } 위 처럼 작성 후 <button onClick={onClickMoveToPage("/markets")}>마켓 이동</button> 호출 할 수도 있지만 import { useRouter } from "next/router" export const useMoveToPage = (path: string) => { const router = useRouter() return () => router.push(path) } 보다 직관적으로 하면 인터페이스로 typescript 지정 안하고 <button onClick={useMoveToPage("/boards")}>게시판 이동</button> 호출해서 쓸 수 있지 않나요?
미해결
Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
vue peek 설치 없이는 컴포넌트 위에 컨트롤 마우스로 올려놔도 링크 생성이 안되네요..
미해결
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 의존성 주입을 하기 위해 @Injectable 하는걸로 이해했습니다. BearerTokenGuard 을 만들때 @Injectable 을 선언 하지 않는 이유는 BearerTokenGuard은 직접 사용하지 않고 RefreshTokenGuard, AccessTokenGuard 에서 상속을 받아 상속을 받는곳에서 @Injectable 을 하고 super로 실행시키는 거여서 그런건가요??
미해결
Vue 3 시작하기
volar 와 vue language features 로 검색해봤지만, 영상에 나오는 플러그인은 검색이 안됩니다. 다른걸 설치해야할까요?
미해결
Next + React Query로 SNS 서비스 만들기
안녕하세요, 강사님, 개발 하는 도중에, test2계정으로 -> test1계정에 메시지를 걸 떄 원래는 test1계정이 나와야하는데, 현재 로그인한 유저의 정보를 불러오는 상황이 생겼습니다.이유가 무엇인지 궁금합니다!! import { HydrationBoundary, QueryClient, dehydrate, } from '@tanstack/react-query'; import style from './profile.module.css'; import UserPosts from './_component/UserPosts'; import { getUserPosts } from './_lib/getUserPosts'; import UserInfo from './_component/UserInfo'; import { auth } from '@/auth'; import { getUserServer } from './_lib/getUserServer'; import { User } from '@/model/User'; export async function generateMetadata({ params }: Props) { const user: User = await getUserServer({ queryKey: ['users', params.username], }); return { title: `${user.nickname} (${user.id})`, description: `${user.nickname} (${user.id})`, openGraph: { title: `${user.nickname} (${user.id}) / Z`, description: `${user.nickname} (${user.id})`, // 프로필 images: [ { url: `https://z.nodebirde.com${user.image}`, // upload width: 800, height: 600, }, ], }, }; } type Props = { params: { username: string }; }; export default async function Profile({ params }: Props) { const { username } = params; const queryClient = new QueryClient(); const session = await auth(); // 사용자 정보 쿼리로 가져옴 await queryClient.prefetchQuery({ queryKey: ['users', username], queryFn: getUserServer, }); // 해당 유저의 게시글 await queryClient.prefetchQuery({ queryKey: ['posts', 'users', username], queryFn: getUserPosts, }); const dehydratedState = dehydrate(queryClient); // 서버쪽에서 쿼리를 해온 것을 나중에 dehydratedState로 받으면 됨. // const user = { // id: 'zerohch0', // nickname: '제로초', // image: '/5Udwvqim.jpg', // }; return ( <main className={style.main}> <HydrationBoundary state={dehydratedState}> <UserInfo username={username} session={session} /> <div> <UserPosts username={username} /> </div> </HydrationBoundary> </main> ); }
해결됨
실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
안녕하세요. Payment테스트 코드 작성 부분에서 몇가지 궁금한점이 생겨 질문 드립니다. 1. 실제 Payment 컴포넌트에서는 useCouponList훅으로부터 selectedCoupon데이터를 받아와서 사용하는데 테스트 코드에서는 쿠폰 정보를 prop으로 전달하는 이유가 무엇인가요? 2. 실제 구현 동작을 보면 ShippingInformationForm에서 쿠폰을 선택하면 Payment 쿠폰란에 곧바로 반영되는데 이런 부분까지는 통합테스트에서 검증하지 않아도 되나요?
해결됨
실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
안녕하세요. 지금 챕터5 네비게이션바 테스트 코드 작성 부분을 보고 있는데 테스트 속도가 너무 느린 문제가 발생합니다ㅜ 테스트 항목 하나를 테스트 할때마다 21초씩 걸립니다... 생각보니 이 전 챕터에서도 테스트 시간이 조금 오래 걸리긴 했던거 같긴 해요. 이건 제 컴퓨터 문제일까요, 아니면 속도 저하의 원인을 파악하는 방법이라도 있을지 조언을 구해 봅니다ㅠㅠ
미해결
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
1.3 NextJS 설치 편에서 다크모드 설정하는 부분에서 문의드립니다. <ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange > {children} </ThemeProvider> 설정 후, 영상에서는 dark, light로 수정하면 반영되는것을 확인할 수 있는데 제 코드에서는 Warning: Extra attributes from the server: class,style 그리고 Warning: Prop className did not match. Server: "__className_aaf875 vsc-initialized" Client: "__className_aaf875" 라는 워닝이 발생하여 자동적으로 반영되지 않는 것을 확인했습니다. 해당 이슈를 수정할 수 있는 방법이 있을까요 ?
미해결
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; import { RolesEnum } from '../const/roles.const'; @Entity() export class UserModel { @PrimaryGeneratedColumn() id: number; @Column({ length: 20, unique: true, }) nickname: string; @Column({ unique: true, }) email: string; @Column() password: string; @Column({ enum: Object.values(RolesEnum), default: RolesEnum.USER, }) role: RolesEnum; }
해결됨
Next + React Query로 SNS 서비스 만들기
안녕하세요! 강의 잘듣고있습니다. login 폴더가 불필요한 루트 인 것 같아서 바로 인터셉터 라우터를 이용해 @modal로 연결했습니다. <Link href="/i/flow/login" className={styles.login}>로그인</Link> 또 추가로 새로고침 해도 Modal을 유지하고 싶어서 i/flow/login폴더에서 아래와 같이 마운트시에 인터셉터 하도록 유도하였습니다. "use client"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; export default function Login() { const router = useRouter(); useEffect(() => { router.replace("/i/flow/login"); }, [router]); return null; } 기존 유입방식으로 SSR Page에서 i/flow/login으로 이동 시, 인터셉터 라우팅하여 병렬 라우팅 하던것과 달리, 바로유입 -> i/flow/login -> (replace) -> (.)i/flow/login/page.tsx 순으로 @modal이 출력될줄 알았는데 모달이 출력되질 않네요.. 이유가 i/flow/login으로 바로 접속했기에 상위 폴더 영역에서 {modal}을 선언한 layout을 찾지 못하기 때문에 아무것도 뜨지 않는건가요? 제가 이해한 것이 맞을지 검색해도 잘 안나와서 질문드립니다!
해결됨
코어 프런트엔드 UI - Part 1
안녕하세요, 수강 중에 css transition 파트에서 궁금증이 생겨 질문 드립니다. max-height 속성을 이용해서 애니메이션을 적용해주셨는데, 아래 방식처럼 height를 0, auto로 애니메이션 주는 것과 차이가 있을까요? .item3 { overflow: hidden; .description { padding: 0 15px; border-bottom-width: 0; // max-height: 0; height: 0; transition: ease 0.3s; } &.current .description { padding: 15px; border-bottom-width: 1px; // max-height: 300px; height: auto; } }
해결됨
코어 프런트엔드 UI - Part 1
안녕하세요 강의를 들으면서 정리하는 데 블로그에 게시글로 같이 올려도 가능한지 문의드립니다 예를 들어 아코디언을 듣고 코드와 주석 및 정리한 내용들을 바탕으로 출처와 함께 글을 올리는 것입니다 따로 강의 코드에 대한 github이 없는 것 같아 여쭤봅니다 !
미해결
인터랙티브 웹 개발 제대로 시작하기
이벤트 강의를 듣고 나서 addEventListener를 이용하여 여러 장의 사진이 있으면 슬라이더처럼 하나씩 넘겨서 볼 수 있는 이벤트를 만들 수 있을 것 같아 혼자 코드를 직접 짜봤는데요, body 부분은 아래처럼 작성하고, <body> <div class="container"> <div class="slider" id="slider-01"></div> <div class="slider" id="slider-02"></div> <div class="slider" id="slider-03"></div> </div> </body> css는 아래처럼 작성했고, .container { position: relative; width: 660px; height: 440px; overflow: hidden; } .slider { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: contain; background-repeat: no-repeat; transform: translateX(100%); } #slider-01 { background-image: url(./images/cat/cat-01.png); z-index: 3; } #slider-02 { background-image: url(./images/cat/cat-02.webp); z-index: 2; } #slider-03 { background-image: url(./images/cat/cat-03.webp); z-index: 1; } .sliderMove { transform: translateX(0%); transition: 1s; } js코드를 아래와 같이 작성했습니다. <script> window.addEventListener("load", function sliderHandler() { const sliderGroup = document.querySelectorAll(".slider"); let currentSlider; function activate(elem) { elem.classList.add("sliderMove"); currentSlider = elem; } function inactivate(elem) { elem.classList.remove("sliderMove"); } for (i = 0; i < sliderGroup.length; i++) { if (currentSlider) { inactivate(currentSlider); } activate(sliderGroup[i]); } }); </script> 후에 실행을 해보니 사진이 슬라이더처럼 작동이 안돼서요.. 작동이 안되는 이유와 어느 부분을 수정해야 하는지 알려주시면 감사하겠습니다! 혹 수업 내용과는 조금 벗어난 질문을 한 거라면 정말 죄송합니다ㅜㅜ..
미해결
React & Express 를 이용한 웹 어플리케이션 개발하기
이제 조금씩 알아가는 과정중에 강의가 딱 끊겨서... 저도 배움이 딱 끊기는 기분이 드네요 ㅠㅠ 페이지 내 라우터라든가...실전에서 백엔드 api 연결해서 데이터 가져오는 부분이라든가 강의 볼려면 어디로 가서 이후 버전을 배워야 할지 걱정이네요 ㅠㅠ 실전 코드들을 보고싶습니다.