inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

6.1 scanf 반환값

미해결

홍정모의 따라하며 배우는 C언어

int main() { int num = 0,red=0, sum = 0; int status; printf("Enter an integer (q to quit) :"); status= scanf("%d %d", &num, &red); while (status >= 1) { sum = sum + num + red; printf("Enter next integer (q to quit) : "); status = scanf("%d %d", &num, &red); } printf("Sum = %d", sum); return 0; } 여기서 정수를 입력받은 변수의 갯수로 scanf의 반환값이 status라는 변수에 저장되는 것으로 이해했는데요 변수 num red에 각각 순서대로 1 2 / 3 4 / q 5를 넣으며 디버거로 확인해봤는데요. 세번째 scanf에 5라는 정수를 입력해서 status 값이 1이 나올거라 생각했는데 왜 status값이 0으로 나올까요? num에 숫자가 아닌 문자를 넣어서 red에도 영향을 주는건가요?? /5 q 순서로 바꿔서 넣어봤을때는 status값이 1이 나와 4번째 scanf를 입력하려 했지만 그냥 그대로 끝이나고 sum도 4가 중복돼서 10과 19로 값이 다르더라고요. 문자를 입력하면 뒤에 변수에도 영향을 주는거 같은데 확실하지 않아서 질문드립니다.

  • c
저스트두잇하는중 댓글 1 좋아요 0 조회수 377

동전교환 효율성

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요 동전교환문제에서 저는 부분집합을 만들고 계산은 마지막에 하는 방식으로 풀어봤습니다. 효율성 방식에서 상태트리로 쭉 나가는 강사님 방식이랑 비교하면 뭐가 더 나은가요? def DFS(L): money= m global minn cnt=0 if L==n: #계산은 여기서 for i in range(0,n): if ch[i]==1: cnt+=(money//p[i]) money%=p[i] if cnt<minn and money==0: minn=cnt else: # 깊이탐색해서 경우의 수 만들기 ch[L]=0 DFS(L+1) ch[L]=1 DFS(L+1)

  • 코테 준비 같이 해요!
  • 코딩-테스트
  • python
tkddnr961224 댓글 1 좋아요 0 조회수 445

Facade를 controller 에서의 사용

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요 동시성 관련된 수업을 너무 잘 들었습니다. 위와 같이 만들어진 facade의 decrease 메서드를 controller에서 바로 사용하면 동시성 문제가 해결되는걸까요?

  • java
  • spring
  • 동시성
  • 동시성
medneter 댓글 1 좋아요 0 조회수 447

12강 질문

미해결

캐글 설문조사로 데이터 분석 입문하기

12강에서 Q26에 대한 내용에 질문이 있습니다. A,B로 나뉘어진 문항이라 두 개를 따로 그릴 수 있는 건 이해했는데요, 처음에 그냥 show_plot_by_qno('Q26') 로 그렸을 때 검은 선으로 표시되는 부분에 대해 더 자세한 설명이 듣고 싶습니다. 분명 각각 출력하면 둘 다 막대그래프인데 왜 그렇게 표시되는 건가요?

  • seaborn
  • kaggle
  • pandas
고구고구마 댓글 1 좋아요 0 조회수 399

buffered-io가 사용하는 버퍼메모리에 대한 질문있어요

해결됨

독하게 되새기는 C 프로그래밍

