묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
encparam을 이용한 크롤링 문의드립니다
안녕하세요 올려주신 코드로 encparam의 값을 가져오는것은 문제없이 잘 동작합니다.그런데 가져온 encparam 의 값이 실제로 주재무재표 확인을 위한 페이지를 열었을때와 다른 해시값을 가지고 있어 재무재표 url에 대한 request가 정상적으로 동작하지 않는 문제가 있습니다. 올려주신 코드가 현재 잘 동작하는지 한번 검토 부탁드립니다. 올려주신코드의 재무재표 확인 url 형식https://navercomp.wisereport.co.kr/v2/company/cF3002.aspx?cmp_cd=005930&frq=0&rpt=0&finGubun=MAIN&frqTyp=1&cn=&encparam={} 현재 동작하는 url 형식https://navercomp.wisereport.co.kr/v2/company/ajax/cF3002.aspx?cmp_cd=005930&fin_typ=4&freq_typ=A&encparam={}
-
미해결이펙티브 자바 완벽 공략 1부
안녕하세요 선생님, 강의를 보고나서 Optional 소스코드를 뜯어보다가 어려운 부분이 있어서 질문 드립니다.
안녕하세요 선생님, 우선 저는 선생님의 디자인패턴 강의도 듣고 왔습니다만, 그럼에도 이 부분이 의아한데 저의 부족한 검색 실력 탓인지 도저히 해답을 찾을 수 없어 질문을 드리게 됐습니다. 바로 Optional의 정적 팩터리 메서드인 empty와 내부에 가지고 있는 EMPTY 인스턴스에 대한 것입니다..이번 강의를 듣고 저번 싱글톤 패턴 강의 들었던 것을 떠올리며 아~ 이래서 그랬구나~ 하면서 소스코드들을 보고 있는데 empty()메서드 위의 주석을 보면Option.empty()가 Singletone을 보장하지 않으니 이것들을 ==으로 비교하는 모험을 굳이 하지 말라고 적혀있는데요.누가 봐도 가장 보편적인 형태의 싱글톤 패턴인데 싱글톤을 보장하지 않는다고 하니 대체 이게 무슨소리인지 너무 궁금합니다..아니면 기존 디자인패턴 강의에서 말씀하셨듯이 Reflection으로 싱글톤이 깨질 수 있어서 100% 보장할 수 없다는 말인 것일까요?강의와 다소 거리가 있는 질문인 점 먼저 사과드립니다. 혹시라도 답변 달아주실 수 있다면 정말 감사할 것 같습니다.
-
미해결
Mac) vscode 링킹문제 해결방법
상황은 이렇습니다. (1) Exp.h(2) exp.cpp(3) Memo.cpp빌드시 에러 발생===================================================================링킹에서 문제가 생겼는데 (Exp.cpp 파일을 Exp.h에 그대로 옮겨놓으면 빌드가 정상적으로 완료됨)어떤게 문제여서 안되는 걸까요? 도와주세요 ㅠㅠ
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
webview 부분에서 궁금한 점이 있습니다!
Recyclerview관련 function들은 전부 adapter에서 설정하는 것인가요? 또 어뎁터에서 변수와 fun을 따로 만드셔서 붙여(?) 쓰셨는데 왜 그렇게 만들었는지 알 수 있을까요 질문이 어려웠다면 죄송합니다. ㅠㅠ
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
SimpleProducer 실행 시 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected 오류
안녕하세요 데브 원영님!강의를 수강하며 예제를 실행 중에 오류를 마주쳤는데 구글링을 해도 해결이 되지 않아 문의 남깁니다.import java.util.Properties; public class SimpleProducer { private final static Logger logger = LoggerFactory.getLogger(SimpleProducer.class); private final static String TOPIC_NAME = "test"; private final static String BOOTSTRAP_SERVERS = "localhost:9092"; public static void main(String[] args) { Properties configs = new Properties(); configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); KafkaProducer<String, String> producer = new KafkaProducer<>(configs); String messageValue = "testMessage"; ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC_NAME, messageValue); producer.send(record); logger.info("{}", record); producer.flush(); producer.close(); } }[main] INFO org.apache.kafka.clients.producer.ProducerConfig - ProducerConfig values: acks = 1 batch.size = 16384 bootstrap.servers = [localhost:9092] buffer.memory = 33554432 client.dns.lookup = default client.id = producer-1 compression.type = none connections.max.idle.ms = 540000 delivery.timeout.ms = 120000 enable.idempotence = false interceptor.classes = [] key.serializer = class org.apache.kafka.common.serialization.StringSerializer linger.ms = 0 max.block.ms = 60000 max.in.flight.requests.per.connection = 5 max.request.size = 1048576 metadata.max.age.ms = 300000 metadata.max.idle.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner receive.buffer.bytes = 32768 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retries = 2147483647 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.mechanism = GSSAPI security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2] ssl.endpoint.identification.algorithm = https ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLSv1.2 ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS transaction.timeout.ms = 60000 transactional.id = null value.serializer = class org.apache.kafka.common.serialization.StringSerializer [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.5.0 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: 66563e712b0b9f84 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1664022671614 [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected Process finished with exit code 130 BOOTSTRAP_SERVER를 my-kafka로 실행하면 아예 오류가 떠버려서 localhost로 바꿔서 진행하였습니다.에러 내용은 다음과 같습니다.server.properites 내용은 다음과 같습니다.제가 놓치고 있는 부분이 있다면 알려주세요! 감사합니다.:)
-
미해결스프링 데이터 JPA
PersistenceContext 관련 질문드립니다.
안녕하세요 너무 좋은 강의 잘 듣고 있습니다.두가지 질문이 있습니다. PersistenceContext의 상태비교 관련입니다.JPA2 JpaRepository.save() 메소드 강의를 시청하며, 따라하던 도중첫번쨰 assertThat 부터 False 로 떨어져 왜이런지 모르겠습니다.제가 이해한것과 강의내용에 따르면 당연히 True 가 놔와야 할텐데 이상하네요.테스트는 @SpringBootTest 를 사용한 별도의 테스트클래스를 만들어 진행중이며,PostRepository의 경우 아래와 같이 선언 하였습니다.어떤 부분을 잘못이해하고 있거나 틀렸을까요 ? public interface PostRepository extends JpaRepository<Post,Long>, QuerydslPredicateExecutor<Post> @SpringBootTest class DemoJpaApplicationTests { @Autowired private PostRepository postRepository; @Autowired private ApplicationContext applicationContext; @PersistenceContext private EntityManager entityManager; @Test void save(){ Post post = new Post(); post.setId(1L); post.setTitle("JPA"); Post savePost = postRepository.save(post); assertThat(entityManager.contains(post)).isTrue(); assertThat(entityManager.contains(savePost)).isTrue(); assertThat(savePost == post); } 업데이트 쿼리가 안나갈 경우 어떤걸 봐야할까요 ?updateTitle을 만들어 사용할땐 정상적으로 변경 됐지만아래와 같이 코드를 작성하여 테스트 해보니 title에 Spring이 그대로 남아있어 테스트가 실패하네요.private Post savePost(){ Post post = new Post(); post.setTitle("Srping"); return postRepository.save(post); } @Test void updateTitle(){ Post spring = savePost(); spring.setTitle("hibernate"); Optional<Post> post = postRepository.findById(spring.getId()); assertThat(post.get().getTitle()).isEqualTo("hibernate"); }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
어뎁터에서 핸들러 처리 하는 과정에서 제가 잘 이해한것인지 모르겠습니다..
제가 잘 이해한 것인지 모르겠습니다.http message converter는 @RequestBody에서는 canRead()로 http request header의 content-type과 컨트롤러에서 지정한 클래스를 조합해 알맞은 http message converter 객체를 찾아 read()를 통해 객체를 생성하고 반환합니다.또한 @ResponseBody에서는 canWrite()를 통해 return 하는 클래스 타입, http request header의 Accept를 확인해 알맞은 http mesage converter 통해서 write()로 http response message body에 데이터를 생성합니다.httpMappingHandlerAdapter는 argument resolver에게 controller가 요구하는 객체를 요구하고, argument resolver가 객체를 만들어 주면,(이때 http message converter이용) 그 객체 httpMappingHandlerAdapter는 handler에게 넘겨주면서 controller 내부의 로직을 수행하게 됩니다.그리고 controller에서 return 시에 ReturnValueHandler가 response 값을 변환하고 처리합니다. @ResponseBody를 처리하는 ReturnValueHandler가 http message converter를 이용해서 response의 결과를 만듭니다.이렇게는 이해 했습니다. 하지만 궁금한것이 있는데, 영한님의 답변중에 @RequestBody처럼 http 메세지를 사용하지 않는경우에는 htttp message converter가 필요없다고 하셨는데, canRead()로 controller에서 요구하는 클래스와 Content-type 이용해서 알맞는 http mesage converter 찾아서 이걸로 argument resolver가 객체 생성하는것 아닌가요?RequesMappingAdapater가 Handler(Controller)가 요구하는 파라미터를 어떻게 호출 전에 아는건가요? controller에 접근해서 요청 parameter를 확인한 다음에 arguement resolver로 해결하는것인가요?완전히 이해하고 싶어 이 부분만 한시간 넘게 보고 있다가 너무 궁금해서 질문남겨 봅니다!감사합니다.
-
미해결스프링 핵심 원리 - 기본편
ApplicationContext(), AnnotationConfigApplicationContext() 차이
둘의 차이는 ApplicationContext가 상위 인터페이스라 기능이 적어서 AnnotationConfigApplicationContext()를 쓴다고 알고있는데 어차피이거나ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);이거나AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);결국 둘 다 new로 AnnotationConfigApplicationContext()를 구현해 줬으니 똑같은 기능을 사용할 수 있는 것 아닌가요?왜 ApplicationContext를 사용하면 getBeanDefinition()메소드를 이용할 수 없는 것이죠?
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
S_AXI_WSTRB
S_AXI_WSTRB 신호가 read_and_modify_write를 대체할 수 있다고 말씀하셨는데, 기존 방법대로라면 Read가 Write 이전에 선행되어야 한다고 하신것에 대한 이유를 알 수 있을까요?그냥 Write를 하면 되는 것 아닌가 해서요.!
-
미해결갖고노는 MySQL 데이터베이스 by 얄코
M1 맥북인데 에러가 납니다 ㅠㅠ
안녕하세요 강의 정말 잘 듣고있습니다 ! 죄송한데 현재 M1 맥북을 사용중인데 Express 설치과정에서 계속 에러가 나네요..sudo npm install express-generator -g express --view=hbs . // 이걸 실행하면 .. 이게 계속 나오네요 ㅠㅠ zsh: command not found: express 한참을 구글링해도 답이 나오지 않아서 올려봅니다 ㅠㅠ 원래 이렇게 안되는건가요? 빨리 만들어보고싶은데 아쉽네요 ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@oneToOne fetch = Lazy를 입력했는데 적용이 되지 않습니다.
@OneToOne(mappedBy = "delivery", fetch = LAZY) private Order order;이렇게 작성을 하면 fetch = Lazy 부분이 색깔이 변하면서 노란 전구 경고를 주는데Specifying FetchType.LAZY for the non-owning side of the @OneToOne association will not affect the loading. The related entity will still be loaded as if the FetchType.EAGER is defined.@OneToOne 연결의 비소유 측면에 대해 FetchType.LAZY를 지정해도 로딩에 영향을 미치지 않습니다. FetchType.EAGER가 정의된 것처럼 관련 엔터티가 계속 로드됩니다.이렇게 경고를 주게 되네요 다른부분은 다 잘 되는데 이부분만 이러는것이 구글링을 해도 잘 모르겠네요...
-
해결됨디자인 시스템 with 피그마
피그마 토큰 재활용 질문
안녕하세요~ 하나의 파일 안에서 피그마 토큰을 따라 만드는 작업을 했습니다.한가지 궁금한 점은 a Drafts에서 만든 피그마 토큰을 b에서도 적용하고 싶은데, b에서 피그마 토큰을 활성화시키면 아예 빈 것이 나옵니다. 피그마 토큰은 복제해서 다른 프로젝트에서 사용할 수 없는 걸까요? 있다면, 방법 알려주세요!!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이런 질문 진짜 하기 싫었는데 ㅠㅠ
위코드는 제대로 실행이되는데위에 split 코드는 아래와 같이 나옵니다 ㅠㅠ코드는 맞아서 Dev C++로 실행했을때는정상출력이되는데 구글링으로 계속찾아서 이것저것 만져봤는데 stdc++.h 헤더파일문제인것같아서 체크하고 경로 다 지정해줘서 vscode상으로 stdc++.h 컨트롤클릭해주면 정상적으로 헤더파일 나오는데 혹시 추정되는 문제가 있으신가요..?? 이게 이미 뭔가 구글에서 이상한거 계속하다보니 꼬여버린것같긴한데..혹시나해서 질문올립니다 안되면 그냥 Dev C++로 실행하려구요...우선공부가 우선이니
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 1213번 질문
안녕하세요 백준 1213번 문제 푸는 중 문이 생겨 글 남깁니다.#include <iostream>#include <algorithm>using namespace std;int alphabet[26];int main(){ string s; cin >> s; //count for (int i = 0; i < s.size(); i++) { alphabet[s[i] - 'A'] += 1; } int odd_number = 0; for (int i = 0; i < s.size(); i++) { if (alphabet[i] % 2 == 1) odd_number += 1; } if (odd_number >= 2) { cout << "I'm Sorry Hansoo" << "\n"; } else { string answer_front; string answer_back; for (int i = 0; i < 26; i++) { for (int i2 = 0; i2 < alphabet[i] / 2; i2++) { answer_front += (char)(i + 'A'); } } answer_back = answer_front; reverse(answer_back.begin(), answer_back.end()); if (odd_number == 1) { for (int i = 0; i < 26; i++) { if (alphabet[i] % 2 == 1) { answer_front += (char)(i + 'A'); } } } string total_answer = answer_front + answer_back; cout << total_answer << "\n"; } return 0;} 결과는 맞게 나오는데 채점시 틀렸다고 나옵니다.제가 놓친 부분이 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 서버 재실행 오류
안녕하세요 영한님!영한님 강의 입문편부터 인텔리제이로 코딩중인 학생입니다. 다름이 아니고 얼마 전 ultimate 버전으로 업그레이드 이후 코드 수정하고 재실행했을 때 변경한 코드 전체가 적용이 안됩니다. 가령 컨트롤러에 GetMapping("/") 추가하고 재실행하면 반영이 안됩니다. 혹시 이와 같은 오류를 겪어보셨을까요? 구글링해도 해결방법을 모르겠어 문의남깁니다 ㅜ
-
미해결
pi camera module 2와 yolov3를 이용한 실시간 분류
Raspberry Pi os Legacy (Debian Buster 32bit)를 이용하여 개발 중입니다.Google Colab를 이용하여 가중치 파일을 얻어냈고, yolov3를 이용하여 이미지 속 물체를 분류하는 과정까지는 완료하였습니다.pi camera module 2를 사용하여 실시간으로 보이는 영상 속 물체를 분류하고자 하는데 다방면으로 찾아보았지만 방법을 찾지 못하여 이 곳에 질문 남겨봅니다.혹시 도움이 될 수 있는 강의를 알고 계시거나 분류 방법을 알고 계시다면 .. 알려주세요 .. ㅜㅜ
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
여기서 @RequestBody 어노테이션 추가후 talend에서 실행시키면 이런 오류가 뜹니다 ㅠㅠ
인텔리제이 오류로는 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.example.fitstproject.dto.ArticleForm (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 2, column: 3]이렇게 뜹니다 ㅠㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 9996 문제 질문
안녕하세요 백준 9996 문제를 풀던 중 질문이 생겨 글 남깁니다.저는 코드를 아래와 같이 짰습니다. #include <iostream>using namespace std;int main(){ int N; cin >> N; string s; cin >> s; string s_front, s_back; s_front = s.substr(0, s.find("*")); s_back = s.substr(s.find("*") + 1); for (int i = 0; i < N; i++) { string problem; cin >> problem; string p_front, p_back; p_front = problem.substr(0, s_front.size()); p_back = problem.substr(problem.size() - s_back.size()); int possible = 0; if (problem.size() >= s_front.size() + s_back.size()) { if (s_front == p_front && s_back == p_back) { possible = 1; } } if (possible == 1) cout << "DA" << "\n"; else cout << "NE" << "\n"; } return 0;} 결과값은 동일하게 나오는데 채점시 런타임 에러(out of range)가 납니다.제가 놓친 부분이 있을까요?
-
해결됨Flutter 앱 개발 기초
Flutter 커뮤니티 코드
안녕하세요! 강의노트에 있는 플러터 커뮤니티 (오픈톡방) 들어가려고 했는데, 참여코드가 있더라구요. 혹시 코드알수있을까요??
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
const를 왜 없애줘야 하나요?ㅜㅜ
import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; class HomeScreen extends StatelessWidget { WebViewController? controller; const HomeScreen({Key? key}) : super(key: key); // 여기서 왜 const를 없애야 하나요?ㅜㅜ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.orange, title: Text('Code Factory'), centerTitle: true, ), body: WebView( onWebViewCreated: (WebViewController controller) {}, initialUrl: 'https://blog.codefactory.ai', javascriptMode: JavascriptMode.unrestricted, ), ); } }