묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]
home screen에 찜하기가 바로 업데이트가 안되는 현상
detail screen에서 찜하기(like)를 누르고home screen으로 오면 상단에 바로 반영이 되야 하는데다른 탭에 갔다 와야지만 변경이 됩니다.어딘가 setstate를 해줘야 될거같은데 모르겠네요.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
baseContext 동작안함
package com.nadeukcha.horse import android.app.LauncherActivity import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button import androidx.navigation.findNavController import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.nadeukcha.horse.databinding.ActivityMainBinding class RacehorseDetailsFragment : Fragment() { private val items = mutableListOf<RacehorseModel>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.fragment_racehorse_details, container, false) items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add items.add( RacehorseModel( "https://www.horsepia.com/hp/pa/hh/PAHH2010/search.do#none", "https://www.horsepia.com/hp/pa/ac/photoResizer.do?file=0047386&extend=l.jpg&width=312&height=191&type=3&hrsGbCd=00100&bfHrno=047386", "기적의돌풍" ) ) // items.add val rv = view.findViewById<RecyclerView>(R.id.racehorseRv) val rvAdapter = RvAdapter(baseContext ,items) rv.adapter = rvAdapter // rv.layoutManager = LinearLayoutManager(context) rv.layoutManager = GridLayoutManager(context, 2) // 경기 내역 확인 view.findViewById<Button>(R.id.btn1).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_matchdetailsFragment) } // 기수 상제 정보 view.findViewById<Button>(R.id.btn3).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_riderDetailsFragment) } // 기록 정보 view.findViewById<Button>(R.id.btn4).setOnClickListener { it.findNavController().navigate(R.id.action_racehorseDetailsFragment_to_recordInfoFragment) } return view } }안녕하세요Fragment 강의에서 봤던 동작이랑 이번에 RecyclerView 강의를 합쳐서 화면을 만들어보고있었습니다그러던중 이번 강의 망고플레이트 앱 소개 및 레이아웃 - RecyclerView, Glide 강의의 24분 14초에 baseContext 추가하는 동작하를 하려고해는데 baseContext가 인식되지 않는 현상이있는데 따로 설정해줘야하는 부분이 있는건가요? baseContext를 넣으면 이런 오류가 나옵니다강의 내역과 조금 다른 질문인거같아 죄송합니다
-
해결됨Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
vite-plugin-vue-layouts 종속성 충돌 관련
안녕하세요,vue-plugin-vue-layouts 설치 시 종속성 충돌 관련 에러가 발생합니다.(node 및 npm, 그리고 package.json 내용 모두 강좌와 동일하게 진행중입니다.) github issue를 보니 vite version 관련한 문제로 보인다, 4.0.0을 지원해달라 등의 이야기가 있습니다.혹시 저와 같은 문제를 겪으신 분은 안계실까요?이 때, vite 버전 문제 관련한 부분을 해결(?)한 사람이 있더라고요.https://github.com/charrue/vite-plugin-vue-layoutsa. 원본을 fork한 이 것을 프로젝트에 설치해서 사용 시에 문제가 될까요?b. a 방법보다는, 원본에 --force 옵션을 두고 설치하는 것이 더 나은 선택일까요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
웹뷰에서 사이트로 넘어갈 때 오류가 납니다.
package com.example.mango_content import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { //데이터 넣을 리스트 변수 생성 private val items = mutableListOf<ContentsModel>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 리스트 데이터 // 데이터 클래스이기 때문에 차례대로 넣을 값만 넣어주면 된다 items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/Quiver/shopPhotoList", "https://image.toast.com/aaaaaqx/rv/s4XU7ZHko4NjDEkULtFHbAA/231108173855775(0).jpeg", "퀴버(Quiver)" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/bistrogama/shopPhotoList?pickup-date=231207&pickup-time=0342", "https://image.toast.com/aaaaaqx/catchtable/shopinfo/s23522/23522_2221020170729696.jpg?detail750", "비스트로 가마" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/cucciolo_seoul/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0346", "https://ugc-images.catchtable.co.kr/rv/s7YDg2g4TxcuMPb-Eds2nKQ/4179dd6517aa48e1900c08e8c9c769a5", "쿠촐로 서울" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/schedule_seongsu/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0352", "https://ugc-images.catchtable.co.kr/rv/sXGZ4Ldt3lvBgj3V-4rxIsQ/e6ce38eef9ee412ca63da36dacabc57a", "스케줄 성수" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/Quiver/shopPhotoList", "https://image.toast.com/aaaaaqx/rv/s4XU7ZHko4NjDEkULtFHbAA/231108173855775(0).jpeg", "퀴버(Quiver)" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/bistrogama/shopPhotoList?pickup-date=231207&pickup-time=0342", "https://image.toast.com/aaaaaqx/catchtable/shopinfo/s23522/23522_2221020170729696.jpg?detail750", "비스트로 가마" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/cucciolo_seoul/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0346", "https://ugc-images.catchtable.co.kr/rv/s7YDg2g4TxcuMPb-Eds2nKQ/4179dd6517aa48e1900c08e8c9c769a5", "쿠촐로 서울" ) ) items.add( ContentsModel( "https://app.catchtable.co.kr/ct/shop/schedule_seongsu/shopPhotoList?type=VISIT_RESERVATION&pickup-date=231207&pickup-time=0352", "https://ugc-images.catchtable.co.kr/rv/sXGZ4Ldt3lvBgj3V-4rxIsQ/e6ce38eef9ee412ca63da36dacabc57a", "스케줄 성수" ) ) val recyclerview = findViewById<RecyclerView>(R.id.rv) val rvAdapter = RVAdapter(baseContext,items) recyclerview.adapter = rvAdapter // 아이템 클릭 처리 rvAdapter.itemClick = object : RVAdapter.ItemClick { override fun onClick(view: View, position: Int) { val intent = Intent(baseContext, ViewActivity::class.java) intent.putExtra("url", items[position].url ) startActivity(intent) } } recyclerview.layoutManager = GridLayoutManager(this,2) } }MainActivity.kt package com.example.mango_content import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.appcompat.view.menu.MenuView.ItemView import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.bumptech.glide.Glide //viewmodel을 받을 것임 class RVAdapter(val context: Context, val List: MutableList<ContentsModel>) : RecyclerView.Adapter<RVAdapter.ViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.rv_item, parent, false) return ViewHolder(v) } // 웹뷰 클릭 이벤트 생성 interface ItemClick { fun onClick(view : View, position: Int) } var itemClick : ItemClick? = null override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) { if (itemClick != null) { holder.itemView.setOnClickListener { v -> itemClick!!.onClick(v, position) } } holder.bindItems(List[position]) } override fun getItemCount(): Int { return List.size } inner class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView) { fun bindItems(item : ContentsModel) { val rv_img = itemView.findViewById<ImageView>(R.id.rvImageArea) val rv_text = itemView.findViewById<TextView>(R.id.rvTextArea) rv_text.text = item.titleText Glide.with(context) .load(item.imageUrl) .into(rv_img) } } } RVAdapter.kt package com.example.mango_content import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.webkit.WebView class ViewActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_view) val webView = findViewById<WebView>(R.id.webView) webView.loadUrl(intent.getStringExtra("url").toString()) } }ViewActivity.kt<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Mango_content" android:usesCleartextTraffic="true" tools:targetApi="31"> <activity android:name=".ViewActivity" android:exported="false" /> <activity android:name=".SplashActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" android:exported="true"></activity> </application> </manifest>manifest.xml실행 했을 시, 다음과 같은 오류가 일어납니다.망고플레이트가 서버 종료되어서 저는 캐치테이블 사이트를 이용하였습니다.오류 구글링하여 매니패스트에android:usesCleartextTraffic="true" 도 추가 하였는데 그대로 오류나서 질문 드립니다. ㅠㅠ
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
emailArea가 안나와요..
package com.bokchi.mysolelife.auth import android.database.DatabaseUtils import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import androidx.databinding.DataBindingUtil import com.bokchi.mysolelife.R import com.bokchi.mysolelife.databinding.ActivityIntroBinding import com.google.firebase.Firebase import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.auth class JoinActivity : AppCompatActivity() { private lateinit var binding: ActivityIntroBinding private lateinit var auth: FirebaseAuth override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) auth = Firebase.auth binding = DataBindingUtil.setContentView(this, R.layout.activity_join) binding.joinBtn.setOnClickListener { val email = binding.emailArea } // auth.createUserWithEmailAndPassword("abc@abc.com", "12341234") // .addOnCompleteListener(this) { task -> // if (task.isSuccessful) { // Toast.makeText(this, "성공", Toast.LENGTH_LONG).show() // } else { // Toast.makeText(this, "실패", Toast.LENGTH_LONG).show() // } // } } }여기 보면 선생님과 똑같이 했는데 emailArea을 이제 칠때 빨간색으로 뜨면서 안되요...<?xml version="1.0" encoding="utf-8"?> <layout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".auth.JoinActivity" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:background="@color/mainColor" android:layout_height="150dp"> <TextView android:text="회원가입" android:gravity="center" android:textStyle="bold" android:textColor="@color/black" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="50dp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:orientation="vertical"> <EditText android:id="@+id/emailArea" android:layout_width="match_parent" android:layout_height="50dp" android:hint="email" style="@style/AuthEditText"/> <LinearLayout android:layout_width="match_parent" android:background="#999999" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_height="0.5dp"/> <EditText android:id="@+id/passwordArea" android:layout_width="match_parent" android:layout_height="50dp" android:inputType="textPassword" android:hint="password" style="@style/AuthEditText"/> <LinearLayout android:layout_width="match_parent" android:background="#999999" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_height="0.5dp"/> <EditText android:id="@+id/passwordArea2" android:layout_width="match_parent" android:layout_height="50dp" android:inputType="textPassword" android:hint="password check" style="@style/AuthEditText"/> <LinearLayout android:layout_width="match_parent" android:background="#999999" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_height="0.5dp"/> <Button android:id="@+id/joinBtn" android:layout_margin="20dp" android:background="@drawable/background_radius_yellow" android:text="회원가입하기" android:layout_width="match_parent" android:layout_height="50dp"/> </LinearLayout> </LinearLayout> </layout> 여기 ID emailArea 적어져 있습니다 그런데 왜(?) 이런 오류가 뜨는 것일가요?? 알려주세요...ㅠㅠ
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
상품목록 불러오기, 장바구니 삭제 에러 질문 드립니다
firebase 연동 후 client와 server 실행하여 구동 중 오류 발생하여 질문 드립니다.해당 에러를 찾아보니까 'createdAt' 필드를 중복으로 사용하고 있다고 GET_PRODUCTS 쿼리에서 'createdAt' 삭제하여도 역시 그대롭니다.server/src/resolvers/product.ts강의에 설명해주신 기존 코드대로 짜니까"'QueryStartAtConstraint' 형식의 인수는 'QueryOrderByConstraint' 형식의 매개 변수에 할당될 수 없습니다. 'type' 속성의 형식이 호환되지 않습니다. '"startAt" | "startAfter"' 형식은 '"orderBy"' 형식에 할당할 수 없습니다. '"startAt"' 형식은 '"orderBy"' 형식에 할당할 수 없습니다." 라는 에러가 떠서 주석 처리를 하고 수정을 하였는데 인터넷 검색해서 이것저것 고친거라 정확한건지 모르겠네요.장바구니 삭제 에러quertClient.ts 기존 코드에서 에러로 인해 수정했습니다.추가적으로 영상에 설명하신 코드와 현재 설치 버전 호환에 차이가 많아 오류가 생겨 수정해주었습니다client/src/components/cart/item.tsx // 기존 코드 const queryClient = getClient() const { mutate: updateCart } = useMutation( ({ id, amount }: { id: string; amount: number }) => graphqlFetcher(UPDATE_CART, { id, amount }), // 수정 const queryClient = getClient() const { mutate: updateCart } = useMutation<{ updateCart: CartType }, unknown, { id: string; amount: number }>( ({ id, amount }) => graphqlFetcher(UPDATE_CART, { id, amount }),client/src/pages/products/[id].tsx // 기존 코드 const { data } = useQuery<{ product: Product }>([QueryKeys.PRODUCTS, id], () => graphqlFetcher(GET_PRODUCT, { id }), ) // 수정 const { data } = useQuery<{ product: Product }>( [QueryKeys.PRODUCTS, id], () => graphqlFetcher(GET_PRODUCT, { id }), { select: (data) => data as { product: Product }, // 선택적으로 타입 캐스팅 } );위 코드들 외에도 수정한 부분이 여러군대인데 잘못된 코드 수정으로 인하여 오류가 발생하는 것인지 궁금합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
alt + 엔터를 했는데도 안나오면 어떻게 해야될까요?
Intent를 알트 + 엔터를 쳤을 때 안나오는데 어떻게 하면 나오는지 궁금합니다.
-
미해결[플러터플로우]코딩 없이 한 달 만에 앱 만들기
질문이 있습니다.
플러터플로우로 빠르게 프론트 부분을 완성시키고 세세한 validator나 인증 절차등은 flutter 코드로 구현하려고 하는데요. 이를 flutterflow의 Git repo에 push하고 다른 branch에 pull하여 플러터로 수정하는 식으로 앱을 개발해보고 있습니다.이때 Git repo의 관리 방법이나(rebase, merge, ff only 등) 퍼블리싱은 flutter로 하는 방법밖에 없는지 질문드리고 싶습니다.
-
미해결너네 백엔드 하고 싶은 거 있으면 얼마든지 해 난 괜찮어 왜냐면 나는 파이어베이스가 있어
회원가입 실행이 안되요
사전 설정은 다 제대로 한 것 같은데 회원가입하면 실패도 아니고 오류 로그가 뜹니다.. ㅠㅠapi 오류라고 해서 콘솔 sdk도 다 다시 설정해 보았는데 자꾸 오류가 뜹니다... ㅠㅠ 해결 부탁드립니다. 제 파이어베이스 API sdk입니다. useSignup.jsimport { useState } from 'react' import { appAuth } from '../firebase/config' import { createUserWithEmailAndPassword, updateProfile } from 'firebase/auth' export const useSignup = () => { // 에러 정보를 저장합니다. error 상수에 저장 기본값 null // setError -> 상태를 업데이트 하기 위한 것 const [error, setError] = useState(null); // 현재 서버와 통신중인 상태를 저장합니다. // isPending이 ture면 통신중 const [isPending, setIsPending] = useState(false); // signup 훅을 만듭니다. email, password, displayName 세가지 매개변수를 갖습니다. const signup = (email, password, displayName) => { setError(null); // 아직 에러가 없으니 null 입니다. setIsPending(true); // 통신중이므로 true입니다. // 파이어베이스에서 회원가입을 도와주는 함수 (도큐먼트에 있음) // 비밀번호 설정으로 유저 정보를 등록합니다. config에서 import 받아야합니다. createUserWithEmailAndPassword(appAuth, email, password) .then((userCredential) => { // 회원가입 // 성공했을 때, Signed in // 유저정보를 user에 담아옴 const user = userCredential.user; console.log(user); // 회원 정보를 정상적으로 받지 못하면 실패입니다. -> 경고 띄우기 if (!user) { throw new Error('회원가입에 실패했습니다.'); } // 회원 정보 업데이트 // 회원가입이 완료되고 유저 정보에 닉네임(displayName)을 업데이트합니다. import 받아야합니다.\ // appAuth.currentUser를 통해 현재 로그인 정보를 받아옴 updateProfile(appAuth.currentUser, { displayName }) .then(() => { setError(null); setIsPending(false); }).catch((err) => { //예외 처리 setError(err.message); setIsPending(false) console.log(err.message); }); }) .catch((err) => { // 예외 처리 setError(err.message); setIsPending(false); console.log(err.message); }); } // 에러값, 통신여부, signup 함수(밖에서 사용할 수 있도록) 리턴 return { error, isPending, signup } } config.js// 계정과 관련된 파이어베이스 설정 -> 깃허브에 올리면 안됨 // Import the functions you need from the SDKs you need import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; import { getFirestore } from "firebase/firestore"; // Your web app's Firebase configuration const firebaseConfig = { apiKey: process.env.REACT_APP_API_KEY, authDomain: process.env.REACT_APP_AUTH_DOMAIN, projectId: process.env.REACT_APP_PROJECT_ID, storageBucket: process.env.REACT_APP_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID, appId: process.env.REACT_APP_APP_ID, }; // Initialize Firebase 인증 초기화 // firebase 초기화 const app = initializeApp(firebaseConfig); const appAuth = getAuth(); // firestore 초기화 const appFireStore = getFirestore(app); // 나중에 다른 곳에서도 사용 가능하게 빼놓는 것 export{appAuth, getFirestore} .envREACT_APP_API_KEY = AIzaSyAIgKLWTMyx_t8VhSzEUB3XQF755FGB7_c REACT_APP_AUTH_DOMAIN = mydiary-ccb8c.firebaseapp.com REACT_APP_PROJECT_ID = mydiary-ccb8c REACT_APP_STORAGE_BUCKET = mydiary-ccb8c.appspot.com REACT_APP_MESSAGING_SENDER_ID = 1047629886497 REACT_APP_APP_ID = 1:1047629886497:web:59ffb871ffeb3054261f60
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
실행하면 바로 앱이 안떠요..
이제 처음 선생님도 앱을 실행했을때 ok라고 뜨 잖아요 그런데 저는 실행도 안되요...그래서 다시 처음부터 했는데 되지 않아요.......ㅠㅠ
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase option 오류
- 안녕하세요. firebase를 사용하는 12강을 보고 따라하던 도중에 이런 에러가 발생했습니다. 재설치를 해도 init을 해서 초기화를 해도 해결이 되지 않네요. 설치후 바로 들어가는 도입부분이라 더 아리쏭합니다.
-
해결됨Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
메뉴 컴포넌트 분리..
안녕하세요~ default.vue에서 헤더의 메뉴 부분 컴포넌트를 분리해봤는데그럼 authDialog 가 활성화가 안 되더라구요..방법이 없을까요?
-
해결됨Flutter로 SNS 앱 만들기
회원가입화면
에뮬레이터를 실행하고 회원가입화면으로 보고 싶은데, main화면이 실행됩니다
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
게시글/댓글 작성 후 리스트뷰에 즉시 반영이 안됩니다
안녕하세요 강사님좋은 강의 제공해주셔서 감사합니다.제목 그대로의 문제가 있어서 질문 남깁니다.BoardWrite액티비티에서 게시글 작성 후 등록 버튼을 누르고 finish()를 통해 프래그먼트로 빠져나오는 경우,그리고 BoardInside액티비티에서 댓글을 등록한 경우리스트뷰에 결과가 즉시 반영되지 않는 것 같습니다.다른 액티비티 혹은 프래그먼트로 이동 후 돌아오면 반영되긴 하지만요...강사님 영상을 보니 게시글/댓글 모두 리스트뷰에 즉시 반영되는 것 같은데...아, 차이점이 있다면 저는 binding을 쓰지 않았습니다. 혹시 이 탓일까요?
-
미해결Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
비밀번호 재설정에서 질문있습니다!
안녕하세요, 파이어베이스 인증 부분'비밀번호 변경하기' 강의에서 궁금한 것이 있어 질문드립니다. 비밀번호 재설정을 위해 이메일로 재설정 링크를 발송하고재설정할 비밀번호를 입력하면이 창이 뜨는데, 여기서 저는 비밀번호 재설정 후 바로 제가 원하는 로그인화면으로 나왔으면 좋겠습니다. 상기의 화면은 제가 생성한 파일이 아니라firebase에서 보여주는 화면인데,그 부분은 어떻게 해야할까요, 그럼 확인부탁드리겠습니다감사합니다!
-
미해결vue.js 실전 프로젝트(트위터 클론)
배포 후 로그인 불가 현상
6월에 완성하고 파이어베이스 배포했을때는 정상적으로 작동을 했었는데 오늘 확인차 로그인을 해보려고 하니 이런 에러 메세지가 뜨면서 로그인 자체가 되질 않네요. 이전에 저장됐던 로그인 정보 파이어베이스 db에서 모두 삭제하고 새로 회원가입 후 로그인 했을때 현상입니다,.. 다른 아이디로 회원가입하고 로그인해도 똑같은 현상이 발생하네요.
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
graphqlFetcher 관련 에러와 , data 객체 정의 되지 않는 오류 질문 드립니다
안녕하세요. msw 강의를 듣는 중에 해결되지 않는 문제가 있어서 질문 남깁니다.pages > products > [id].tsx이 호출과 일치하는 오버로드가 없습니다.오버로드 1/3('(queryKey: QueryKey, options?: Omit<UseQueryOptions<Product, unknown, Product, QueryKey>, "queryKey"> | undefined): UseQueryResult<...>')에서 다음 오류가 발생했습니다.'() => Promise<unknown>' 유형에 'Omit<UseQueryOptions<Product, unknown, Product, QueryKey>, "queryKey">' 유형과 공통적인 속성이 없습니다.오버로드 2/3('(queryKey: QueryKey, queryFn: QueryFunction<Product, QueryKey>, options?: Omit<UseQueryOptions<Product, unknown, Product, QueryKey>, "queryKey" | "queryFn"> | undefined): UseQueryResult<...>')에서 다음 오류가 발생했습니다.'Promise<unknown>' 형식은 'Product | Promise<Product>' 형식에 할당할 수 없습니다.'Promise<unknown>' 형식은 'Promise<Product>' 형식에 할당할 수 없습니다.'unknown' 형식은 'Product' 형식에 할당할 수 없습니다.ts(2769)types.d.ts(9, 89): 필요한 형식은 이 시그니처의 반환 형식에서 가져옵니다ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ'{}' 형식에 'Product' 형식의 id, imageUrl, price, title 외 2개 속성이 없습니다.ts(2740)detail.tsx(3, 77): 필요한 형식은 여기에서 'IntrinsicAttributes & { item: Product; }' 형식에 선언된 'item' 속성에서 가져옵니다.import { Product } from '../../graphql/products' const ProductDetail = ({ item: { title, imageUrl, description, price } }: { item: Product }) => ( <div className="product-detail"> <p className="product-detail__title">{title}</p> <img className="product-detail__image" src={imageUrl} /> <p className="product-detail__description">{description}</p> <span className="product-detail__price">${price}</span> </div> ) export default ProductDetailcomponents > products > detail.tsxpages > products > index.tsx이 호출과 일치하는 오버로드가 없습니다. ... 필요한 형식은 이 시그니처의 반환 형식에서 가져옵니다(위와 동일)'NonNullable<TQueryFnData>' 형식에 'products' 속성이 없습니다'product' 매개 변수에는 암시적으로 'any' 형식이 포함됩니다 해당 에러는 앞서 다른 수강생들도 질문한 부분이라 찾아봤는데const { data } = useQuery<Products>(QueryKeys.PRODUCTS, () => graphqlFetcher<Products>(GET_PRODUCTS) ) 알려주신 방식대로 리액트쿼리 버전 변경에 따라 타입스크립트 정의 방식이 바뀐 형태로 수정해주었는데도 같은 에러가 발생합니다.handlers.ts이 상태에서 실행을 하니 data객체가 정의되지 않는다고 나오며 localhost 500 Request Handler Error가 뜹니다import { gql } from 'graphql-tag' export type Product = { id: string imageUrl: string price: number title: string description: string createdAt: string } // export type MutableProduct = Omit<Product, 'id' | 'createdAt'> export type Products = { products: Product[] } const GET_PRODUCTS = gql` query GET_PRODUCTS { id imageUrl price title description createdAt } ` export const GET_PRODUCT = gql` query GET_PRODUCT($id: string) { id imageUrl price title description createdAt } `graphql > products.ts며칠째 계속 잡고 하다가 안되서 그냥 두고 다음 강의 듣고 있는 중인데 오류 때문에 자꾸 신경이 쓰이네요별거 아닌 에러였으면 좋겠네요
-
미해결Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
vite로 프로젝트를 만들어서 진행해도 문제 없을까요?
안녕하세요~당연히 강의 내용을 따라가는게 맞긴 합니다만, 제가 백엔드 개발자라 인텔리제이 IDE를 쓰는게 편해서 강의를 인텔리제이로 진행중입니다vite로 프로젝트를 만들면 인텔리제이에서 뷰로 인식해서 여러 vscode에서 따로 설치해야하는 플러그인 기능을 기본으로 제공해주더군요근데 퀘이사로 프로젝트를 생성하면 이같은 기능이 동작하지 않네요 정리하자면 vite로 프로젝트를 만들어서 퀘이사를 설치해도 후반부 강의에 문제 없을까요?
-
해결됨[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
초급용 미리보기 영상을 보며 따라하고 있습니다.
안녕하세요!1) 초급용 추천받아서 미리보기로 영상을 따라하고 있는데 영상과 다르게 'build configuration language'가 계속 뜨고2) 'android studio' 다운 받을 때 저는 'android studio giraffe'로 다운을 받았는데 이건 버전을 나누기 위해 다른 게 맞나요?
-
해결됨[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
만든 후 activity_main.xml이 없습니다. MainActivity.kt의 로고도 이상합니다.
안녕하세요!위 화면에서 finish후 나오는 화면입니다.