먼저 항상 특별한 강의 잘 듣고있습니다. 감사합니다. 1. buffered-io의 buffer 메모리는 어플리케이션 메모리죠? 제가 이해하기로는 buffered-io방식으로 write를 한다면 호출시 바로바로 write시스템콜을 호출하는게아니라, 버퍼라고 부르는 어플리케이션메모리에 내용을 써놨다가 일정 byte이상 차게되면 실제 write시스템콜을 호출함으로써 시스템콜을 줄일 수 있는게 핵심이라고 이해했는데 맞을까요? 결국에 이때 buffer라는 memory는 어플리케이션의 메모리를 말하는거죠? (커널의 메모리가 아니구요) 2. read(input)에서의 buffered-io 시스템콜을 한방에 하기위해서 최대한 뒤로 미루는 버퍼방식의 write와 비교해서 read의 경우에는 일단 시스템콜을 호출해야할것같은데 맞나요? 따라서 read에서의 buffered-io는 모아서 시스템콜을 한다기보다는 buffer라는 chunk단위로 한방에 읽을 수 있는걸 buffered-io한다고 이해하면 맞을까요? 제가 이해하기로는 buffered-io에서의 buffering방식이 read시에, write시에 다르게 느껴져서요.

  • c
  • kernel
  • secure-coding
김기현 댓글 1 좋아요 0 조회수 948

nodeJS 교과서 git chat에서 mongoDB 사용한 이유

미해결

gif chat 예제에서 mySQL이 아니라 mongoDB를 사용하신 이유가 혹시 따로 있을까요? 아니면 단순히 mongoDB를 이용한 예제를 보여주기 위함인가요?

pang현석 댓글 0 좋아요 0 조회수 162

비전 트랜스포머 - 최신 모델 강의에서 positional embedding

해결됨

최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지

안녕하세요! 비전 트랜스포머 - 최신 모델 강의에서 예시로 설명해주신 R^65*128에 Epos 인 positional embedding을 더하는데도 R^65*128의 크기에는 변화가 없나요?? 이전에 클래스 정보를 더했을 때는 64에서 +1해서 65가 되었는데 positional embedding을 했을 때는 값에 변화가 없나 궁금해서 질문드립니다.

  • 딥러닝
  • vision-transformer
  • 컴퓨터-비전
  • 딥러닝
  • 컴퓨터-비전
  • pytorch
arokim37 댓글 1 좋아요 2 조회수 496

HomeController가 선택되는 이유가 궁금합니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

수업과 같이 코드를 다 작성하고, HelloStringApplication을 실행하고나서 localhost :8080을 들어가면 왜 3개의 컨트롤러중 home컨트롤러가 실행되어 home.html이 화면에 출력되는지 궁금합니다.

  • MVC
  • spring-boot
  • java
  • spring
yoon960325 댓글 1 좋아요 0 조회수 592

Startup.cs 파일생성방법

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

지난번 1월 16일차로 Startup.cs 파일이 없어서 문의 드렸습니다만, 답변이 없으셔서 다시 글을 남깁니다. 현재 Part6: 웹 서버 Blazor 미니프로젝트 #1 강의 수강중인데요 RankingApp Blazor 서버웹 프로젝트 생성하였습니다 Blazor 미니프로젝트 #1 강의 2분24초쯤의 강의 캡처사진과 제 개인프로젝트 사진을 비교해서 보내드립니다. (강의 수강중 캡처) (개인 프로젝트 캡처) 위의 캡처사진과 같이 Startup.cs 파일이 자동생성되지않아서 강의를 따라갈 수 없습니다. 현재 .NET CORE 3.1이 더이상 지원이되지않아서 비쥬얼스튜디오 2022로 다시설치후 .NET CORE 6.0 으로 실행 >> HelloRazor, HelloWebAPI, HelloEmpty 등의 파일을 생성하였습니다만, Startup.cs 파일이 자동생성되지않았습니다. Startup.cs 파일생성관련해서 어떻게해야 생성이되는지 조언 부탁드립니다.

  • web-api
  • ASP.NET-Core
  • blazor
  • asp.net-core
  • rest-api
cear3251 댓글 2 좋아요 1 조회수 1465

비전 트랜스포머 - 최신 모델' 강의에서 B*N*K 와 1*K*D 를 연산

미해결

최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지

