묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 패턴의 탄생 배경과 RequestDispatcher 의 관계
이전 강의에서 서블릿과 jsp 각각의 비효율적인 부분 때문에 MVC 패턴이 등장하게 된 것으로 이해를 했습니다. MVC 패턴이 동작하기 위해서는 RequestDispatcher 를 통하여 jsp 부분으로 forwarding 해주는 기능이 필수적으로 필요해 보이는데요. 이 기능이 서블릿의 단점을 보완하기 위해 서블릿 버전이 업데이트 되면서 MVC 를 지원하기 위해 나중에 나온 기능인지, 원래 부터 있었던 기능인데, "고대 개발자"들이 모르고 비효율적으로 쓰고 있었던 건지 궁금합니다.
-
미해결누구나 할 수 있다! 이모티콘 만들기
포토샵
- 어떤 포토샵 사용하세요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
덕분에 완강하였습니다.
허나 강의를 촬영하신 시기와 지금의 차이가 있어서 그런지 강의 내용보다 버전차이에서 오는 다름을 찾는 것이 더욱 어려웠던 강의입니다. 그래서 강사님의 깃 중 https://github.com/jaewonhimnae/boiler-plate-ko을 클론하여 완벽히 돌아가는 상태를 보려고 하는데 config폴더에 dev.js를 잘 넣고 맞는 디렉토리에서 npm install을 하였습니다. 하지만 이리저리 시도를 해봐도 npm install에서 다량의 오류가 발생하여 답답해하던 중 여기에 질문을 올려봅니다. ero@Kimui-MacBookAir:~/Downloads/boiler-plate-ko-master » npm install > bcrypt@3.0.7 install /Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.7/bcrypt_lib-v3.0.7-node-v83-darwin-x64-unknown.tar.gz node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.7 and node@14.18.1 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'. No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'. No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'. gyp: No Xcode or CLT version detected! gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12) gyp ERR! System Darwin 20.6.0 gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" gyp ERR! cwd /Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt gyp ERR! node -v v14.18.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/ero/Downloads/boiler-plate-ko-master/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:400:28) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1058:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5) node-pre-gyp ERR! System Darwin 20.6.0 node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/ero/Downloads/boiler-plate-ko-master/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt node-pre-gyp ERR! node -v v14.18.1 node-pre-gyp ERR! node-pre-gyp -v v0.13.0 node-pre-gyp ERR! not ok Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/ero/Downloads/boiler-plate-ko-master/node_modules/bcrypt/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) npm WARN boiler-plate@1.0.0 No description npm WARN boiler-plate@1.0.0 No repository field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bcrypt@3.0.7 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bcrypt@3.0.7 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/ero/.npm/_logs/2021-11-12T19_29_54_727Z-debug.log
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
googletrans 라이브러리 설치 후 코드가 실행되지 않는 현상이 있습니다.
https://inf.run/RZry 정확히 이 글과 같은 현상인 것 같고요, 파이썬이 가장 프로그래밍하기 쉬운 이유 - 파이썬 라이브러리 사용법2 library_20201223 파일에서 라이브러리를 주피터 노트북으로 직접 설치한 다음 실행해도 동일합니다. 이 코드를 실행하면 from googletrans import Translator dave = Translator() word = dave.translate('나는 가방을 매고 학교에 갔습니다.', dest='en', src='ko') print (word.text) 이런 타입의 에러가 나오고, 다른 코드들을 실행해도 거의 비슷한 유형의 에러가 뜨는 것 같습니다.--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-11-c115971908ad> in <module> 1 from googletrans import Translator 2 dave = Translator() ----> 3 word = dave.translate('나는 가방을 매고 학교에 갔습니다.', dest='en', src='ko') 4 print (word.text) ~/opt/anaconda3/lib/python3.8/site-packages/googletrans/client.py in translate(self, text, dest, src, **kwargs) 180 181 origin = text --> 182 data = self._translate(text, dest, src, kwargs) 183 184 # this code will be updated when the format is changed. ~/opt/anaconda3/lib/python3.8/site-packages/googletrans/client.py in _translate(self, text, dest, src, override) 76 77 def _translate(self, text, dest, src, override): ---> 78 token = self.token_acquirer.do(text) 79 params = utils.build_params(query=text, src=src, dest=dest, 80 token=token, override=override) ~/opt/anaconda3/lib/python3.8/site-packages/googletrans/gtoken.py in do(self, text) 192 193 def do(self, text): --> 194 self._update() 195 tk = self.acquire(text) 196 return tk ~/opt/anaconda3/lib/python3.8/site-packages/googletrans/gtoken.py in _update(self) 60 61 # this will be the same as python code after stripping out a reserved word 'var' ---> 62 code = self.RE_TKK.search(r.text).group(1).replace('var ', '') 63 # unescape special ascii characters such like a \x3d(=) 64 code = code.encode().decode('unicode-escape') AttributeError: 'NoneType' object has no attribute 'group' 다른 코드들은 attribute error가 뜨고, 설치 바로 밑에 있는 코드는 약간 다른 타입의 에러가 나는데 내용은 다음과 같습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
모바일버전 대응
일반 데스크탑화면일때 뷰량 모바일일때 뷰량 헤더부분(네비게이션) 을 다르게 구성해서 모바일로 가면 화면을 다른걸로 보여줘야되는데 어떻게 해야되나요?
-
미해결함수형 프로그래밍과 JavaScript ES6+
reduceF함수 내부에서
a instanceof Promise ? a.then(a=> f(acc,a), e=> e == nop ? acc : Promise.reject(e)) reduceF함수 내부에서 e => e== nop이라면 acc를 반환하기로 되어있는데, 쉼표를 하고 e가 nop과 같은지 검사하는 이유는 앞에 a=>f(acc,a)가 실패했을 때 호출이 되고 이것이 nop인지 아니면 함수 전체를 reject하려고하는 건지를 확인하려는 의미인 것인가요? 그리고 위의 코드에서 nop은 Lfilter로 부터 전달된 게 맞나요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
필터링 대신에 dto를 사용하면 안되나요?
예를들면 UserSimpleDto 클래스로 id, name, joinDate만 내려주고 전체 데이터는 User에서 가져오는 방식은 문제가 있을까요? 제가 rest api를 처음 제대로 접해봐서 뜬금없는 질문인것 같긴한데 궁금해서 질문드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
ㅠ
오류로 지금까지 작성했던게 안보이네요 이유가 뭘까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Hello world 강의에서 문제가 있습니다.
강의를 따라하면서 편집 할때도 동일한 에러가 나서 신택스 에러라길래 원래의 파일대로 빌드 해도 같은 에러가 반복됩니다...
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
__analysis_assume
__analysis_assume 사용하지 않고 다른 방법으로 하려면 어떻게 해야하나요? 조건문으로 구별하면 안되나요?
-
미해결프로그래밍, 데이터 과학을 위한 파이썬 입문
backend.ai 설치 시 에러 발생
cmd 창에서 pip install -U backend.ai-client==19.03.2 입력 시, 잘 진행되다가 아래와 같이 에러가 발생하고 설치가 안되네요 ---------------------------------------------- Building wheels for collected packages: multidict Building wheel for multidict (PEP 517) ... error ERROR: Command errored out with exit status 1: command: 'C:\ProgramData\Miniconda3\python.exe' 'C:\ProgramData\Miniconda3\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\rheeh\AppData\Local\Temp\tmpqn5_snyt' cwd: C:\Users\rheeh\AppData\Local\Temp\pip-install-8z643arz\multidict_b65ea9a8b4244633981ffcb13708283a Complete output (41 lines): ********************** * Accellerated build * ********************** running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-3.9 creating build\lib.win-amd64-3.9\multidict copying multidict\_abc.py -> build\lib.win-amd64-3.9\multidict copying multidict\_compat.py -> build\lib.win-amd64-3.9\multidict copying multidict\_multidict_base.py -> build\lib.win-amd64-3.9\multidict copying multidict\_multidict_py.py -> build\lib.win-amd64-3.9\multidict copying multidict\__init__.py -> build\lib.win-amd64-3.9\multidict running egg_info writing multidict.egg-info\PKG-INFO writing dependency_links to multidict.egg-info\dependency_links.txt writing top-level names to multidict.egg-info\top_level.txt reading manifest file 'multidict.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files found matching 'multidict\_multidict.html' warning: no previously-included files found matching 'multidict\*.so' warning: no previously-included files found matching 'multidict\*.pyd' warning: no previously-included files found matching 'multidict\*.pyd' no previously-included directories found matching 'docs\_build' adding license file 'LICENSE' writing manifest file 'multidict.egg-info\SOURCES.txt' copying multidict\__init__.pyi -> build\lib.win-amd64-3.9\multidict copying multidict\_multidict.c -> build\lib.win-amd64-3.9\multidict copying multidict\py.typed -> build\lib.win-amd64-3.9\multidict creating build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\defs.h -> build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\dict.h -> build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\istr.h -> build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\iter.h -> build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\pair_list.h -> build\lib.win-amd64-3.9\multidict\_multilib copying multidict\_multilib\views.h -> build\lib.win-amd64-3.9\multidict\_multilib running build_ext building 'multidict._multidict' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ ---------------------------------------- ERROR: Failed building wheel for multidict Failed to build multidict ERROR: Could not build wheels for multidict which use PEP 517 and cannot be installed directly C:\workspace>
-
미해결스프링 핵심 원리 - 기본편
프로토타입, 싱글톤 스코프 같이 쓸 때 궁금한 점이 있습니다!
안녕하세요, 항상 양질의 답글 감사드립니다. 이번 강의를 들으면서 싱글톤 스코프, 프로토타입 스코프를 같이 사용할 때 발생하는 일이 정확히 어떤지 궁금해서 문의드립니다. public class SingletonTypeTestWithProtoTyepBean { @Test void prototypeTest(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class); PrototypeBean prototypeBean1 = ac.getBean(PrototypeBean.class); PrototypeBean prototypeBean2 = ac.getBean(PrototypeBean.class); prototypeBean1.addCount(); prototypeBean2.addCount(); System.out.println("prototypeBean2.getCount() = " + prototypeBean2.getCount()); System.out.println("prototypeBean1.getCount() = " + prototypeBean1.getCount()); Assertions.assertThat(prototypeBean1.getCount()).isEqualTo(prototypeBean2.getCount()); } @Test void SingletonTestWithProto(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean bean1 = ac.getBean(ClientBean.class); ClientBean bean2 = ac.getBean(ClientBean.class); int count1 = bean1.logic(); int count2 = bean2.logic(); System.out.println("count1 = " + count1); System.out.println("count2 = " + count2); Assertions.assertThat(count1).isNotEqualTo(count2); ac.close(); } @RequiredArgsConstructor @Scope("singleton") static class ClientBean{ private final PrototypeBean prototypeBean; public int logic(){ prototypeBean.addCount(); return prototypeBean.getCount(); } @PostConstruct public void initSingleton(){ System.out.println("ClientBean.initSingleton"); } @PreDestroy public void singltonend(){ System.out.println("ClientBean.singltonend"); } } @Scope("prototype") static class PrototypeBean { private int count = 0 ; public void addCount() { count++; } public int getCount(){ return count; } @PostConstruct public void init(){ System.out.println("PrototypeBean.init"); } @PreDestroy public void destory(){ System.out.println("PrototypeBean.destory"); } }} 위 코드의 실행 결과는 아래와 같습니다. 코드 실행 결과를 바탕으로 실행 과정을 유추해보면 다음과 같은 것 같은데, 제가 생각하는 것이 맞는지 한번 알려주실 수 있을까요? 1. 스프링 컨테이너 생성과 함께 클라이언트 클래스의 빈 객체는 생성된다. 2. 클라이언트 클래스의 빈 객체는 생성자 주입을 통해서 되기 때문에, 생성되는 시점에서 프로토타입 클래스 빈 객체를 호출한다 3. 이 때 프로토타입 빈 객체는 생성되고, 의존관계 주입되고, 초기화 메서드까지 진행되고 스프링 컨테이너에 저장된다. (프로토타입 초기화 메서드 실행 로그 확인) 4. 스프링 컨테이너에서 프로토타입 빈 객체를 찾아와 클라이언트 클래스 빈 객체에 주입시켜준다. 이 때 스프링 컨테이너에서 프로토타입 빈 객체는 사라진다. 5. DI 단계는 이미 완료되었으며, 클라이언트 초기화 메서드 실행됨. 위의 단계로 진행되는 것이 맞을까요? 앞에 설명해주신 내용을 좀 더 생각해봐서 위와 같이 정리했는데... 뇌피셜로는 맞는 것 같은데, 정말로 맞을지 궁금합니다. 항상 감사드립니다.
-
미해결팀 개발을 위한 Git, GitHub 입문
수업자료) 부탁드립니다 magicst7784@gmail.com
^-^
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
와 이게 1판왕이엿던듯 간신히 풀어서 걍 글냄겨요
기본적인 아이디어는 걍 각 막대기마다 가지고 있는 레이저의 개수를 기록하자 이게 다임 function solution(s){ let a = s.split(''); let laser = sum = originPos = 0; let stack = []; for(let i=0; i<s.length; ++i) { if(a[i] === '(' && a[i+1] === '(') { originPos = i; do { if(a[i] === '(') sum++; else sum--; if(a[i] === '(' && a[i+1] === ')') laser++; ++i; } while (sum !== 0); i = originPos; stack.push([i,laser+1]); sum = laser = 0; } } sum = stack.reduce((acc,v)=>{return acc + v[1];},0) return sum; } let b ='(((()())(())()))'; let a="()(((()())(())()))(())"; console.log(solution(a));
-
미해결쉬우면서 강력한 유니티(Unity) 에디터 프로그래밍
영상에서 소리가 너무 작게 들립니다.
해당 영상에 소리가 너무 작게 들리는 것 같아서 게시판에 글 남깁니다. 확인 부탁드려요~
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다~
스택 안쓰고 괄호를 카운트해서 다음과 같이 해도 될까요? function solution(s) { let answer = "YES"; let cnt = 0; for (let i of s) { if (i === "(") cnt++; if (i === ")") cnt--; if (cnt < 0) return "NO"; } if (cnt !== 0) { return "NO"; } return answer; } let a = "(()(()))(()"; console.log(solution(a));
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
계단을 오를때
선생님~! 예를들어 계단 3번까지 오를때는 1번에서 3번을 갈때 바닥에서 1번까지 가는 경우의수는 1개이지만, 1번에서 3번까지 가는 방법은 1->2->3 한칸씩 이동하는 방법 한개와 1->3 두칸 이동해서 한번에 가는 방법 한개 이렇게해서 1번에서 3번까지 가는 방법이 총 두개가 되지 않나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테이블 자동 생성이 안됩니
예전에 jpa 활용을 듣고 진행했을 때는 실행 시 h2에 엔티티들이 잘 들어갔고 그 때 작성했던 jpashop은 여전히 잘 동작하는데 이번에 다시 새로운 프로젝트를 만들고 똑같은 설정으로 다시 하는데 h2에 테이블이 자동생성되지 않습니다 이유를 잘 모르겠습니다ㅠㅠ 전에 했던 다른 프로젝트로 db 파일에 접근하는건 잘 되는데 이 프로젝트에서만 안되는걸보니 이 프로젝트에서 뭔가 잘못된게 있는것 같습니다 application.yml spring: datasource: url: jdbc:h2:tcp://localhost/~/sss username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: format_sql: true logging.level: org.hibernate.SQL: debug Member 엔티티 package com.sss.domain; import lombok.Data; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity @Data public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; } "C:\Program Files\Java\jdk-11.0.11\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\lib\idea_rt.jar=52190:C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.3\bin" -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath C:\springProjects\subscriptionsharing\out\production\classes;C:\springProjects\subscriptionsharing\out\production\resources;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.22\9c08ea24c6eb714e2d6170e8122c069a0ba9aacf\lombok-1.18.22.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\2.5.6\8d7fe99c33e09390316749614d9795d80b49207b\spring-boot-starter-data-jpa-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\2.5.6\89f34956247743c97e16fa0dd7176743fc8dea08\spring-boot-starter-validation-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.5.6\46b479490170914f7477b96a21241183b181c24d\spring-boot-starter-web-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-aop\2.5.6\c5db1260ecf447f55419f1a17da75a42f211aca3\spring-boot-starter-aop-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\2.5.6\cf01e787378c2d30b695f0c9f76fb48a6b490984\spring-boot-starter-jdbc-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\jakarta.transaction\jakarta.transaction-api\1.3.3\c4179d48720a1e87202115fbed6089bdc4195405\jakarta.transaction-api-1.3.3.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\jakarta.persistence\jakarta.persistence-api\2.2.3\8f6ea5daedc614f07a3654a455660145286f024e\jakarta.persistence-api-2.2.3.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.hibernate\hibernate-core\5.4.32.Final\99a5e10bf455337014c190e141ec631e9ff71663\hibernate-core-5.4.32.Final.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\2.5.6\8e0ec2f54f3fcda49dfb3123f3a40f34b55df92a\spring-data-jpa-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\5.3.12\3cccc3052c6973c059eb2be7c4baf0b9558d49b7\spring-aspects-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.5.6\d5d1fada1afe9a808abf48da7066a993cf679aa\spring-boot-starter-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.54\9edb062d38d0fd8a165289f44b28b3b0e0e11ed7\tomcat-embed-el-9.0.54.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator\6.2.0.Final\d6b0760dfffbf379cedd02f715ff4c9a2e215921\hibernate-validator-6.2.0.Final.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.5.6\6ef5a7087e18ed4f3736c8752440ecd489c36a4d\spring-boot-starter-json-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.5.6\6d1a04a727d9d09b99207864ceb0a4567e53730a\spring-boot-starter-tomcat-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.12\3d92ad6c28bfa5923183f328f5bfa1e39ec32714\spring-webmvc-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.12\78991a50d17da49bddc4987a2cc8b83d46c402a7\spring-web-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.12\882db41939109e96f4c78cd5c0931cc4aebc3d58\spring-aop-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjweaver\1.9.7\158f5c255cd3e4408e795b79f7c3fbae9b53b7ca\aspectjweaver-1.9.7.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\4.0.3\107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f\HikariCP-4.0.3.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\5.3.12\957d6ddc80fbf52d965e6af90ddd0dccfed42d7d\spring-jdbc-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.hibernate.common\hibernate-commons-annotations\5.1.2.Final\e59ffdbc6ad09eeb33507b39ffcf287679a498c8\hibernate-commons-annotations-5.1.2.Final.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.4.2.Final\e517b8a93dd9962ed5481345e4d262fdd47c4217\jboss-logging-3.4.2.Final.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.javassist\javassist\3.27.0-GA\f63e6aa899e15eca8fdaa402a79af4c417252213\javassist-3.27.0-GA.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy\1.10.22\ef45d7e2cd1c600d279704f492ed5ce2ceb6cdb5\byte-buddy-1.10.22.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\antlr\antlr\2.7.7\83cd2cd674a217ade95a4bb83a8a14f351f48bd0\antlr-2.7.7.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.jboss\jandex\2.2.3.Final\d3865101f0666b63586683bd811d754517f331ab\jandex-2.2.3.Final.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.1\3fe0bed568c62df5e89f4f174c101eab25345b6c\classmate-1.5.1.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.dom4j\dom4j\2.1.3\a75914155a9f5808963170ec20653668a2ffd2fd\dom4j-2.1.3.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-runtime\2.3.5\a169a961a2bb9ac69517ec1005e451becf5cdfab\jaxb-runtime-2.3.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.12\d5f5f044e05109b7f3337ea2cf692fd62d1ecbb6\spring-context-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\5.3.12\2881f9e71889b35fa3785bf67706a201cea93004\spring-orm-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\2.5.6\15a2384f4eaf7fee512fb295174f6c0fb6c55ee1\spring-data-commons-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\5.3.12\7f2e61a22682baa22ed5bef0724a4386c41477cb\spring-tx-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.12\caaa1d489bce88d6aa01ddd255ad5046acf8f282\spring-beans-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.12\662e6536968246af9baa84fbac2d3eb56a04fda9\spring-core-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.5.6\b9f4016180c5242530da465561ff25c7cac14bf3\spring-boot-autoconfigure-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.5.6\d8c6b97fd3182fb6d7d06ebf710cd9ccabc83b89\spring-boot-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.5.6\a900356a11b1a41f4277136f1d13ce7a13f43b3c\spring-boot-starter-logging-2.5.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\1.3.5\59eb84ee0d616332ff44aba065f3888cf002cd2d\jakarta.annotation-api-1.3.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.28\7cae037c3014350c923776548e71c9feb7a69259\snakeyaml-1.28.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\jakarta.validation\jakarta.validation-api\2.0.2\5eacc6522521f7eacb081f95cee1e231648461e7\jakarta.validation-api-2.0.2.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.12.5\a0a9870b681a72789c5c6bdc380e45ab719c6aa3\jackson-datatype-jsr310-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.12.5\2c85c2036d0851425a260c01eb5f7ddbed1eeb00\jackson-module-parameter-names-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.12.5\6b2f79547d217ad50dfc5b57af7444a3aa583b43\jackson-datatype-jdk8-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.12.5\b064cf057f23d3d35390328c5030847efeffedde\jackson-databind-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.54\ae018906cecb818a8c6f2316d7b0793beadf6609\tomcat-embed-websocket-9.0.54.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.54\34322c731b2394ea13681cfae0be9cd72f46f88d\tomcat-embed-core-9.0.54.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.12\50c82e995b3b8e20a3f313b4356237db5a26e14a\spring-expression-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\jakarta.xml.bind\jakarta.xml.bind-api\2.3.3\48e3b9cfc10752fba3521d6511f4165bea951801\jakarta.xml.bind-api-2.3.3.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\txw2\2.3.5\ec8930fa62e7b1758b1664d135f50c7abe86a4a3\txw2-2.3.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.sun.istack\istack-commons-runtime\3.0.12\cbbe1a62b0cc6c85972e99d52aaee350153dc530\istack-commons-runtime-3.0.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.12\2b5f5bb4a78af879bd174ceff5226da3f014ab9d\spring-jcl-5.3.12.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.2.6\b09efa852337fa0dd9859614389eec58dc287116\logback-classic-1.2.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.14.1\ce8a86a3f50a4304749828ce68e7478cafbc8039\log4j-to-slf4j-2.14.1.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\1.7.32\8a055c04ab44e8e8326901cadf89080721348bdb\jul-to-slf4j-1.7.32.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.12.5\52d929d5bb21d0186fe24c09624cc3ee4bafc3b3\jackson-annotations-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.12.5\725e364cc71b80e60fa450bd06d75cdea7fb2d59\jackson-core-2.12.5.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.2.6\25be1abb32e870ff042e698a799b56587e0dca9a\logback-core-1.2.6.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.14.1\cd8858fbbde69f46bce8db1152c18a43328aae78\log4j-api-2.14.1.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.h2database\h2\1.4.200\f7533fe7cb8e99c87a43d325a77b4b678ad9031a\h2-1.4.200.jar;C:\Users\NOTE\.gradle\caches\modules-2\files-2.1\com.sun.activation\jakarta.activation\1.2.2\74548703f9851017ce2f556066659438019e7eb5\jakarta.activation-1.2.2.jar com.sss.subscriptionsharing.SubscriptionsharingApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.5.6) 2021-11-12 19:52:53.930 INFO 13244 --- [ main] c.s.s.SubscriptionsharingApplication : Starting SubscriptionsharingApplication using Java 11.0.11 on DESKTOP-N9VOSQK with PID 13244 (C:\springProjects\subscriptionsharing\out\production\classes started by NOTE in C:\springProjects\subscriptionsharing) 2021-11-12 19:52:53.933 INFO 13244 --- [ main] c.s.s.SubscriptionsharingApplication : No active profile set, falling back to default profiles: default 2021-11-12 19:52:54.540 INFO 13244 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2021-11-12 19:52:54.551 INFO 13244 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 JPA repository interfaces. 2021-11-12 19:52:54.968 INFO 13244 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2021-11-12 19:52:54.977 INFO 13244 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2021-11-12 19:52:54.977 INFO 13244 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.54] 2021-11-12 19:52:55.083 INFO 13244 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-11-12 19:52:55.083 INFO 13244 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1109 ms 2021-11-12 19:52:55.184 INFO 13244 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2021-11-12 19:52:55.223 INFO 13244 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.32.Final 2021-11-12 19:52:55.326 INFO 13244 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2021-11-12 19:52:55.406 INFO 13244 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2021-11-12 19:52:55.445 INFO 13244 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2021-11-12 19:52:55.461 INFO 13244 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2021-11-12 19:52:55.626 INFO 13244 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2021-11-12 19:52:55.635 INFO 13244 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2021-11-12 19:52:55.674 WARN 13244 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2021-11-12 19:52:55.929 INFO 13244 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2021-11-12 19:52:55.938 INFO 13244 --- [ main] c.s.s.SubscriptionsharingApplication : Started SubscriptionsharingApplication in 2.627 seconds (JVM running for 4.267)
-
미해결문제로 배우는 C언어
이렇게 풀어도 맞는건가요?
#include <stdio.h> int main() { int student, das; scanf("%d", &student); das = (student - 1) / 12 + 1; printf("%d\n", das); return 0; }
-
해결됨코로나맵 개발자와 함께하는 지도서비스 만들기 2
인포박스가 생성되지 않아요
업로드 페이지에서 마커를 클릭했을 때 인포박스가 생성되지 않습니다. 여러번 다시 해봤는데 그대로네요.. 무엇이 문제인지를 모르겠어요. 도움 요청합니다ㅠ upload.js 코드입니다. const mapContainer=document.getElementById("map"); const mapOption={ center:new daum.maps.LatLng(37.554477,126.970419), level:3, }; let map=new daum.maps.Map(mapContainer, mapOption); let infoWindow = new daum.maps.InfoWindow({ zIndex:1, }); let markerList=[]; let ps=new daum.maps.services.Places(); searchPlaces(); function searchPlaces(){ let keyword=$("#keyword").val(); ps.keywordSearch(keyword,placesSearchCB); } function placesSearchCB(data, status){ if(status===daum.maps.services.Status.OK){ displayPlaces(data); }else if(status===daum.maps.services.Status.ZERO_RESULT){ alert("검색 결과과 존재하지 않습니다.") return; }else if(status===daum.maps.services.Status.ERROR){ alert("검색 결과중 오류가 발생했습니다.") return; } } function displayPlaces(data){ let listEl=document.getElementById("placesList"); let bounds=new daum.maps.LatLngBounds(); removeAllChildNodes(listEl); removeMarker(); for(let i=0;i<data.length;i++){ let lat=data[i].y; let lng=data[i].x; let address_name=data[i]["address_name"]; let place_name=data[i]["place_name"]; const placePosition=new daum.maps.LatLng(lat,lng); bounds.extend(placePosition); let marker=new daum.maps.Marker({ position:placePosition, }); marker.setMap(map); markerList.push(marker); const el=document.createElement("div"); const itemStr=` <div class="info"> <div class="info_title"> ${place_name} </div> <span>${address_name}</span> </div> `; el.innerHTML=itemStr; el.className="item"; daum.maps.event.addListener(marker,"click",function(){ displayInfowindow(marker,place_name,address_name,lat,lng); }); daum.maps.event.addListener(map,"click",function(){ infoWindow.close(); }); el.onclick=function(){ displayInfowindow(marker,place_name,address_name,lat,lng); }; listEl.appendChild(el); } map.setBounds(bounds); } function displayInfowindow(marker,place_name,address_name,lat,lng){ let content=` <div style="padding:25px;"> ${place_name}<br> ${address_name}<br> <button>onClick="onSubmit('${title}','${address}',${lat},${lng});"등록</button> </div> `; map.panTo(marker.getPosition()); infoWindow.setContent(content); infoWindow.open(map,marker); } function onSubmit(title,address,lat,lng){ $.ajax({ url:"/location", data:{title,address,lat,lng}, type:"POST", }).done((response)=>{ console.log("데이터 요청 성공"); alert("성공"); }).fail((error)=>{ console.log("데이터 실패"); alert("실패"); }); } function removeAllChildNodes(el){ while(el.hasChildNodes()){ el.removeChild(el.lastChild); } } function removeMarker(){ for(let i=0;i<markerList.length;i++){ markerList[i].setMap(null); } markerList=[]; }