typealias GridPoint = (Int, Int) var touchPoint: GridPoint = GridPoint(10, 40) typealias 강의에서 (Int, Int)를 GridPoint로 대신해서 사용한다는 부분은 이해했습니다. 그래서 var touchPoint:(타입형식)에서 타입형식을 (Int, Int) 대신 GridPoint로 사용하였구요. 그런데 그 이후에 GridPoint(10, 40) 부분이 어떻게 나왔는지 잘 이해가 되지 않습니다. 마치 함수 호출처럼 보이는데 GridPoint는 그냥 (Int, Int)를 대신하는 타입형식 아닌가해서요. 질문 내용이 너무 초보적이라서 죄송합니다. 이제 막 강의를 수강해서 듣는데 벌써부터 이해가 잘안되네요. ㅠㅠ
먼저 야곰님 수업 정말 잘 듣고 있습니다 :) 야곰님 iOS 프로그래밍 강좌를 들으면서 따라하는 식으로 진행하다가 뒤로 갈수록 따라가는 것이 버거워져, 정리할 겸 1장으로 돌아와 복습을 하고 있었습니다. 한 2주 정도 전에 1장을 따라할 때에는 오류 없이 잘 실행되던 코드가 AppDelegate.swift 파일에서 오류가 납니다. 오류의 내용으로는 아래와 같이 발생합니다. Thread 1: Exception: "Could not instantiate class named WKWebView because no class named WKWebView was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target)" 그런데 WKWebView는 ViewController에서 extension을 통해 상속받아주었는데 왜 AppDelegate 파일에서 저런 오류가 나는 지 모르겠습니다..
윈도우2008을 vagrant up 이용해서 설치하려고했는데 도저히 다운받을수있는 속도가 나오지 않고 오래걸려서 cmd에 보이는 주소 직접 입력해서 다운받았는데 다운받은 6.45기가짜리 파일이 확장자도 없고 그냥 파일이라고만 뜹니다. 그 파일을 virtualbox에 연동해보려고 해도 도저히 안되고요. 몇번째 다시 vagrant up 명령어 이용해서 다운받는중인데 몇시간 뒤에 결국 네트워크 에러 로 멈춰버립니다 (다른 파일은 한국서버던 외국서버던 문제없이 빠른속도로 다운받아집니다). 다른 방법이나 vagrant 이용하지 않고 하는 법 있으면 알려주시기 바랍니다. 예전에 이 강의를 봤을때는 vagrant 이용하지 않고 메타스플로이터블을 설치했던것 같은데 vagrant라는 것이 도대체 뭔지 이해가 안되고, 이것에 대한 추가 설명도 필요해보입니다.
보통 Block 패턴에 StreamBuilder를 많이 쓰는데 Provider에서는 StreamBuilder를 안 써도 되는건가요? Provider를 쓰다보니까 StreamBuilder의 필요성을 잘 못 느끼겠는데 제가 Provider나 StreamBuilder에 관한 이해가 아직 부조한 것인가요? 또한, Bloc과 Provider의 역할을 비슷하게 봐도 무방한 것인가요? 그리고, 요즘에는 Provider를 쓰는 것이 간편하고 좋다고 해서 Provider를 주로 쓰고 있는데 실제로 써보니까 Bloc보다 훨씬 편한 것 같습니다. Provider를 쓰면 StreamBuilder를 쓰지 않아도 문제가 되는 것이 없는지 궁금합니다.
안녕하십니까~ 취미생활로 코딩을 배우는 사람입니다. 강사님의 훌륭한 강의로 일주일 안에 여기까지 많은 도움을 받으면서 진행하여 왔습니다. 감사드리면서~~~~ 글쓰기 에디터, summernote 설치 후 글 작성에서 그림 드레그&드롭이 되지 않습니다. - 관련된 코딩을 3번 정도 확인하면서 검토는 하였는데 코딩상에서는 현재까지는 오타 및 잘못 적용된 문법적인 요소를 발견하지 못하였습니다.(아마도 분명 저의 잘못이 있기는 할텐데~~~) 어느 곳을 확인해야 하는지 알려주십시요 *** 현재 csrf 강의까지 해당 코딩을 한 상태입니다. 감사하겠습니다. @@@ 추가하여 글 수정에서 체크박스 체크하지 않은 상태에서 수정하기를 누르고 나오면 첨부파일이 없어지는 현상은 어디를 확인해야 하는지도 궁금합니다.
Traceback (most recent call last): File "C:/Users/SHIN HO JIN/PycharmProjects/deeplearning/inflearn_python.py", line 222, in <module> for row in spamreader: UnicodeDecodeError: 'cp949' codec can't decode byte 0x80 in position 590: illegal multibyte sequence 다음과 같은 에러가 발생하면서 파일을 읽어내지 못합니다. encoding을 어떻게 해야되나요? 감사합니다.
안녕하세요 강사님 학습중에 이해가 되지 않아서 질문 드립니다. 아래는 샘플 코드 입니다. tx.begin(); Member member = new Member(); member.setId(1L); member.setName("test"); em.persist(member); em.detach(member); //-- 주석 em.clear(); em.persist(member); tx.commit(); 실행하면 insert 쿼리가 2번 실행되는 이유를 잘 모르겠습니다. 준영속 상태는 영속 상태였다가 더는 영속 컨텍스트가 관리하지 않는 상태로 이해하고 있습니다. detach(Object obj) 는 인자로 주어진 Entity 를 영속상태에서 준영속상태 1차캐쉬뿐만 아니라 쓰기 지연 SQL 저장소에서 정보를 삭제한다라고 이해하고 있습니다. 그래서 위 코드 처럼 persist() -> detach() -> persist() -> commit() 을 하면 insert 쿼리 하나만 실행될 줄 알았는데 2번 실행 되더군요. persist() -> clear() -> persist() -> commit() 는 insert 쿼리가 1번 실행되서 이해가 되었는데 detach() 의 경우는 이해를 못해서 질문드립니다. 추가 질문 하나 더 있습니다. 책 114 페이지에 준영속 상태의 특징중에서 * 비영속 상태는 식별자 값이 없을 수도 있지만 준영속 상태는 이미 한 번 영속 상태였으므로 반드시 식별자 값을 가지고 있다. 라는 설명이 영속 컨텍스트에서 식별자 값을 가지고 있다는 의미인가요? 준영속상태가 되면 1차 캐쉬에서 제거되니까 1차 캐쉬외에 또 다른 장소에서 식별자 값을 보관하고 있다는 설명인지 잘모르겠습니다.
우선 무료로 좋은 강의 올려주셔서 감사합니다! 한가지 궁금한 점이 생겼는데 실제 프로덕션 환경서 서버와 http 통신을 할때 앱에서는 서버에서 세션을 맺는다거나 토큰을 발급할 필요가 없나요? 어뷰징 목적의 앱이 남의 서버 API를 막 긁어 와서 상업적이용을 할 수 도 있겟다는 생각이 들어서요...
open cv 실행파일로 설치하였고 아나콘다도 홈페이지 드가서 설치하였는데 혹시 이러면 안되는건가요? 프로프트창에서 conda create --name ComputerVision python 3.8.2 입력시 'conda'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 이게 나와서요;;
강의 내용 대로 헤더파일에 함수의 바디까지 모두 작성했을때는 별다른 문제는 없었습니다. 저는 교수님께서 말씀하신대로 헤더와 바디를 나눠서 작성하는게 정석이라 하셔서 분리하여 보았습니다. 그리고 메인파일에서doSomThing.h 파일을 명시하고 add 함수를 호출했을때 헤더파일과 바디파일을 타고타고 쭉들어가서 문제없이 실행될꺼라 예상했습니 다. 하지만 이경우에 add 디파인 오류가 떳습니다. 왜 그런걸까요? main.ccp --- #include "doSomeThing.h" int main() { add(1,2); } doSomeThing.h --- //#pragma once void doSomeThing(); doSomeThing.ccp --- #include "add.h" void doSomeThing() { add(1, 2); } add.h --- //#pragma once int add(int a, int b); add.cpp --- int add(int a, int b) { return (a + b); }