안녕하세요! 항상 좋은 강의 해주셔서 감사드립니다. '비전 트랜스포머 - 최신 모델' 강의에서 B*N*K 와 1*K*D 를 연산하면 B*N*D 가 된다고 하셨는데 어떤 연산을 통해서 어떻게 B*N*D로 변환되는지 궁금합니다. 그냥 B*N*K에서 단순히 K의 형태를 바꾸는 연산만 하면 안되는 건가요?? 어떤 원리로 연산을 통해 변환이 되는 건지 궁금해서 질문 드립니다. 그리고 연산에서 R^N*D 에서 기호 R은 무엇을 뜻하는지 궁금합니다. 감사합니다.

  • 딥러닝
  • 컴퓨터-비전
  • pytorch
  • 컴퓨터-비전
  • 딥러닝
  • vision-transformer
  • pytorch
  • vision-transformer
arokim37 댓글 1 좋아요 1 조회수 440

BadHeaderError at /accounts/signup/

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

심지어는 이런 에러까지 뜨더라구요. 이것과 관련하여서는 장고 공식문서에 나온대로 예외처리를 class User(AbstractUser): website_url = models.URLField(blank = True) bio = models.TextField(blank = True) def send_welcome_email(self): subject = render_to_string('accounts/welcome_email_subject.txt', { 'user': self }) content = render_to_string('accounts/welcome_email_content.txt',{ 'user': self }) # 여기서 settings는 django.conf라는 곳에서 임포트 해오는 것이고 # 기초 settings.py의 이름이 변하더라도 거기서 가져오는 것 같다. # 문제 생길 시, 추측이 아닐 수 있으니 settings를 common으로 변경해주자. sender_email = settings.WELCOME_EMAIL_SENDER if subject and content and sender_email: try: # 여기서 self.email의 의미는 User마다 email로 가입이 될텐데, 그 주소가 수신주소가 되는것이다. send_mail(subject, content, sender_email, [self.email], fail_silently=False) except BadHeaderError: return HttpResponse('Invalid Header found.') return HttpResponseRedirect('/') else: # In reality we'd use a form class # to get proper validation errors. return HttpResponse('Make sure all fields are entered and valid.') # save할때마다 호출 -> which mean is User가 생성될때마다 # 이런식의 로직 구현이 가능하다. def save(self, *args, **kwargs): is_created = (self.pk == None) super().save(*args, **kwargs) if is_created: pass 이렇게 중간에 try, except로 처리해주었는데, 이렇게 해도 진행에 지장은 없을까요? 애초에 이 에러가 왜 발생했는지도 이해가 잘갑니다. 에러메세지를 읽어봐도 두루뭉술하게 Header values can't newlines 라고 되어있으니, 뭐가 문제인지도 파악이 어렵구요 ㅠㅠ

  • react
  • docker
  • python
  • django
최다니엘 댓글 1 좋아요 0 조회수 327

