[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요! 너무 좋은 강의 감사합니다. 아이폰, 안드로이드 폰 기기별 사이즈와 비율이 다른데 어떻게하면 기기별 비율에 맞게 맞출 수 있나요? 예를 들어 아이콘 사이즈가 39*39 인데 (디자이너 기준 아이폰 12프로) 아이폰 13미니에서는 아이콘 사이즈, 텍스트 위젯등 모두 비율에 맞게 작아져야하는데 방법을 모르겠습니다.
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
일단...여러가지 배포 오류가 많이떠서 거의 2주간 배포에 시간 썼는데 여찌저찌 배포가 되긴 했어요..! 이번엔 질문이 좀 많아요..ㅎ 서버 api와 통신은 제대로 잘 되는데 자꾸 웹소켓 오류가 뜨는데 이거 무시해도 괜찮은 건가요? 서비스 동작하는데는 문제 없는 것 같은데 이런 오류가 계속 떠요. 백엔드와 데이터베이스 연결 pdf 파일 내용은 영상으로 안다뤄 주신거죠? 제가 도커쪽과 배포쪽은 정말 아예 처음 써보는거라 지식이 많이 부족한데, 제가 영상보고 이해하기로는 현재 ec2에서 깃 클론으로 모든 client와 server소스코드와 도커 컴포즈 파일까지 가져와서 거기서 pm2로 클라이언트랑 서버 모두 백그라운드로 실행하는 것으로 이해했거든요. 2-1. 왜 도커 파일을 client와 server에 각각 만들어줘서 도커컴포즈로 이미지 생성하도록 만드는건지 이해를 못했어요. 도커 파일에는 여러 패키지 설치하는 명령어(?)와 client를 실행시키는 명령어가 있던데 이 과정이 왜 필요한건지 이해를 못했습니다.ㅠㅠ 사실 저는 '백엔드와 데이터베이스 연결하기'라는 pdf에 있는 도커 파일로 변경했을때 배포 실패했다가 도커파일 싹 다 지우고 decker-compose.yml파일을 원래 기존 로컬에서 작성했던대로 냅두고, data-source.ts 파일의 host 부분도 그냥 " localhost "로 놔둔채 배포에 성공했거든요. 그래서 저 pdf 파일대로 client와 server에 도커파일을 만들고 도커 컴포즈 파일까지 변경한 후 도커 컴포즈 명령어 실행했을 때와 도커파일 없이 기존의 도커컴포즈 파일대로 배포했을 때와는 어떤 부분이 다른건지 궁금합니다. ec2 인스턴스에서 깃 클론으로 가져온 client를 다시 npm run build:production하는 빌드과정을 보여주셨는데, 어짜피 pm2로 ecosystem.config파일을 백그라운드로 실행시킬거면 (이 파일에서 script: "npm run start:production"라는 명령어를 실행하도록 설정해줬으므로) client의 빌드 폴더 만드는 과정이 필요 없는거 아닌지요? (무지한 소리면 죄송합니다..ㅠ) 마지막으로, 인스턴스를 종료하고 컴퓨터를 끄더라도 도커가 종료되지 않고 계속 동작하는 것 같더라고요. 로그인 로그아웃이 동작하고 유효한 토큰인지 확인하는 api도 잘 동작했어요. 제가 생각했을 떄는 pm2로 서버와 클라이언트는 백그라운드로 실행시켰지만 도커는 포어그라운드로 동작시켜서 인스턴스 종료하면 데이터베이스와는 연결이 끊겨 제대로 동작을 안할 것이라 생각했는데 예상과는 달리 잘 동작하더라고요. 이건 도커의 특징인건지, 아니면 저희가 작성한 파일에 백그라운드로 동작하도록 하는 설정이 포함되어 있는건지.. 알려주시면 감사하겠습니다. 질문이 길고 갯수가 많은데 답변 기다리겠습니다..! 감사합니다.
스톱워치 버튼의 색깔이 보라색으로 고정되어있을 경우 올바르게 해결한 것이 맞는지 질문드립니다. themes.xml 파일에서 style태그에 parent값이 다음과 같습니다. Theme.Material3.DayNight.NoActionBar 저는 이 부분을 다음과 같은 값으로 교체하여 해결했습니다. Theme.AppCompat.Light.NoActionBar
안녕하세요 제로초님! 강의 잘 듣고 있습니다. 다름이아니라 강의 내용대로 따라가면서 무리없이 로그인 로그아웃 동작하도록 만들었는데 현재 상태는 로그아웃을 하게되면 swr을 revalidate 해서 로그아웃을 수행한 상태에서는 유저정보 api를 호출할 수 없으니 undifined가 되어서 그 값으로 페이지 이동을 제어한다 라고 이해를 했는데 혹시 맞을까요? 맞다면 로그아웃 후에도 클라이언트 사이드에 쿠키에 토큰값이 아직 지워지지 않은채로 남아있는데 백엔드에서는 로그인처리가 되었어도 프론트에서 쿠키값을 따로 지워줄 필요는 없는것인지 궁금합니다!
안녕하세요 제로초님 강의 잘 듣고 있습니다. 우선 에러가 발생하여 질문하는 것은 아니구요. axios와 swr을 활용하는 과정에서 의문점이 생겨서 질문을 드렸습니다. axios 로 로그인 api를 호출하게되면 response에 로그인한 유저의 정보를 받을 수 있는데 로그인이 성공한 후 swr을 사용해서 유저 정보 조회 api를 서버에 get요청으로 다시 받아 쓰는 이유가 뭔지 궁금합니다.
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
이렇게 pm2로 client, server를 둘다 실행 시켰고, 맨 처음 client만 실행했을 때는 포트 80번이 3000번으로 잘 우회되어 보여졌는데 서버 실행 부분을 따라하면서 pm2로 서버를 실행시킨 후 부터 보안오류가 떠서 사이트 접근이 막혔습니다.. 이러한 보안 오류가 떴습니다. 이후, EC2 인스턴스 퍼블릭 IPv4 DNS주소로 들어가기만 하면 저런 경고 사이트가 뜹니다.ㅠㅠ 어떻게 해결할 수 있을까요?..아래에 작성한 코드 첨부 했습니다. server package.json 파일의 scripts 부분 코드 입니다. "scripts": { "start": "ts-node src/server.ts", "start:production": "env-cmd -f .env.production ts-node ./src/server.ts", "dev": "env-cmd -f .env.development nodemon --exec ts-node ./src/server.ts", "test": "echo \"Error: no test specified\" && exit 1", "typeorm": "typeorm-ts-node-commonjs" }, server의 .env.production 파일입니다. (token시크릿 키는 제외시킨 부분) PORT=4000 NODE_ENV=production APP_URL=http://ec2-54-81-196-163.compute-1.amazonaws.com:4000 ORIGIN=http://ec2-54-81-196-163.compute-1.amazonaws.com 추가적으로, pdf 파일에는 백엔드 서버 실행 다음 부분에 백엔드 서버와 데이터 베이스 도커를 통해 연결하기 파트가 있던데 해당 부분은 영상 제작에서 제외시키신 건가요? 아니면 배포 영상 쪽 말고 다른 영상에서 찍으신거면 어떤 영상에서 확인 가능한지 알려주시면 감사하겠습니다..!
안녕하세요 조이스선생님 안드로이드 스튜디오 개발 환경설정 강의를 보고 그대로 따라 프로젝트를 생성해 보았는데 자바 프로젝트가 생성됩니다 무엇이 잘못된 걸까요? 너무 기초적인 질문인 것 같아 민망하지만 혼자서는 도저히 답이 나오지 않아 질문 드립니다 좋은 강의 만들어 주셔서 감사합니다
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
selectedDayPredicate에 파라미터로 들어가있는 함수는 DateTime타입의 인자를 필수적으로 받아와야 하는걸로 압니다. 그런데 코드에서 어떤 부분도 이 함수에 인자를 전달해주지 않는데 어떻게 date인자에 날짜들이 들어가있는지, 그렇다면 강의를 보지않았을 때 이 인자가 그런식으로 데이터가 들어있다는것을 어디서 어떻게 확인해야하는 지 궁금합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 섹션21 TodayBanner 설계 강좌에서 아래와 같은 에러 메시지가 나와서 더 이상 진행이 안 됩니다. final onDaySelected? onDaySelected; 에서 onDaySelected가 타입이 아니라고 나오네요. 강좌에서 밖으로/위로(?) 빼는 작업과 statefull로 바꾸는 과정에서부터 에러가 나와서 여기서 막혀 더 이상 강의를 따라하며 들을 수 없습니다. 혹시나 해서 소스 코드를 깃허브에 올려 두었습니다. 소스코드는 아래에 있습니다. https://github.com/kooboom/calendar_scheduler lib/component/calendar.dart:12:9: Error: The name of a constructor must match the name of the enclosing class. const Calendar({ ^^^^^^^^ lib/component/calendar.dart:9:9: Error: 'onDaySelected' isn't a type. final onDaySelected? onDaySelected; ^^^^^^^^^^^^^ lib/component/calendar.dart:9:24: Context: This isn't a type. final onDaySelected? onDaySelected; ^^^^^^^^^^^^^ lib/screen/home_screen.dart:28:13: Error: The method 'Calendar' isn't defined for the class '_HomeScreenState'. - '_HomeScreenState' is from 'package:calendar_scheduler/screen/home_screen.dart' ('lib/screen/home_screen.dart'). Try correcting the name to the name of an existing method, or defining a method named 'Calendar'. Calendar( 소스코드는 아래에 있습니다. https://github.com/kooboom/calendar_scheduler
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요? 캘린더 프로젝트 관련 질문사항이 있습니다. 먼저 drift 패키지를 사용하기 위해 객체를 선언했습니다. - CategoryColors, Schedules 모두 뒤에 s가 붙은 이름으로 테이블을 사용하기 위한 ORM 객체를 선언한것 까지는 알겠는데요. (s 붙이는게 필수?) drift가 자동 생성한 소스에 보면 s가 빠진 클래스들이 생성이 되어 있습니다. - CategoryColor, Schedule 여기에 궁금함이 있습니다. 처음에 객체 선언에 반드시 s를 붙여야 하는 건지? 붙이지 않는다면 어떤 클래스 이름으로 자동 생성이 되는건지? Schedules 클래스 선언 -> (자동생성) Schedule 객체 s 가 빠진 원리를 알고 싶습니다.
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
ec2 우분투에서 npm run build:production 명령어를 입력하면, > client@0.1.0 build:production > env-cmd -f .env.production react-scripts build Creating an optimized production build... 이 상태에서 더 이상 진행되지 않고 멈춰있습니다. ctrl+c로 중단했다가 다시 빌드해봐도 동일한데 어떻게 해결할 수 있을까요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
코드를 작성하던 중 안드로이드 스튜디오에서 Navigator.of(context).pop() 을 Navigator.pop() 으로 자동완성 시켜주어 모르고 쓰던 도중 보니 Navigator.pop(true)라고 쓰면 add cast를 하라며 Navigator.pop(true as BuildContext)라고 고쳐주더군요. 찾아보니 Navigator.pop(true as BuildContext)와 Navigator.of(context).pop(true)는 완전히 같은 기능을 하는 것 같은데 공부가 필요한 내용일까요??