묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
데스크탑 오프셋 width가 잘못되었네요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
자동생성되는 괄호((), "") 등을 빠져나가는 방법
선생님 강의를 잘 듣고 있습니다. 나이(60대 중반)도 많고, 프로그램도 처음이지만 너무 현실적으로 설명을 해주시네요. 두 개의 강의를 수강하고 세 번째 강의를 신청했습니다. 이제 들은 것을 손으로 익히기 위해 실습을 하고 있는데 너무 간단한 게 불편하네요. 주피터노트북 등에서 입력하면 자동으로 괄호등이 생성되는데 이걸 빠져나가려면 화살표를 이용합니다. 차라리 자동생성이 되지 않으면 타자로 치는게 더 빠른데 화살표를 누르려면 자꾸 오타가 나네요. 다른 방법이 없을까요? 너무 한심한 질문이지만 한 번 여쭈어 봅니다.
-
미해결일주일 완성! 3dsmax 입문 (자동차 및 캐릭터 만들기)
브릿지가 작동을 안합니다.
처음 부터 여기까지 공부중인데요. constraints도 none 이고요. 양쪽이 짝이 맞게끔 체크하고 다른 부분 체크가 안됐는데도 서로 이어지지 않습니다.
-
미해결스프링 배치
@StepScope + JpaItemReader에서 EntityManager Null Pointer exception 발생 문제 도와주세요!
안녕하세요, 강사님. 항상 좋은 강의 제공해주셔서 감사합니다. 다름이 아니라 이번에 강사님 강의 보고 복습하던 도중에 문제가 발생해서 해결 방법이 있을까 해서 여쭤보려고 글을 작성했습니다. 파티셔닝 Step을 생성해서 처리하는 것을 따라해보고 있는데, 강사님께서는 ItemReader를 Jdbc 계열로 사용하셨는데, 저는 JPA를 선호해서 JPAItemReader를 사용했습니다. 먼저 단위 테스트를 위해 @StepScope 없이 JPAItemReader를 사용할 경우, 문제 없이 동작하는 것을 확인했습니다. 그런데 JpaItemReader에 @StepScope를 다는 순간 Null Pointer Exception이 발생하는 것을 확인했습니다. 처음에는 JpaItemReader가 Proxy Bean으로 주입이 안되는가? 라고 생각을 했었는데, 디버그 모드를 타고 가보니 다음과 같은 위치에서 문제가 있는 것을 확인했습니다. 프록시 객체에 타겟 객체는 정상적으로 주입을 해주는데, 문제는 타겟 객체인 JpaItemReader에 entityManager가 null이기 때문에 Reader를 하는 과정에서 문제가 있다는 것을 알게 되었습니다. EntityManager는 위에서 볼 수 있듯이 doOpen() step에서 제공해주는 것으로 보이는데, doOpen() Step을 거치지 않아 문제가 있는 것 같습니다. 조금 더 확인해보니 AbstractStep의 Open 메서드에 전달되는 ItemStream의 Size가 0인 것을 보니... 이것에 대해 문제가 있는 것 같습니다. 혹시 이처럼 JpaItemReader에서 @StepScope로 사용 시, EntityManager가 주입되지 않는 경우는 어떻게 해결해야 할까요? 아래는 제가 PartitionStep을 구성하기 전에 각각의 ItemReader, ItemWriter, ItemProcessor에서 @StepScope가 정상적으로 동작하는지 확인하기 위해 작성한 코드이고, 이 코드를 돌릴 때 문제가 발생하는 것을 확인했습니다. package io.springbatch.springbatchlecture.retry.partitioning;import io.springbatch.springbatchlecture.dbitemreader.Customer;import io.springbatch.springbatchlecture.dbwriter.Customer2;import lombok.RequiredArgsConstructor;import org.springframework.batch.core.Job;import org.springframework.batch.core.Step;import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;import org.springframework.batch.core.configuration.annotation.StepScope;import org.springframework.batch.core.launch.support.RunIdIncrementer;import org.springframework.batch.core.partition.support.Partitioner;import org.springframework.batch.core.partition.support.SimplePartitioner;import org.springframework.batch.item.ItemProcessor;import org.springframework.batch.item.ItemReader;import org.springframework.batch.item.ItemWriter;import org.springframework.batch.item.database.JdbcPagingItemReader;import org.springframework.batch.item.database.Order;import org.springframework.batch.item.database.builder.JdbcBatchItemWriterBuilder;import org.springframework.batch.item.database.builder.JdbcPagingItemReaderBuilder;import org.springframework.batch.item.database.builder.JpaPagingItemReaderBuilder;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.task.SimpleAsyncTaskExecutor;import javax.persistence.EntityManagerFactory;import javax.sql.DataSource;import java.util.HashMap;import java.util.concurrent.atomic.AtomicLong;@Configuration@RequiredArgsConstructorpublic class SimpleTestConfig { private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; private final EntityManagerFactory emf; private final DataSource dataSource; private AtomicLong myId = new AtomicLong(); @Bean public Job batchJob200() { return jobBuilderFactory.get("partitioningJob") .incrementer(new RunIdIncrementer()) .start(slaveStep()) .build(); } @Bean public Step slaveStep() { return stepBuilderFactory.get("slaveStepMaster") .<Customer, Customer2>chunk(1000)// .reader(pagingItemReader()) .reader(batchReader()) .writer(batchWriter()) .processor(batchProcessor()) .build(); } @Bean @StepScope public ItemProcessor<? super Customer, ? extends Customer2> batchProcessor() { System.out.println("itemProcessor Here"); return (ItemProcessor<Customer, Customer2>) item -> Customer2.builder() .id(myId.incrementAndGet()) .birthDate(item.getBirthDate()) .firstName(item.getFirstName()) .lastName(item.getLastName()) .build(); } @Bean @StepScope public ItemWriter<? super Customer2> batchWriter() { return new JdbcBatchItemWriterBuilder<Customer2>() .sql("INSERT INTO Customer2(customer2_id, birth_date, first_name, last_name) values (:id, :birthDate, :firstName, :lastName)") .dataSource(dataSource) .beanMapped() .build(); } @Bean @StepScope public ItemReader<? extends Customer> batchReader() { return new JpaPagingItemReaderBuilder<Customer>() .name("partitionStepJpaReader") .currentItemCount(0) .entityManagerFactory(emf) .maxItemCount(1000) .queryString("select c from Customer c") .build(); } @Bean @StepScope // 앞쪽 강의 봐야함. public JdbcPagingItemReader<Customer> pagingItemReader() { System.out.println("Target Created"); HashMap<String, Order> sortKeys = new HashMap<>(); sortKeys.put("customer_id", Order.ASCENDING); return new JdbcPagingItemReaderBuilder<Customer>() .name("pagingBuilder") .dataSource(dataSource) .fetchSize(1000) .beanRowMapper(Customer.class) .selectClause("customer_id, first_name, last_name, birth_date") .fromClause("from customer")// .whereClause("where customer_id >= " + minValue + " and customer_id <= " + maxValue) .sortKeys(sortKeys) .build(); } @Bean public Partitioner partitioner() { SimplePartitioner simplePartitioner = new SimplePartitioner(); simplePartitioner.partition(4); return simplePartitioner; }}
-
미해결만들면서 배우는 리액트 : 기초
컴포넌트 분리
안녕하세요, 유림님! 올려주신 강의를 완강하고, 말씀해주신대로 컴포넌트를 각각의 js 파일로 쪼개서 import 하는 과정을 거치고 있습니다! cra 같은 경우는 react 를 스크립트로 들고오는게 아니라 모듈 방식으로 사용해야하기 때문에 import 해주는 과정을 거쳐야한다고 영상에서 말씀해주셨는데요! 조금 바보같은 질문일 수 있겠으나, react를 사용하는 것들은 개개의 컴포넌트마다 import React from "react" 를 작성해야하는지 궁금합니다! 저희 프로젝트에서는 React.useState를 Form과 App 컴포넌트에서 사용하기에, 컴포넌트를 개개로 분리한다면 import React from "react" 를 Form 컴포넌트에서 한 번, App 컴포넌트에서 한 번 총 두 번 React를 불러와야 실행이 되는걸로 알고있습니다! 해당 과정을 거치면서 react를 불러와서 사용해야하는 컴포넌트가 많아지면 각각의 컴포넌트마다 상단에 React 모듈을 불러오는 코드를 일일이 전부 작성해야하는건가? 하는 궁금증이 들어서요! 다수의 컴포넌트가 import 해서 사용해야 하는 모듈은 불러오는 코드를 딱 한번만 작성하여 사용할 수는 없나요? 좋은 강의 올려주셔서 너무너무 감사드리고, 언제나 건강 유의하시길 바랍니다:)
-
해결됨그림으로 쉽게 배우는 운영체제
RAM과 ROM 질문있습니다.
1. RAM은 주기억장치 혹은 메인메모리 (프로그램이 실행될 때 사용되는 메모리), ROM은 보조기억장치 혹은 하드디스크 (프로그램이 저장되어 있는 물리적으로 사용되는 메모리)로 이해를 하면 될까요? 2. 만약 1번이 맞다면 감자님께서 ROM은 데이터를 한번쓰면 수정이 불가능하다고 하셨고 부팅과 관련된 BIOS정보를 저장하는데 주로 쓰인다고 하셨습니다. 그런데 프로그램이 사용하다보면 수정이 되는거 역시 불가피한 사실인데 1번의 내용이 틀린건가요? 3. 1번이 틀리다면 RAM과 ROM을 어떻게 이해하면 될까요?
-
미해결FreeRTOS 프로그래밍
로직 어날라이저
안녕하세요. 강사님! 로직어날라이저로 Idle Task의 점유율을 판단하는 구체적인 방법은 무엇일까요? 지금 떠오르는 가장 간단한 방법은 만들어둔 Task마다 GPIO를 토글 시켜 확인하는 방법이 있을 것 같은데, 이것보다 심플한 방법이 있을까요?
-
미해결Vuetify Admin Template 만들기 - 기본편 (Based Vue2)
lint 적용시 코드 줄바꿈 문의 드립니다.
안녕하세요 강의 잘 듣고 있습니다. lint 를 적용 하면 한줄로 작성한 코드도 다음과 같이 수정 되는데 수정 안되게 하는 방법이 궁금 합니다. <v-card class="pa-3" outlined> col2222222222</v-card>
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
헷갈리는게 있어요...
안녕하세요 강의 복습하면서 갑자기 궁금한 점이 생겼습니다. 1. ppo folder 에 들어있는 3DBall.yaml 파일의 내용을 수정하면서 Learning 을 조정하는거라면 유니티 환경에서 굳이 파라메터를 설정할 필요가 있나요? ( ex: behavior parameters: vector observation, stacked vectors, continuous actions...etc) 2. 빌드파일 없이 유니티에서 바로 학습하는 경우 아나콘다 프롬프트로 작업하는 것과 비교했을 때 장단점이 무엇인가요? 3. 유니티에서 학습시켰을 경우 역시 텐서보드로 확인 가능한가요? 4. 다음 강의에서 나오는 python API로 학습시키는 영상이 나옵니다. 이걸 쓰는 이유는 무엇인가요? yaml 을 쓰는 것과 비교했을 때 무슨 장점이 있나요? 5. Python APi 다음 영상에서는 gridworld 예제가 나오는데요, 이 경우에는 유니티 스크립트를 하나하나씩 고치면서 학습을 시킵니다. 이런 경우는 왜 python api 를 안쓰나요? 제가 계속 진도를 따라가다 보니, 각각의 튜토리얼들의 구분이 어떻게 지어지는지 좀 헷갈리네요. 이런 경우에는 이렇게 해라~ 저럴땐 저렇게 한다... 이런게 따로 있는건가요? 개념을 잘 잡지 못한거 같아서요. 답변 주시면 감사드리겠습니다!
-
미해결홍정모의 따라하며 배우는 C++
구초체 초기화에 있어서 비주얼 스튜디오에서는 되는데, 리눅스에서는 에러가 나는 이유를 알고 싶습니다.
#include <iostream> using namespace std; struct { int number; char name[10]; char phone_number[15]; int age; }typedef Employee; int main() { Employee employee[10]; employee[0] = { 1, "test1","010-5555-6666",30 }; int i; for (i = 0; i < 10; i++) { if (employee[i].age >= 20 && employee[i].age <= 30) { std::cout << employee[i].name << std::endl; } } return 0; } 컴파일 g++ a.cpp -std=c++11 에러 a.cpp: In function ‘int main()’: a.cpp:13:14: error: no match for ‘operator=’ (operand types are ‘Employee’ and ‘<brace-enclosed initializer list>’) employee[0] = { 1, "test1","010-2222-3333",25 };
-
미해결실전! 스프링 데이터 JPA
repository는 entity당 개별로 생성해줘야 하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의내용을 보면 Member와 Team 엔티티가 있고 JpaRepository를 상속받은 repository 또한 각각 만들어져 있습니다. 단순한 조회는 이미 정의되어있는 메소드로 가능하지만, 다른 테이블(엔티티)와 조인하는 경우에는 직접 정의해서 사용 가능하다는 내용의 강의였는데요 그럼 만약 4개 5개 복잡한 엔티티들과 연관된 쿼리들을 정의하고 싶다면 어느 repositroy에 정의를 해야할지 고민입니다. 여러 엔티티를 1개의 repository로 관리하고자 해도, 상속받을때 <>속에 특정 엔티티를 넣어줘야하는데, 그럼 어떤 엔티티를 넣어야할까요? 코딩에 정답은 없겠지만은 실무에서는 관례쩍으로 어떤식으로 구현을 하는지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
rest_framework_jwt를 임포트할 수 없다는 에러가 발생합니다
안녕하세요? 강의 잘 듣고 있습니다. 강의 11분경 즈음 rest_framework_jwt에러가 발생합니다 가상환경에 알맞게 설치되었는지는 확인했고 / 혹시나 해서 pip uninstall후 다시 install까지 해봣는데도 에러가 발생하네요 찾아보니까 simple-jwt를 써보라는데, 그것도 안되는 것 같았습니다 ㅠ 우선 제 settings.py입니다 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.SessionAuthentication', # 'rest_framework.authentication.TokenAuthentication', 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ], 그리고 이렇게 해둔 상태에서 runserver를 cmd에서 돌리니까 다음과 같은 에러가 cmd에서 발생합니다. (askcompany) C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8>python manage.py runserver Watching for file changes with StatReloader Performing system checks... Exception in thread django-main-thread: Traceback (most recent call last): File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 177, in import_from_string return import_string(val) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\module_loading.py", line 30, in import_string return cached_import(module_path, class_name) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\module_loading.py", line 15, in cached_import import_module(module_path) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework_jwt\authentication.py", line 4, in <module> from django.utils.encoding import smart_text ImportError: cannot import name 'smart_text' from 'django.utils.encoding' (C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\encoding.py) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1009, in _bootstrap_inner self.run() File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\management\commands\runserver.py", line 124, in inner_run self.check(display_num_errors=True) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\management\base.py", line 438, in check all_issues = checks.run_checks( File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\registry.py", line 77, in run_checks new_errors = check(app_configs=app_configs, databases=databases) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config return check_resolver(resolver) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver return check_method() File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 448, in check for pattern in self.url_patterns: File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 634, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 627, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8\_askcompany8\urls.py", line 7, in <module> path('accounts/', include('accounts.urls')), File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8\accounts\urls.py", line 1, in <module> from rest_framework.authtoken.views import obtain_auth_token File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\authtoken\views.py", line 6, in <module> from rest_framework.schemas import ManualSchema File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\schemas\__init__.py", line 33, in <module> authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 225, in __getattr__ val = perform_import(val, attr) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 168, in perform_import return [import_from_string(item, setting_name) for item in val] File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 168, in <listcomp> return [import_from_string(item, setting_name) for item in val] File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 180, in import_from_string raise ImportError(msg) ImportError: Could not import 'rest_framework_jwt.authentication.JSONWebTokenAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: cannot import name 'smart_text' from 'django.utils.encoding' (C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\encoding.py). 가상환경에서 사용되는 버전은 다음과 같습니다. 늘 빠르고 친절한 답변에 감사드립니다.
-
미해결스프링 배치
RetryTemplate 질문 드립니다.
안녕하세요 이번 강의에서 RetryItemProcessor2 클래스에서 new DefaultRetryState(item, rollbackClassifier)를 추가하게 되면서 retry가 1번만 발생하게 되더라고요. Configuration에서 RetryPolicy로 maxAttempts를 2로 줬는데 왜 1번만 retry를 하는걸까요? 제가 디버깅하면서 보니까 처음 재시도때는 RetryPolicy가 Configuration에서 정의한 RetryPolicy가 적용됐는데, 2번째 재시도 하려고 할때 RetryPolicy가 SimpleRetryPolicy가 maxAttempts가 0인상태로, configuration에서 정의한 RetryPolicy가 아니더라고요. 왜 이렇게 된건지 알고싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
final 필드
컨트롤러나 서비스 클래스에서 리포지토리를 필드로 선언하고 사용을 하는데 final 로 설정을 안해두니 회원가입,로그인을 시도하면 nullpointerexception 이 발생하더라구요 이유가 궁금합니다!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
state에서 count값 올릴때 +와 ++차이점이 궁금합니다
안녕하세요! 상태 강의 8:08초쯤 count에서 값을 1씩 올릴때 +1을 하면 오류가 안생기는데 제가 궁금해서 count ++를 써보니 const로 선언돼서 값을 재할당할 수 없다고 오류가 뜨더라구요! +와 ++의 차의점을 알 수 있을까요? 감사합니다! const [count, setCount] = useState(0); const onIncrease = () => { setCount(count + 1); };
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
ssr 개념 관한 질문
강의 진행하다가 앞부분 개념이 헷갈려 다시 듣고 왔는데 궁금한 점이 있어 여쭤 봅니다. ssr시 첫 번째 로딩만 브라우저 -> 프론트 서버 -> 벡엔드 -> 디비 이런식으로 전통적인 방법으로 데이터를 받아오고 이후에는 그냥 spa 방식으로 동작한다 라고 이해했는데 질문 1. 그럼 저희 프로젝트에서 saga에서 api 요청을 보내고 받아오는건 브라우저에서 벡엔드로 요청을 보내고 받아오는 것이라고 이해하는 게 맞는지 궁금합니다. 2. 저희 프로젝트에서 npm run dev 로 프론트 서버 실행후localhost:3060 이런 주소로 프론트 서버에 요청을 보내면 벡엔드에서 데이터 요청 후 데이터가 들어있는 정적 파일을받아 오는게 CSR 와의 차이라고 이해했는데 이 데이터를 받아온다는게 pages 폴더 안에 있는 index.js말하는 건가요? 아님 front 단에 작성된 모든 coponent들과 page들을 전부 들고와서 메모리에 캐싱 한다는 말인가요? 나름 구글링하고 찾아 봤는데 명쾌하게 이해되지가 않네요 혹시 강의 뒷부분에 다루어지는 내용이라면 죄송합니다.. 매번 감사드려요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
git repository 변경 방법
안녕하세요 제로초님 현재 aws ec2 2개 활용하여, 프론트 및 백 배포하였고 두 서버 모두 nginx를 활용하였습니다. 궁금한 점이 기존 aws에 clone한 repo를 지우고 새로운 repo로 clone해도 배포에 문제가 없을까요? 고려할 부분을 미리 생각해보았는데, nginx와 .env 2가지 가 떠오르는데 배포 전에 질문 드립니다. nginx 설정은 변경이 필요없을까요? .env는 추가 예정입니다. 항상 감사드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Create React App에서 node_modules파일 지워졌을 경우
안녕하세요. create react app 강의 19:30초 부분에서 node_modules 파일이 지워졌을 경우 npm i로 다운 받으면 된다고 하셨는데, 뒤에 다른 명령어 추가되는 것 없이 그냥 root 파일위치에서 npm i 만 입력하면 node_modules 파일이 알아서 생성이 되는건가요? 감사합니다! :D 강의 너무 재밌게 잘 듣고있습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
전위 연산자
pi++는 곧 answer.add(arr1[pi]); pi++; 이렇게 표현할 수 있지 않나요? 그렇게 적용해서 아래 코드를 실행해보았는데 java.lang.outofMemoryError:java heapspace 에러가 납니다. 에러의 원인이 어디서 발생하는지 고민하다가 파악이 되지 않아서 질문드립니다. public class IfTwoPointer { public ArrayList<Integer> solution(int[] arr1, int[] arr2, int num1, int num2) { ArrayList<Integer> answer = new ArrayList<>(); int pi = 0; int pj = 0; while (pi < num1 && pj < num2) { if (arr1[pi] <= arr2[pj]) { answer.add(arr1[pi]); pi++; // pi 와 pj++ 를 따로 넣으면, out of memory 에러가 발생한다. } else answer.add(arr2[pj]); pj++; } while (pi < num1) answer.add(arr1[pi]); pi++; while (pj < num2) answer.add(arr2[pj]); pj++; return answer; } public static void main(String[] args) { // TODO Auto-generated method stub IfTwoPointer answer = new IfTwoPointer(); Scanner sc = new Scanner(System.in); int num1 = sc.nextInt(); int[] arr1 = new int[num1]; for (int i = 0; i < num1; i++) { arr1[i] = sc.nextInt(); } int num2 = sc.nextInt(); int[] arr2 = new int[num2]; for (int i = 0; i < num2; i++) { arr2[i] = sc.nextInt(); } for (int data : answer.solution(arr1, arr2, num1, num2)) { System.out.print(data + " "); } // System.out.println(answer.printResult(arr1, arr2, num1, num2, result)); } }
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
Referer 질문 드립니다!
안녕하세요 Referer 관련 질문 드립니다! 위키피디아에 들어가셔서 referer을 보니 www.google.com/ 으로 되어 있는데 이전 웹 페이지 주소는 https://www.google.com/search?q=hello 아닌가요? 미리 답변 감사드립니다! 좋은 하루 보내세요 :)