안녕하세요. typedef 강의를 수강하다 처음 보는 내용들이 너무 많은 와중, typedef 기출 문제(약 3분 15초 즘)에 대해 질문을 남깁니다. 구조체 형태의 Data라는 타입명을 가진 변수 Data를 커스텀으로 정의 후, 해당 타입을 활용하기 위해 main 함수 내부에서 Data 타입(구조체) 변수 d1과 Data 포인터 타입(구조체 포인터) 변수 d2를 선언했습니다. 이 문제에서 핵심은 구조체 타입의 포인터 변수를 선언할 경우, 해당 변수의 멤버 변수에 .(dot)을 통해 직접 접근 할 수 없다. 우리는 멤버 변수에 할당된 메모리 주소에 접근할 수 있기 때문에, ->(arrow)를 통해 접근하여 해당 주소에 저장된 값을 불러오는 방법을 활용해야 한다. 라고 생각했습니다. 즉, d1의 numPtr에 값을 저장 및 접근 할 때와 d2에서 할 때의 차이를 배우기 위한 문제라고 생각이 들었습니다. 그런데, 갑자기 stdlib.h의 내장 함수인 malloc에 대한 코드가 나왔습니다. malloc은 동적으로 메모리 주소를 할당하기 위한 함수라는 것을 알게 되었습니다.,malloc(sizeof(type명))을 통해 포인터 변수에 메모리 영역을 할당하고, 이후 main 함수를 빠져나가기 전 free를 통해 할당했던 메모리 영역을 해제시켜 줬는데요. 왜 해당 방식으로 문제가 출제되었는지 이해가 되지 않아서 질문을 남깁니다. 독립적인 Data 타입의 구조체 인스턴스(?)를 만들고 싶은데, 이를 d1 처럼 생성하고 싶지 않을 경우에는 반드시 저 방법을 활용해야 하는 것인가요??? malloc을 통해 선언 하는 방식과 아래의 방식에 차이가 있나요? Data d2; // 구조체 변수 선언 Data *d2Ptr = &d2; // 구조체 변수의 메모리 주소에 접근하기 위한 포인터 변수 선언 부족한 지식으로 인해 아직은 어렵지만, 차근차근 배워나가는 재미가 있습니다. 항상 좋은 강의 감사드립니다!
안녕하세요 강의를 듣던 도중 궁금한 것이 생겨 질문드립니다 섹션 2에서의 PATCH API는 else문으로 is_done=True를 is_done=False로 바꾸는 처리를 따로 하지않아 True 상태를 False로 못바꾸는 반면에 섹션 3에서의 PATCH API는 Ture를 False로 바꿀수 있다고 이해했는데 혹시 맞을까요?? 웹 개발을 처음 공부하다 보니 이해를 잘 못했나 해서 질문드렸습니다
RISS사이트 크롤링 연습중입니다. 링크 관련 부분 가져와서 클릭시 다음의 에러가 나오는데 원인이 어떻게 될까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요. 저는 앱 시작 후 보상형 광고를 로드하고 캐싱해서 사용중입니다. 이렇게 하는 이유는 미리 광고를 로드해놓고 유저가 광고 요청을 할 경우 바로바로 보여주기 위해서 입니다. 구글 애드몹 데이터를 유심히 보지 않았었는데 강의를 듣고 유심히 데이터를 보다보니 요청, 노출수, 일치율에 비율이 많이 차이가 나서 질문드려봅니다. 질문1) 혹시 강사님께서는 만약 보상형 광고를 쓰고 계신다면 언제쯤 광고 요청을 하시는지 궁금합니다. 질문2) 광고 요청에 관한 노하우가 있으신지 궁금합니다. 그리고 eCPM 을 이제까지 한번도 변경하지 않고 사용했었는데 강의 듣고 eCPM 을 높은 최솟값으로 변경하여 테스트를 해보았습니다. eCPM 은 높게 올랐었지만 일치율이 상당히 낮아졌고 수익 변환에는 크게 변동이 없었던것 같습니다. 몇일간 테스트를 해보았지만 낮아진 일치율 수치가 불안하여 다시 모든가격으로 원상복구 해놓은 상태입니다. 질문 3) eCPM 변경 후 얼마정도 지나가 효과가 발생했는지 판단을 내려야 하는지 궁금합니다. 질문 3) eCPM을 높은 최솟값으로 변경하였더니 일치율이 급격하게 줄어들었습니다. 일치율이 낮으면 문제가 많이 발생한것으로 봐야 하는지 궁금합니다. 이상입니다~ 감사합니다!
안녕하세요. 강의 너무 알차게 듣고 있습니다. 아직 첫주행중이라서 말씀하시고자하는 바를 흡수하지 못해 십여차례들을 예정인데요. 중간에 궁금한게 있어서 질문을 남기게 되었습니다. 소중한 배움에 기회를 주셔서 감사합니다. 개발 방법론으로 FE, DB 등 테이블 structure을 공유해주셨는데요. 혹시 만드시는 어플리케이션은 댓글, 커멘트, 게시물 수정과 같은 기능도 다 포함이 되어있나요? 혹시 맞다면, 모든 2~300여개의 어플리케션 중 comment, post등이 필요한 application이 30개 있다고 가정 하였을때, 이 어플리케이션의 모든 post나 comment는 각각 하나의 테이블에 다 저장되어 있고, appId를 통해서 query로 불러오게 되는건가요?
안녕하세요 프로그래밍 좀비님 열심히 준비해주신 강의 잘 듣고 있습니다^^ 듣는 중 몇 가지 궁금한데 강의 내에는 없는 내용이 있어서 별도로 질문 드리고자 합니다. 계정 정지 시에, 동일한 핸드폰 번호, 이메일 등 연관 된 계정이 함께 삭제 된다고 강의 중 말씀하셨는데, 그럼 계정 생성 시에 모두 다른 핸드폰 번호, 이메일 등 다른 개인 정보를 사용해야만 하는 건가요? 애드몹관련 궁금한게 많은데, 앱에 애드몹을 달때, 애드몹 심사를 앱마다 받아야 하는건가요? 계정 하나에 무제한으로 애드몹을 생성(?) 할 수 있는건지도 궁금합니다. 보통 앱에 애드몹을 달때 어떤 과정을 거치실까요? 서버와 디비 관련 궁금한 게 있습니다. 아직 앱 수익에 대한 확신이 없어서 비용이 발생하는 서버와 디비에는 소극적으로 접근하고 있습니다. 무료로 제공하는 AWS의 경우 조금만 트래픽이 발생해도 엄청난 과금이 발생한다는 카더라를 듣고 시작을 못하고 있는데, 좀비님의 경우 처음 앱 작업부터 서버와 디비 함께 작업하셨는지 궁금합니다. 사용하셨다면 AWS 무료 플랜으로 사용하셨을까요? 강의 내에는 코드 내용은 전혀 나오지 않아서 이것도 궁금해 졌는데 개발 하실 때 어떤 언어 사용해서 개발 하시는지도 궁금합니다. 현재 OpenAPI를 사용해서 리액트네이티브로 프론트만 작성해서 서버 없이 앱을 개발하고 있습니다. DB는 SQLite를 사용합니다. 일단 이번 앱의 목표는 출시에 의의를 두자는 마음으로 작업하고 있는데요. 좀비님도 이런 식으로 앱을 출시 한 적 있으실까요? 아니면 모든 앱에 서버가 사용되고 있나요? 귀한 시간 내어 답변 주시는 것에 미리 감사드립니다.
안녕하세요, 오늘도 주말코딩(!) 강의 애청모드로 강의 듣는 중에 문자열 자체로 쓰기 부분에서 궁금한게 있어서요: #include <stdio.h> int main() { char *str = "Hello"; printf("%s|n", str); return 0; } 이렇게 컴파일러를 실행하면 결과로 이렇게 나옵니다: Hello|n Hello 뒤에 이부분: |n 왜 나오는지 궁금해서요
안녕하세요! 덕분에 nextjs에 대해 깊에 알아가고 있습니다. 제목처럼 page 컴포넌트에 'use client'를 명시하고 빌드 해도 해당 페이지에 대한 rsc_payload가 생성되어서 .next 빌드 파일을 살펴 보았습니다. 페이지를 클라이언트 컴포넌트로 작성하던 서버 컴포넌트로 작성하던 .next 빌드 파일 server, static/chunk/app 폴더에 모두 page.js 파일이 생성되는 것을 확인했습니다. 1. server 폴더에 있는 page.js는 해당 페이지에 필요한 번들 파일에 대한 내용인 거고, static 폴더에 있는 page.js는 해당 페이지에 그려질 내용에 대한 파일인 건가요?? 2. 그래서 page컴포넌트를 클라이언트 컴포넌트로 만들어도 페이지에서 사용할 번들 파일의 주소를 알아야 하기 때문에 rsc_payload를 만들어서 내려주는 건가요??
레이아웃은 네비게이션을 해도 상태를 유지하고 렌더링을 하지 않는다라고 이해했습니다. 그런데, 오른쪽 레이아웃을 만들면서 패러렐 라우트라던지 template를 쓰지 않고 (비록 컴포넌트를 분리하긴 했으나) 서버에서 데이터를 뿌려주는 미래를 상상하고 쭉 코드를 짜고 계시는 모습을 보면서, 레이아웃이 서버 데이터는 변경사항을 화면에 반영해주는 것처럼 이해가 되었습니다. 뒷부분은 수강하지 않았습니다. 제가 잘못 이해 중인가요?
안녕하세요. 강의 도중 strlen과 sizeof을 비교하는 부분(18분 경)에서 strlen에 대한 질문이 생겨서 글을 작성하게 되었습니다. 직접 3가지 str을 정의하였고, 각 str에 대해 strlen()값을 출력하였더니, 다음과 같았습니다. // 문자열 배열 (NULL 문자 포함 X) char str1[5] = {'H', 'e', 'l', 'l', 'o'}; // 문자열 (NULL 문자 포함 O) char str2[] = "Hello"; // {'H', 'e', 'l', 'l', 'o', '\0'}; char str3[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("strlen(str1) : %d\n", strlen(str1)); printf("strlen(str2) : %d\n", strlen(str2)); printf("strlen(str3) : %d\n", strlen(str3)); 출력되는 결과는 각각 10, 5, 5로 실제 문자형 배열의 크기를 지정한 5를 훨씬 넘어가는 결과가 나왔습니다. 이 결과는 아무래도 마지막 원소로 NULL문자를 넣지 않아서 발생 한 듯 싶은데, 왜 하필 10이 나왔는지 이유가 궁금합니다. 또한, 이럴 경우까지도 고려하여 sizeof를 사용하는 것이 더 바람직한 방법인지 궁금합니다. 마지막으로, 구글링 결과 sizeof의 반환 타입이 size_t이기 때문에 %zu라는 형식 변환자를 사용해야 한다고 하는데, %lu의 경우 보다 자유롭게 대략 long int로 판별될 경우 사용하면 되는 것인지도 궁금합니다. C언어에서 타입을 지정하는 것이 굉장히 중요한 것 같은데, %lu로 퉁쳐도(??) 되는 것인지, 그 판단은 어떻게 하는지 등이 궁금합니다! 긴 글 읽어주셔서 감사합니다.
8:42에서 종자의 p밸류값은 7.254117e-10 비료의 p밸류값은 1.835039e-03으로 나오는데요. 둘다 귀무가설을 기각하여 '토마토수'에 영향을 준다는 사실은 이해를 했습니다. 궁금한 점은 p밸류값이 종자가 비료보다 훨씬 수치가 작은데 그렇다면 '종자'가 '비료'보다 토마토수에 더 영향을 끼친다고 해석해도 괜찮은가요?
11:35 strcat는 함수 이름으로 안변하는 건가요? cat이 연결시키는 느낌이고 문자 변수 이름이 str이어서 strcat인건지, 변수이름에 상관없이 strcat이 되는건지 궁금합니다. a="hello"; acat(a, "world")라고는 쓸 수 없는거겠죠...?
안녕하세요 좀비님! 좋은 강의 감사드립니다. 이제 막 첫 3강의를 들었는데, 궁금한 부분이 있어서 질문드립니다. 아직 전체 강의를 보지 않았기 때문에 이른 질문일 수 있지만, 웹과 Windows/Mac 앱에 대해서는 어떻게 보고 계신지 궁금합니다. 첫 3강은 안드로이드 앱으로 수익화에 대한 말씀이신 것 같아서, 다른 영역에 대해서는 어떻게 생각하실까요?
안녕하세요 nest로 개발을 진행하다가 fast API로 전향하려는 개발자 입니다. 저와 같은 경우는, TypeORM을 사용하고 있었습니다. TypeORM은 아래 코드와 같이 DB와 연결해 놓고 @Entity 어노테이션을 사용하면 테이블이 자동 생성됩니다. 강의를 보면 테이블을 생성하는 쿼리를 console로 만들어서 DB SQL에 직접 작성하는 것으로 확인됩니다. FAST API는 NEST처럼 테이블이 자동 생성되는 기능이 없는 걸까요?? 또한 @ManyToMany @ManyToOne과 같은 어노테이션을 사용하면 연관관계가 쉽게 맵핑되어 별도의 join 쿼리 없이도 조회,수정,삭제가 가능합니다. 이러한 부분 또한 FAST API는 지원하는 기능이 없는 걸까요?? import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class PostsModel { @PrimaryGeneratedColumn() //알아서 값을 1씩 증가하는 것을 만들어 준다. id: number; @Column() author: string; @Column() title: string; @Column() content: string; @Column() likeCount: number; @Column() commentCount: number; } import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ //forRoot -> typeOrm과 nestJs을 연결할 수 있는 연결고리를 만드는 것 type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'postgres', entities: [], //데이터베이스와 연동될 모델들 synchronize: true, //nestJS에서 작성하는 typeOrm 코드와 데이터베이스싱크를 자동으로 맞출 것이냐(개발에서는 true, 프로덕션에서는 false) }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {}
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 마크다운, 단축키를 이용해서 편리하게 글을 작성할 수 있어요. 먼저 유사한 질문이 있었는지 검색해보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 프로그래밍 좀비님! 다름이 아니라 강의 수강 후 3번째 앱을 준비 중에 2번째 출시한 앱의 eCPM이 서서히 상승하고 있는 것으로 보이고 있습니다. 현재 Google Ads 저예산 최대지출로 설치당 비용이 약 900원으로 측정되었고, 1일 1만원 예산으로 광고 진행 중이라 하루 약 10명의 유저 유입이 있습니다. 그래서 현재 3가지 전략에 대해 고민 중에 있습니다. 현재 진행 중인 캠페인의 예산을 5만원으로 늘려 유저의 유입을 확대시키는 방법 새로운 캠페인을 생성하여 설치당 비용을 절약할 수 있는 광고 최적화를 재진행하는 방법 위 2가지 방법을 동시에 진행하는 방법 어떤 전략을 택하는것이 좋을까 자문을 구하고 싶습니다! 감사합니다.