NoReverseMatch at /accounts/signup/

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요 선생님 ㅠㅠ 연달아서 에러가 빵빵 터지네요 NoReverseMatch at /accounts/signup/ Reverse for 'pydenticon_image' with keyword arguments '{'data': ''}' not found. 1 pattern(s) tried: ['identicon/image/(?P<data>.+)/\\Z'] 인데요. 문제가 되는 부분은 <img src="{% url 'pydenticon_image' data=user.username %}" style="width: 24px; height: 24px;"> 이 부분으로 나옵니다. Error during template rendering In template /Users/daniel_choi/Desktop/total_projects/instagram_second/templates/layout.html, error at line 77 Reverse for 'pydenticon_image' with keyword arguments '{'data': ''}' not found. 1 pattern(s) tried: ['identicon/image/(?P<data>.+)/\\Z'] 이게 에러 추가 메세지 이구요. 하지만 이것과 관련하여는 잘 작동하다가 그냥 아무것도 만진것없이 echo 쪽만 들락거리고 signup 시도했던 것 밖에 없는데, 되다가 갑자기 에러가 나니깐 당황스럽네요; (물론 admin을 제외한 계정을 계속해서 삭제하고 시도하긴 했습니다.) from django_pydenticon.views import image as pydenticon_image urlpatterns = [ path('identicon/image/<path:data>/', pydenticon_image, name = 'pydenticon_image') ] 이렇게 되어있구요. accounts/forms.py 에서도 User모델 상속 받고, class Meta로 fields 중에서 username을 분명히 오버라이드 시킨것도 확인이 되는데, 왜 이런 에러가 발생하는지 모르겠습니다! ㅠㅠ 이거는 추가적으로 몇번 테스트를해보니깐 1.계정을 생성한다 2.SMTP에러가 뜬다. 3.admin페이지에 들어가서 방금 생성된 계정을 삭제한다. 4.다시 /accounts/signup페이지에 접속시도한다. 5.<img src=" {% url 'pydenticon_image' data=user.username %} " style="width: 24px; height: 24px;"> 관련된 reversematch에러가 뜬다. 6.admin페이지에서 admin계정으로 로그인을 하고 accounts/signup 페이지로 와야 비로소 이 reversematch 에러가 뜨지 않습니다. #번외 번외 적으로는 분명 계정을 생성했고, admin 페이지에서도 2개의 추가계정이 확인되는데, Django administration (어드민페이지 로그인창)을 통해서 로그인하려고 하면 비밀번호를 맞게 입력해도 로그인이 안됩니다;

  • python
  • django
  • docker
  • react
최다니엘 댓글 2 좋아요 0 조회수 793

Sequelize constructor.primaryKeyAttributes 오류

미해결

Node.js에 TypeScript 적용하기(feat. NodeBird)

