묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
xhr.status === 400시
안녕하세요 제로초님 해당 학습 실습 중 궁금한것이 생겨 질문드리게 됐습니다 위 코드와 같이 window.onload 시 getUser 함수를 부르고 그 함수가 추가로, 티스토리에서 제공하는 내글목록불러오기 api 주소를 get한다고 했을 때 xhr.status 상태가 400 일시 (유효토큰 만료시) https://www.tistory.com/ (예시링크)로 링크를 보내고 싶을때 어떤 코드를 작성 해야 하나요? res.redirect, xhr.opend, xhr.send 전부 작동을 안 하는데 400 status시 다른 링크로 전환하는 방법은 없나요?
-
미해결누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌
...data에서 ...의 역할이 정확히 무엇인지 궁금해요!
실행결과 각각 비교해보았는데, 정확한 용도를 잘 모르겠어서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인분석설계 챕터의 엔티티클래스개발2 강의 5분 쯤
안녕하세요. Category 클래스에서 "계층형 구조?" 가 이해가 안됩니다. 계층형 구조는 강의에서 처럼, 보통 양방향으로 하나요? manyToOne 단방향이면 안되나요? 또, 왜 계층형 구조로 설계 해야 하나요? 실무에서 많이 쓰이나요? 감사합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Atom에서 print 실행시 실행 안됩니다
아래 다른분의 질문에 답변달아주신데로 https://hongpossible.tistory.com/entry/Atom-%EC%84%A4%EC%B9%98%EC%99%80-python-%EC%84%A4%EC%A0%95 설정 하고 다시 Atom 재실행 후 해봐도 아래 그림과 같이 나옵니다.
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
혹시 FC의 두께와 무게가 어느정도인지 알 수 있을까요?
궁금합니다
-
해결됨리버싱 이 정도는 알아야지
MessageBoxA() API 메모리맵 질문있습니다
안녕하세요 강의 잘 보고 있습니다! 강의를 보며 실습을 하는데 강의처럼 되지 않아 질문드립니다. MessageBox API에 브레이크 포인트를 걸고 실행해 API 호출 주소까진 확인했습니다. 그 다음 메모리맵에 들어가 user32 DLL 주소를 확인하니 강의와 주소가 다릅니다 ㅠㅠ 저는 텍스트섹션의 user32 DLL은 75E61000 주소로 나오는데 강의에서는 75B91000 주소가 나오더군요.. 원래 DLL 주소가 다른건지.. 제가 분석 도중 실수가 있던건지 궁금합니다!
-
미해결스프링 부트 개념과 활용
No property userName found for type Account! Did you mean 'username'? 에러 건
안녕하세요. 조금씩 따라가면서 하고 있긴 한데, 잘 모르겠어서 질문 드립니다. 본 강의는 이전 강의의 Postgres 'Account' 테이블을 참고해서 진행하는건가요? 이전 강의에서 String sql = "CREATE TABLE ACCOUNT(ID INTEGER NOT NULL, username VARCHAR(255), password VARCHAR(255), PRIMARY KEY (id))"; jdbcTemplate.execute("INSERT INTO ACCOUNT VALUES (1, 'keesun', 'pass')"); 이전 강의와 다르게 ACCOUNT 테이블에 username과 password를 추가한 테이블로 만들 고 데이터를 한 건 insert 하였습니다. 본 강의에서 AccountRepository에 id, username, password를 만들었는데 Table에서 생성한 column 과 일치시켜줘야 하는건가요? 저는 아래와 같은 에러가 발생하는데, 이유를 잘 모르겠습니다. Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract me.whiteship.springbootjpa.account.Account me.whiteship.springbootjpa.account.AccountRepository.findByUserName(java.lang.String)! No property userName found for type Account! Did you mean 'username'?
-
해결됨실전! 스프링 데이터 JPA
@Transactional관련 질문 입니다.
package study.querydsl.repository;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.annotation.Rollback;import org.springframework.transaction.annotation.Transactional;import study.querydsl.entity.Member;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import java.util.ArrayList;import java.util.List;@SpringBootTest@Transactional@Rollback(false)class MemberRepositoryTest { @PersistenceContext private EntityManager em; @Autowired private MemberRepository memberRepository; @Test public void test() throws InterruptedException { List<Member> members = makeList(); for (Member member : members) { test1(member.getId()); Thread.sleep(1000); } } private List<Member> makeList() throws InterruptedException { List<Member> members = new ArrayList<>(); for (int i = 0 ; i < 20 ; i++) { Member member = new Member("gon " + i, i); members.add(member); } memberRepository.saveAll(members); em.flush(); //<--- insert query는 생성되나 db 에는 아직 없음. Thread.sleep(5000); return members; } protected void test1(Long id) { Member member = memberRepository.findById(id).get(); member.setUsername("Park"); memberRepository.save(member); em.flush(); //<--- update query는 생성되나 db 에는 아직 없음. }} 안녕하세요 위와 같은 예제에서 makeList 메소드에서 생성된 리스트를 실 db에 insert를 하고 각 리스트 아이템을 처리하는 test1 메소드에서 처리된 아이템을 insert 를 하고 싶은데 em.flush를 해도 insert, update 쿼리만 발생되고 db에는 아직 결과가 들어오지 않고 test가 완전히 종료가 되는 순간 db에 값이 들어온것으로 확인 됩니다. 이를 해결하기 위해서 class에 @transactional 을 제거하고 test1 메소드에 @Transactional을 붙이니 의도한대로 makelist에서 리스트 결과가 한번 db에 저장되고 test1 메소드에서 처리된 결과도 순차적으로 db에 인서트 되는것으로 확인 했으나 연관관계가 존재하는 경우 fetch lazy 동작이 no session으로 안되던데 이를 해결하는 방법이 있는지요. 질문을 정리하면 1. Transactional 중간에 db에 값을 쓰는 방법이 있는지. 2. class에서 @Transactional을 제거 하고 test1에 @Transactional을 붙이면 연관관계 fetch lazy가 동작을 하지 않는 이유가 무엇인지 (제가 이해를 했을땐 test1 부터 영속성 컨텍스트가 관리되어 이후 메소드 호출부터는 transaction이 걸려서 fetch lazy가 동작될거라고 예상했습니다. ) 친절하고 자세한 답변 늘 감사드립니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
gist 댓글 확인 부탁드립니다~
감사합니다. 좋은하루 되세요~
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요 강사님처럼 print할때
p만치셔도 print 이렇게 어시스턴트가 나오는데 저는 왜안나오져? 그 하단에 python 확장면도 정확하고 설치하라는것도 다 설치했는데
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
lightgbm 에 관해서 질문이 있습니다.
현재 대회에 참가중인데, 분류문제에서 lightgbm이 효과가 좋다고 하여서, 해보았습니다.(다중분류문제입니다) 근데 제출 할 csv 파일에 컬럼값이 18개가 되어야 하는데 lightgbm 을 쓰면 1개만 생기더라구요. 주최측에서 예제로준 랜덤포레스트를 쓰면 컬럼값이 잘 생기던데, lightgbm 을 쓰면 계속 1개의 시리즈값만 뜨니 답답합니다ㅠㅠ 아직 초보라서 잘 모를수도 잇는데, 혹시 해결방법이 있을지요... 랜덤포레스트에서의 shape 은 input) y_pred = forest.predict_proba(test_x) input) test_x.shape output) (10009, 21) input) y_pred.shape output) (10009,19) lightbgm 에서의 shape 는 input) pred=lgbm_wrapper.predict(test) input) test.shape output) (10009, 20) (여기서는 랜덤포레스트에서 id 값만 뺏습니다) input) pred.shape output) (10009,) 이어서 왜 시리즈값으로 나오는지 잘 모르겠습니다
-
미해결인스타그램 클론 - full stack 웹 개발
405에러가 납니다. Type을 get으로 할 때만 정상 작동합니다.
Type을 post로 두고 실행시키면 405 에러가 납니다. Vscode의 가상서버를 이용해서 테스트를 진행하고 있는데 생각해봐도 post로 받는 부분이 없어서 type을 get으로 변경하니 정상 작동하는데 어떻게 아무 작업 없이 post가 작동하나요?
-
미해결홍정모의 따라하며 배우는 C언어
C 언어 연습문제
C 언어 연습문제 관련 책이나 웹 링크 추천 부탁드려요
-
해결됨Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
mac에서 flutter sdk 설치가 안됩니다.
환경변수 설정하고 flutter doctor를 하니까 "개발자를 확인할 수 없기 때문에 'dart'를 열 수 없습니다."라는 알림이 뜨는데요. 실행 파일이거나 하면 우클릭 후 열기를 하면되는데 커맨드로 하는 거니까 이런 경고창이 뜨니까 대처가 어렵네요.. 검색도 안되고
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Autocomplete-python 설치 오류가 뜹니다.
nstalling “autocomplete-python@1.16.0” failed.Hide output… npm ERR! Unexpected end of JSON input while parsing near '...debug":"2.2.0","json-' npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\adssk\.atom\.apm\_logs\2020-02-05T13_12_11_293Z-debug.log Install 과정에서부터 에러가 뜨는데, Script는 정상 설치되었습니다. 로그는 아래와 같이 남았습니다. 지금 파이썬이 3.6.8 버전을 설치한 상태인데 혹시 버전이 낮아 발생한 문제일까요...? 원인및 해결법은 무엇일까요?? 0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Users\\adssk\\AppData\\Local\\atom\\app-1.43.0\\resources\\app\\apm\\bin\\node.exe', 1 verbose cli 'C:\\Users\\adssk\\AppData\\Local\\atom\\app-1.43.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli '--globalconfig', 1 verbose cli 'C:\\Users\\adssk\\.atom\\.apm\\.apmrc', 1 verbose cli '--userconfig', 1 verbose cli 'C:\\Users\\adssk\\.atom\\.apmrc', 1 verbose cli 'install', 1 verbose cli 'https://www.atom.io/api/packages/autocomplete-python/versions/1.16.0/tarball', 1 verbose cli '--target=4.2.7', 1 verbose cli '--disturl=https://atom.io/download/electron', 1 verbose cli '--arch=x64', 1 verbose cli '--global-style' ] 2 info using npm@6.2.0 3 info using node@v10.2.1 4 verbose npm-session 18fbdb1cbbfcf3a7 5 silly install loadCurrentTree 6 silly install readLocalPackageData 7 http fetch GET 304 https://www.atom.io/api/packages/autocomplete-python/versions/1.16.0/tarball 1508ms (from cache) 8 silly pacote remote manifest for undefined@https://www.atom.io/api/packages/autocomplete-python/versions/1.16.0/tarball fetched in 1566ms 9 timing stage:loadCurrentTree Completed in 2511ms 10 silly install loadIdealTree 11 silly install cloneCurrentTreeToIdealTree 12 timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms 13 silly install loadShrinkwrap 14 timing stage:loadIdealTree:loadShrinkwrap Completed in 0ms 15 silly install loadAllDepsIntoIdealTree 16 silly resolveWithNewModule autocomplete-python@1.16.0 checking installable status 17 http fetch GET 200 https://registry.npmjs.org/kite-installer 26ms (from cache) 18 silly pacote version manifest for kite-installer@=3.15.0 fetched in 33ms 19 silly resolveWithNewModule kite-installer@3.15.0 checking installable status 20 http fetch GET 304 https://registry.npmjs.org/fuzzaldrin-plus 68ms (from cache) 21 silly pacote range manifest for fuzzaldrin-plus@^0.3.1 fetched in 70ms 22 silly resolveWithNewModule fuzzaldrin-plus@0.3.1 checking installable status 23 http fetch GET 304 https://registry.npmjs.org/atom-space-pen-views 74ms (from cache) 24 silly pacote range manifest for atom-space-pen-views@~2.1.0 fetched in 76ms 25 silly resolveWithNewModule atom-space-pen-views@2.1.1 checking installable status 26 http fetch GET 304 https://registry.npmjs.org/mixpanel 72ms (from cache) 27 silly pacote range manifest for mixpanel@^0.5.0 fetched in 74ms 28 silly resolveWithNewModule mixpanel@0.5.0 checking installable status 29 http fetch GET 304 https://registry.npmjs.org/selector-kit 74ms (from cache) 30 silly pacote range manifest for selector-kit@^0.1 fetched in 75ms 31 silly resolveWithNewModule selector-kit@0.1.0 checking installable status 32 http fetch GET 304 https://registry.npmjs.org/underscore 75ms (from cache) 33 http fetch GET 304 https://registry.npmjs.org/atom-slick 81ms (from cache) 34 silly pacote range manifest for underscore@^1.8.3 fetched in 76ms 35 silly resolveWithNewModule underscore@1.9.2 checking installable status 36 silly pacote range manifest for atom-slick@^2.0.0 fetched in 85ms 37 silly resolveWithNewModule atom-slick@2.0.0 checking installable status 38 http fetch GET 304 https://registry.npmjs.org/space-pen 77ms (from cache) 39 silly pacote range manifest for space-pen@^5.1.2 fetched in 78ms 40 silly resolveWithNewModule space-pen@5.1.2 checking installable status 41 http fetch GET 304 https://registry.npmjs.org/fuzzaldrin 19ms (from cache) 42 silly pacote range manifest for fuzzaldrin@^2.1.0 fetched in 20ms 43 silly resolveWithNewModule fuzzaldrin@2.1.0 checking installable status 44 http fetch GET 304 https://registry.npmjs.org/grim 26ms (from cache) 45 http fetch GET 304 https://registry.npmjs.org/jquery 27ms (from cache) 46 silly pacote range manifest for grim@^1.0.0 fetched in 28ms 47 silly resolveWithNewModule grim@1.5.0 checking installable status 48 silly pacote version manifest for jquery@2.1.4 fetched in 29ms 49 silly resolveWithNewModule jquery@2.1.4 checking installable status 50 http fetch GET 304 https://registry.npmjs.org/underscore-plus 28ms (from cache) 51 silly pacote range manifest for underscore-plus@1.x fetched in 30ms 52 silly resolveWithNewModule underscore-plus@1.7.0 checking installable status 53 http fetch GET 304 https://registry.npmjs.org/emissary 21ms (from cache) 54 silly pacote range manifest for emissary@^1.2.0 fetched in 22ms 55 silly resolveWithNewModule emissary@1.3.3 checking installable status 56 http fetch GET 304 https://registry.npmjs.org/property-accessors 24ms (from cache) 57 silly pacote range manifest for property-accessors@^1.1 fetched in 25ms 58 silly resolveWithNewModule property-accessors@1.1.3 checking installable status 59 http fetch GET 304 https://registry.npmjs.org/es6-weak-map 27ms (from cache) 60 silly pacote range manifest for es6-weak-map@^0.1.2 fetched in 28ms 61 silly resolveWithNewModule es6-weak-map@0.1.4 checking installable status 62 http fetch GET 304 https://registry.npmjs.org/mixto 29ms (from cache) 63 silly pacote range manifest for mixto@1.x fetched in 30ms 64 silly resolveWithNewModule mixto@1.0.0 checking installable status 65 http fetch GET 304 https://registry.npmjs.org/es6-symbol 24ms (from cache) 66 silly pacote range manifest for es6-symbol@~2.0.1 fetched in 25ms 67 silly resolveWithNewModule es6-symbol@2.0.1 checking installable status 68 http fetch GET 304 https://registry.npmjs.org/d 28ms (from cache) 69 http fetch GET 304 https://registry.npmjs.org/es6-iterator 27ms (from cache) 70 silly pacote range manifest for d@~0.1.1 fetched in 29ms 71 silly resolveWithNewModule d@0.1.1 checking installable status 72 silly pacote range manifest for es6-iterator@~0.1.3 fetched in 29ms 73 silly resolveWithNewModule es6-iterator@0.1.3 checking installable status 74 http fetch GET 304 https://registry.npmjs.org/es5-ext 33ms (from cache) 75 silly pacote range manifest for es5-ext@~0.10.6 fetched in 34ms 76 silly resolveWithNewModule es5-ext@0.10.53 checking installable status 77 silly pacote range manifest for es6-symbol@~3.1.3 fetched in 0ms 78 silly resolveWithNewModule es6-symbol@3.1.3 checking installable status 79 silly pacote range manifest for es6-iterator@~2.0.3 fetched in 2ms 80 silly resolveWithNewModule es6-iterator@2.0.3 checking installable status 81 http fetch GET 304 https://registry.npmjs.org/next-tick 23ms (from cache) 82 silly pacote range manifest for next-tick@~1.0.0 fetched in 24ms 83 silly resolveWithNewModule next-tick@1.0.0 checking installable status 84 silly pacote range manifest for d@1 fetched in 0ms 85 silly resolveWithNewModule d@1.0.1 checking installable status 86 http fetch GET 304 https://registry.npmjs.org/type 22ms (from cache) 87 silly pacote range manifest for type@^1.0.1 fetched in 23ms 88 silly resolveWithNewModule type@1.2.0 checking installable status 89 http fetch GET 304 https://registry.npmjs.org/ext 20ms (from cache) 90 silly pacote range manifest for ext@^1.1.2 fetched in 21ms 91 silly resolveWithNewModule ext@1.4.0 checking installable status 92 silly pacote range manifest for type@^2.0.0 fetched in 0ms 93 silly resolveWithNewModule type@2.0.0 checking installable status 94 http fetch GET 200 https://registry.npmjs.org/rollbar 6ms (from cache) 95 silly fetchPackageMetaData error for rollbar@^2.4.4 Unexpected end of JSON input while parsing near '...debug":"2.2.0","json-' 96 http fetch GET 304 https://registry.npmjs.org/kite-connector 24ms (from cache) 97 silly pacote version manifest for kite-connector@=3.10.0 fetched in 25ms 98 silly resolveWithNewModule kite-connector@3.10.0 checking installable status 99 http fetch GET 304 https://registry.npmjs.org/kite-api 26ms (from cache) 100 silly pacote version manifest for kite-api@=3.9.0 fetched in 27ms 101 silly resolveWithNewModule kite-api@3.9.0 checking installable status 102 timing stage:rollbackFailedOptional Completed in 0ms 103 timing stage:runTopLevelLifecycles Completed in 2858ms 104 silly saveTree apm-install-dir-12015-13964-1xd193b.afh1 104 silly saveTree `-- autocomplete-python@1.16.0 104 silly saveTree +-- atom-slick@2.0.0 104 silly saveTree +-- atom-space-pen-views@2.1.1 104 silly saveTree | +-- fuzzaldrin@2.1.0 104 silly saveTree | `-- space-pen@5.1.2 104 silly saveTree | +-- grim@1.5.0 104 silly saveTree | | `-- emissary@1.3.3 104 silly saveTree | | +-- es6-weak-map@0.1.4 104 silly saveTree | | | +-- d@0.1.1 104 silly saveTree | | | | `-- es5-ext@0.10.53 104 silly saveTree | | | | +-- es6-iterator@2.0.3 104 silly saveTree | | | | | +-- d@1.0.1 104 silly saveTree | | | | | | `-- type@1.2.0 104 silly saveTree | | | | | `-- es6-symbol@3.1.3 104 silly saveTree | | | | | `-- ext@1.4.0 104 silly saveTree | | | | | `-- type@2.0.0 104 silly saveTree | | | | +-- es6-symbol@3.1.3 104 silly saveTree | | | | `-- next-tick@1.0.0 104 silly saveTree | | | +-- es5-ext@0.10.53 104 silly saveTree | | | +-- es6-iterator@0.1.3 104 silly saveTree | | | | `-- es6-symbol@2.0.1 104 silly saveTree | | | `-- es6-symbol@2.0.1 104 silly saveTree | | +-- mixto@1.0.0 104 silly saveTree | | +-- property-accessors@1.1.3 104 silly saveTree | | `-- underscore-plus@1.7.0 104 silly saveTree | | `-- underscore@1.9.2 104 silly saveTree | +-- jquery@2.1.4 104 silly saveTree | `-- underscore-plus@1.7.0 104 silly saveTree +-- fuzzaldrin-plus@0.3.1 104 silly saveTree +-- kite-installer@3.15.0 104 silly saveTree | +-- kite-api@3.9.0 104 silly saveTree | | `-- kite-connector@3.10.0 104 silly saveTree | +-- kite-connector@3.10.0 104 silly saveTree | `-- mixpanel@0.5.0 104 silly saveTree +-- mixpanel@0.5.0 104 silly saveTree +-- selector-kit@0.1.0 104 silly saveTree +-- space-pen@5.1.2 104 silly saveTree `-- underscore@1.9.2 105 verbose stack SyntaxError: Unexpected end of JSON input while parsing near '...debug":"2.2.0","json-' 105 verbose stack at JSON.parse (<anonymous>) 105 verbose stack at parseJson (C:\Users\adssk\AppData\Local\atom\app-1.43.0\resources\app\apm\node_modules\npm\node_modules\json-parse-better-errors\index.js:7:17) 105 verbose stack at consumeBody.call.then.buffer (C:\Users\adssk\AppData\Local\atom\app-1.43.0\resources\app\apm\node_modules\npm\node_modules\node-fetch-npm\src\body.js:96:50) 105 verbose stack at process._tickCallback (internal/process/next_tick.js:68:7) 106 verbose cwd C:\Users\adssk\AppData\Local\Temp\apm-install-dir-12015-13964-1xd193b.afh1 107 verbose Windows_NT 10.0.18362 108 verbose argv "C:\\Users\\adssk\\AppData\\Local\\atom\\app-1.43.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\adssk\\AppData\\Local\\atom\\app-1.43.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\adssk\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\adssk\\.atom\\.apmrc" "install" "https://www.atom.io/api/packages/autocomplete-python/versions/1.16.0/tarball" "--target=4.2.7" "--disturl=https://atom.io/download/electron" "--arch=x64" "--global-style" 109 verbose node v10.2.1 110 verbose npm v6.2.0 111 error Unexpected end of JSON input while parsing near '...debug":"2.2.0","json-' 112 verbose exit [ 1, true ]
-
미해결Git과 GitHub 시작하기
우분투에서는 sourcetree를 어떻게 사용해야하나요?
우분투에서는 sourcetree를 어떻게 사용해야하나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
파일을 다운로드 받고 싶은데 안보여요..
(사진)
-
미해결정보보안 전문가란? 무엇을 하고 어떻게 준비해야 할까.
해킹대회 관련 질문
이제 고등학교 올라가는 학생입니다. 근데 해킹대회 같은 것을 꼭 나가서 경험을 미리 쌓아야 하나요? 대학교 입학 후에 해도 괜찮겠죠?
-
미해결Do it! 쉽게배우는 웹앱·하이브리드 앱
2020년 시점에 변경된 사항이 있을까요?
1. apk패킫징 하는 과정이나 소스들이 2020년시점에서도 모두 유효한지 변경사항이 있는지 궁금합니다. 2. 그리고 기존의 웹을 안드로이드앱으로 만드는 과정과 관련된 내용은 없을까요? 3. 마지막으로 기존의 오픈소스를 어도비가 가져가면서 콜도바는 아파치가 계속 오픈소스로 가고있고 기본 콜도바기반이라고 얘기해주셨는데요. 질문은 폰갭없이 콜도바만 가지고 하이브리드앱을 개발하는 것과 어떤 차이가 있는지 궁금합니다. 좋은 강의 감사합니다!!!
-
해결됨제주코딩베이스캠프 Code Festival: Python 100제
학습방식에 대해 질문드립니다.
안녕하세요. 코딩테스트에 대한 대비가 전혀 되어있지않아서.. 기초부터 찬찬히 공부하자는 생각으로 강의를 신청했습니다. 학습방식에 대해 문의드리려고 하는데요.. 먼저 혼자 풀어보고 강의를 듣는 방식으로 공부하면 되는건가요?