안녕하세요 제로초님 이전에 알려주신 Sequelize 타이핑 덕뿐에 문제 잘 해결했습니다. [0] Executing (default): SELECT `id`, `email`, `nick`, `password`, `provider`, `snsId`, `createdAt`, `updatedAt`, `de letedAt` FROM `users` AS `User` WHERE (`User`.`deletedAt` IS NULL AND `User`.`id` = 1); [0] TypeError: Cannot read properties of undefined (reading 'length') [0] at Box._initValues (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:130:49) [0] at new Model (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:116:10) [0] at new Box (C:\workspace\Dev-Mark\server\models\box.js:31:1) [0] at Box.build (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:1326:12) [0] at Box.create (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:1344:23) [0] at C:\workspace\Dev-Mark\server\controller\box.js:36:44 [0] at Generator.next (<anonymous>) [0] at C:\workspace\Dev-Mark\server\controller\box.js:8:71 [0] at new Promise (<anonymous>) [0] at __awaiter (C:\workspace\Dev-Mark\server\controller\box.js:4:12) [0] C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:83 [0] for (const key of Object.keys(this.constructor._attributeManipulation)) { [0] ^ [0] [0] TypeError: Cannot convert undefined or null to object [0] at Function.keys (<anonymous>) [0] at Timeout._onTimeout (C:\workspace\Dev-Mark\server\node_modules\sequelize\lib\model.js:83:34) [0] at listOnTimeout (node:internal/timers:564:17) [0] at process.processTimers (node:internal/timers:507:7) [0] [0] Node.js v18.13.0 [1] [HPM] Error occurred while proxying request localhost:3000/api/box/ to http://localhost:5000/ [ECONNRESET] (https ://nodejs.org/api/errors.html#errors_common_system_errors) [0] npm run server exited with code 1 --> Sending SIGTERM to other processes.. [1] npm run client exited with code 1 이번에는 라는 오류가 나오는데요, stackoverflow를 읽어보니 default value를 지정하라는 말도 있고 init을 하지 않았다는 말도 있는데 둘 다 제 케이스에는 해당하지 않는 것 같습니다. sequelize 공식문서에서도 읽어보았지만 문제가 뭔지 잘 모르겠습니다... Box.js (변환) "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sequelize_1 = __importStar(require("sequelize")); const user_js_1 = __importDefault(require("./user.js")); class Box extends sequelize_1.Model { static initiate(sequelize) { Box.init({ id: { type: sequelize_1.default.INTEGER, primaryKey: true, autoIncrement: true, }, box: { type: sequelize_1.default.STRING(15), allowNull: false, }, img: { type: sequelize_1.default.STRING(200), allowNull: true, }, createdAt: sequelize_1.default.DATE, updatedAt: sequelize_1.default.DATE, }, { sequelize, timestamps: true, underscored: false, modelName: "Box", tableName: "boxs", paranoid: false, charset: "utf8mb4", collate: "utf8mb4_general_ci", }); } static associate() { Box.belongsTo(user_js_1.default); } } exports.default = Box; box.ts import Sequelize, { CreationOptional, InferAttributes, InferCreationAttributes, Model, ForeignKey, } from "sequelize"; import User from "./user.js"; class Box extends Model<InferAttributes<Box>, InferCreationAttributes<Box>> { declare id: CreationOptional<number>; declare box: string; declare img: string; declare createdAt: CreationOptional<Date>; declare updatedAt: CreationOptional<Date>; declare UserId: ForeignKey<User["id"]>; static initiate(sequelize: Sequelize.Sequelize) { Box.init( { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, }, box: { type: Sequelize.STRING(15), allowNull: false, }, img: { type: Sequelize.STRING(200), allowNull: true, }, createdAt: Sequelize.DATE, updatedAt: Sequelize.DATE, }, { sequelize, timestamps: true, underscored: false, modelName: "Box", tableName: "boxs", paranoid: false, charset: "utf8mb4", collate: "utf8mb4_general_ci", } ); } static associate() { Box.belongsTo(User); } } export default Box; user.ts import Sequelize, { CreationOptional, InferAttributes, InferCreationAttributes, Model, BelongsToManyAddAssociationMixin, NonAttribute, } from "sequelize"; class User extends Model<InferAttributes<User>, InferCreationAttributes<User>> { declare id: CreationOptional<number>; // 'CreationOptional' is a special type that marks the field as optional // id can be undefined during creation when using `autoIncrement` declare email: string; declare nick: string; declare password: CreationOptional<string>; declare provider: CreationOptional<string>; declare snsId: CreationOptional<string>; declare createdAt: CreationOptional<Date>; // createdAt can be undefined during creation declare updatedAt: CreationOptional<Date>; // updatedAt can be undefined during creation declare deletedAt: CreationOptional<Date>; // ... static initiate(sequelize: Sequelize.Sequelize) { User.init( { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, }, email: { type: Sequelize.STRING(40), allowNull: true, unique: true, }, nick: { type: Sequelize.STRING(15), allowNull: false, }, password: { type: Sequelize.STRING(100), allowNull: true, }, provider: { type: Sequelize.ENUM("local", "kakao", "github"), allowNull: false, defaultValue: "local", }, snsId: { type: Sequelize.STRING(30), allowNull: true, }, createdAt: Sequelize.DATE, updatedAt: Sequelize.DATE, deletedAt: Sequelize.DATE, }, { sequelize, timestamps: true, underscored: false, modelName: "User", tableName: "users", paranoid: true, charset: "utf8", collate: "utf8_general_ci", } ); } static associate() { } } export default User; index.ts import Sequelize from 'sequelize'; import configObj from '../config/config.js'; import User from './user.js'; import Post from './post.js'; import Hashtag from './hashtag.js'; import Alarm from './alarm.js'; import Bookmark from './bookmark.js'; import Box from './Box.js'; const env = process.env.NODE_ENV as 'production' | 'test' || 'development'; const config = configObj[env]; export const sequelize = new Sequelize.Sequelize( config.database, config.username, config.password, config, ); Alarm.initiate(sequelize); Bookmark.initiate(sequelize); Box.initiate(sequelize); Hashtag.initiate(sequelize); Post.initiate(sequelize); User.initiate(sequelize); Alarm.associate(); Bookmark.associate(); Box.associate(); Hashtag.associate(); Post.associate(); User.associate();

  • node.js
  • 웹앱
  • nodejs
  • typescript
  • 웹앱
Chang Su Lee 댓글 1 좋아요 0 조회수 1025

gcd 최대공약수

해결됨

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요 선생님 정보 올림피아드같은 대회에서는 gcd같은 함수를 사용할 수 있을까요? 만약 최대공약수를 구하는 문제가 나온다면 gcd를 이용해서 풀어도 되는건가요? 아니면 최대공약수를 구하는 코드를 작성해야 하나요? 그리고, 혹시 파이썬 내장함수 math의 gcd 함수가 작동되는 원리를 알고계신가요?? 감사합니다.

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
  • gcd
  • 최대공약수
  • 파이썬내장함수
  • math
이도열 댓글 1 좋아요 0 조회수 496

@beforeEach 사용하는 이유가 궁금합니다.

미해결

스프링 핵심 원리 - 기본편

@beforeEach 를 사용하면 모든 테스트는 자신이 실행되기 전에 이 작업을 수행 한다 라고 되어있는데 MemberServiceTest 부분에서 @beforeEach를 안쓰고 MemberService memberService; AppConfig appConfig = new AppConfig(); memberService = appConfig.memberService(); 위와같이 쓰니 오류(Unknown class: 'memberService')가 났습니다. MemberService memberService; @BeforeEach public void beforeEach(){ AppConfig appConfig = new AppConfig(); memberService = appConfig.memberService(); } 위의 코드처럼 @BeforeEach 사용해야 appConfig와 memberService를 정의 할 수 있는 이유가 궁금하며 @BeforeEach가 없으면 왜 오류가 나는지 궁금합니다. 답변주시면 정말 감사하겠습니다.

  • oop
  • 객체지향
  • spring
코딩먹는하마 댓글 1 좋아요 4 조회수 801

이항계수

해결됨

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요 선생님 https://www.acmicpc.net/problem/11050 제가 이항 계수1 이라는 문제를 풀고 있는데, 이항 계수가 뭔지 잘 모르겠어서 질문 올립니다. 이항정리에 대해서 검색도 해보았는데, 를 어떻게 구해야 할까요? 감사합니다.

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
  • 이항계수
  • 이항정리
  • 이항계수1
  • 11050번
  • 백준
이도열 댓글 1 좋아요 0 조회수 1327

OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로

미해결

처음 배우는 리액트 네이티브

안드로이드 NDK와 같은 스마트폰 OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로 구현할 수 있는지 궁금합니다. 저는 gstreamer 파이프라인을 구현한 앱을 만들고 싶습니다. 또 opencv 도 사용하고요, 딥러닝 라이브러리도 사용하고 싶습니다. 이런 부분은 아마도 안드로이드 NDK 와 같은 걸 써야 할 것 같습니다. 아이폰은 잘 모르지만 아마 iOS 에도 NDK 비슷한 것이 있을 것 같습니다. 이렇게 플랫폼에 종속된 기술을 각 플랫폼 별로 구현해야 하는 것은 피할 수 없을 것 같습니다. 그러나 UI 부분은 리액트 네이티브로 원소스로 구현하고 싶습니다. 이런 식의 구현을 할 수 있는지, 할 수 있다면 어떤 참고 자료가 있을지 궁금합니다.

  • javascript
  • react-native
  • react-native
oosaprogrammer 댓글 1 좋아요 0 조회수 511

M:N 등록/조회 API 작성에서 Typescript 문제 질문드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 제가 찾고 기다리던 내용의 강의라 매우 만족하며 수강하고 있는 수강생입니다! ㅎ products.service.ts 파일에서 create와 update 메서드 작성할 때 typescript 에러에 대해 질문드립니다. products.service.ts 파일 create 메서드에서 productTags를 등록하는 과정에 const result2 = [] 부분을 const result2: string[]로 작성하면 await productRepository.save (...) 에서 No overload matches this call이 뜨고 update 메서드에서 updateProductInput에 UpdateProductInput로 타입을 지정하면 위와 마찬가지로 await productRepository.save (newProduct)에서 No overload matches this call이 뜹니다. 두 경우 모두 Type 'string' is not assignable to type 'ProductTag' 문제로 product.entity.ts에서는 productTag를 아래와 같이 등록하고 @Field(() => [ProductTag]) @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) productTags: ProductTag[]; createProduct.input.ts에서는 CreateProductInput에서 productTag를 아래와 같이 등록해서 발생하는 문제라고 추측했습니다. @Field(() => [String]) productTags: string[]; 두 경우 모두 타입을 지정하지 않고 any로 두면 문제는 사라지긴 합니다. any로 두고 사용할 수밖에 없는 것인지 아니면 타입 지정을 해서 사용하는 방법이 있는지 궁금합니다.

  • node.js
  • nodejs
  • rest-api
  • docker
  • javascript
  • tdd
  • express
  • nestjs
  • NestJS
endymion cheon 댓글 1 좋아요 0 조회수 491

mysql 데이터베이스 연결 안되는 문제 Unable to connect to the database

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

yarn start:dev 실행 하고 나면 아래와 같이 나오면서 에러가 뜨고 있어요 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... 아래 코드도 정상적으로 기입 했는데, 계속 접속 오류로 연결이 되지가 않습니다. import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo' import { Module } from '@nestjs/common' import { GraphQLModule } from '@nestjs/graphql' import { TypeOrmModule } from '@nestjs/typeorm' import { BoardsModule } from './apis/boards/boards.module' import { Board } from './apis/boards/entities/board.entity' @Module({ imports: [ BoardsModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: 'test1234', database: 'myproject03', entities: [Board], synchronize: true, logging: true, }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {} 현재 brew 확인시 Mysql 서버도 정상적으로 켜져 있는것을 확인 할 수 있어요 디비버에서도myproject03 이라고 정확하게 만들었습니다. 선생님의 강의하고 다른부분을 못 찾았는데, 데이터 베이스가 연결이 안될 때는 어느부분을 더 점검 해 봐야 할지요?

  • tdd
  • node.js
  • javascript
  • express
  • rest-api
  • nodejs
  • docker
  • nestjs
  • NestJS
김형 댓글 1 좋아요 3 조회수 3745

new List 동기화 와 관련하여..

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

public List<IPacket> PopAll() { List<IPacket> list = new List<IPacket>(); lock(_lock) { ...어떤 처리.. } } 이 함수가 멀티 스레드로 실행 된다고 했을대 list 이 변수는 안에가 list 형태인데 linkedlist 같은것도 스레드 세이프 한건가요? 여러개의 스레드가 linkedlist 를 생성만 한다고 했을때(위의 예시처럼 원소 추가나 조작 없이) 동시에 new 연산이 내부에서 실행 된다 여러개 스레드에서 동시에 힙에 new 연산이 실행될것 같은데(예를 들어 c++ vector<> 같은..) 멀티스레드로 new 연산시 같은 주소에 생성될 일이 발생할 수도 있지 않을까 해서요 질문을 요약하자면 -지역변수에서 힙쪽의 new 를 생성하는게 있다면 그것은 스레드 세이프한가? 라는것이 질문입니다 답변 부탁드려요!

  • c#
  • C#
  • 네트워크
  • network
  • unity
dyl 댓글 1 좋아요 0 조회수 611

인기 태그

인프런 TOP Writers

주간 인기글