묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js 노드 빠르게 훑어보기: 서버부터 DB까지
오류 발생 도움 필요
강의제목: Node.js 노드 빠르게 훑어보기: 서버부터 DB까지따라 하다 문제가 발생한 회차: 13강 화면 구성 - Template Engine 확장npm install nunjucks를 하고..강의에서 하라는 대로 하면서 views 폴더에서 base.html을 수정하고, write.html을 작성하고base.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <!-- 공통된 요소 --> <nav> <a href="">Logo</a> <a href="">글 작성</a> </nav> <!-- 바뀌는 요소 --> {% block content %} {% endblock %} <footer> <p>Footer</p> </footer> </body> </html>write.html{% extends 'base.html' %} {% block content %} <h1>글 작성 페이지입니다.</h1> {% endblock %}index.js도 수정하고 npm run dev 를 해보면..index.jsimport express from 'express'; import path from 'path'; import nunjucks from 'nunjucks'; const __dirname = path.resolve(); const app = express(); //view engine set app.set('view engine', 'html');//main.html->main(.html) //nunjucks nunjucks.configure('views', { watch: true, //html파일이 수정될 경우, 다시 반영 후 렌더링 express: app }) //middleware //main page GET app.get('/', (req, res)=>{ res.sendFile(__dirname + '/public/main.html'); }); app.get('/write', (req, res) => { res.render('write.html'); }) app.listen(3000, ()=> { console.log('Server is running'); });127.0.0.1:3000에서는 main page라고 그냥 나오지만127.0.0.1:3000/write를 실행해보면 아래와 같은 에러메시지가 나옵니다.혹시 해결책을 아시는 분은 답변 부탁드립니다.사실 첨부파일 zip으로 올릴 수 있으면 한꺼번에 올리고 싶은데링크 첨부밖에 없어서 일단 이렇게 올립니다.이거 질문란을 못 찾아서 일반 커뮤니티에 올렸다가 강의 페이지 들어오니 질문란이 있는 거 같아서 백업하여 여기다 다시 올립니다.Error: template not found: write.html at createTemplate (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:234:15) at next (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:260:7) at handle (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:267:11) at C:\Users\SBA\user\node_study\my_app\node_modules\nunjucks\src\environment.js:276:9 at next (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:258:7) at Object.asyncIter (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:263:3) at Environment.getTemplate (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:259:9) at Environment.render (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:295:10) at NunjucksView.render (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\express-app.js:18:9) at tryRender (C:\Users\user\node\node_study\my_app\node_modules\express\lib\application.js:657:10)
-
미해결뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
디자인 원리가 잘 적용된 사례
부스트코스 가입페이지상태안내, 에러방지CTA 강조맥북 Finder 기능좌측 메뉴, 우측 프로그램 안내가 유사성의 원리로 각각 다른 개체로 인식되게 함계산기, 메모, 이미지캡쳐 프로그램은 스큐어모피즘 기법을 활용해서 현실과 비슷한 이미지로 친숙함 상승근접성의 원리로 아이콘과 관련된 텍스트를 붙여서 배치, 관련 없는 아이콘끼리는 서로 거리를 두어서 유저들이 각 프로그램을 효과적으로 인식하게 함
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberController 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]3분40초부터 말씀하시기를, 컨트롤러는 어쩔 수 없다고 하시면서 MemberService나 MemberRepository 같이 SpringConfig에 따로 빼주지를 않는데, 그냥 MemberController에서 @Controller와 @Autowired를 뺀 뒤, 아래와 같이 설정해주지 않는 이유가 궁금합니다. 이렇게 설정하면 어떤 점에서 문제가 발생하나요??public MemberController memberController() { return new MemberController(memberService());}
-
해결됨실전! Redis 활용
블룸필터-중복이벤트 제거 예시
레디스가 데이터베이스가 받게 될 부하를 분산시켜준다면데이터베이스를 쓰는 모든 서비스에 이 기능이 있으면 좋은가요? 특히 더 활용성이 있는 산업, 도메인, 기능이 있을까요?ex. 쓰기 처리가 많은 서비스, 읽기 처리가 많은 서비스.. 등 어떤 상황에서 실무에 적용할 수 있을지 예시가 더 있으면 좀 더 이해하기 좋을 거 같습니다..!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Main에서오류
다른거 다 똑같이 했는데 프로젝트 만들자마자 메인에서 오류가나서 실행도 안되요. 왜이러나요 ㅠㅠ ;는 어디가 누락된건가요 ? 해결책 알려주시면 감사하겠습니다
-
해결됨실전! Redis 활용
온라인 상태 표시
온라인 상태를 비트맵으로 사용했을 때의 특히 좋은 점이 무엇 일까요? 보통 인스타나 페북 활동중도 비트맵을 쓰나요?비트맵 데이터타입의 장점은 적은 메모리를 사용하여 바이너리 상태값을 저장한다. 로 강의에서 배웠는데 상태값이 0, 1로 표현될 수 있어서 인가요? 프로세스가 1분 단위에 상태만 볼수있는거로 이해했는데 맞을까요? 예를 들어,1분동안 이전에 요청이 없었으면 -> 오프라인1분동안 요청이 있었으면 키에대한 데이터가 1이므로 -> 온라인으로 처리된다.
-
미해결뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
좋은 UX, 안좋은 UX 사례
좋은 강의 감사드립니다. 내가 생각할 때 좋은 UX 2개구몬 학습지 홈페이지 1) 홈페이지 진입 시 큰 카테고리를 상위에 배치해서 유저가 궁금한 점들을 눌러보게끔 유도, 구매로 이어지는 경로를 잘 만들어둠ㄴ카테고리 이름도 직관적이어서 사용자의도가 낮은 유저도 바로 클릭할 수 있음2) 큰 카테고리 '학습 과목' 클릭 시 - 유아,초등,중고등,성인으로 중형 카테고리 노출하여 세부적인 유저 니즈를 잘 공략함3) 성인 클릭 시에도 영어, 중국어, 일본어 등의 세부 카테고리를 소개하여 유저가 원할만한 상품들을 보여줘서 클릭하게 만듦 4) 상세페이지에 실제 제품 사진들로 사용경험을 구체적으로 그려줌, 마지막 하단엔 상담 신청을 유도하여 자연스럽고 가볍게 구매 결정 유도필립스 버티컬 마우스 : 일반 평면적인 마우스는 사용할수록 유저의 손목 통증 생김 > 버티컬 마우스는 유저가 통증없이 편하게 사용할 수 있도록 수직으로 만듦 > 오래 사용해도 손목 통증 없이 편하게 쓸 수 있다는 점이 좋은 UX로 느껴짐 --내가 생각할 때 안좋은 UX 재능교육 홈페이지1) 큰 카테고리가 가장 먼저 노출되긴 하지만, UX writing이 직관적이지 않고 모호해서 각각의 카테고리가 무엇을 의미하는지 헷갈림 > 처음 웹사이트 진입 후 헤매게 됨2) 큰 카테고리 클릭 시 노출되는 중간 카테고리의 정보 구조 설계가 적합하지 않아보임3) 하단 '스스로상품' 카테고리의 중간 카테고리 정보에 유아맘/초딩맘 등만 나와있으니 이 타겟에 해당하지 않는 유저는 이탈하게 만듦, 언어별/과목별 상품명이 나왔다면 쉽게 클릭했을 것 같음LP 플레이어1) 사용법: 이미지 상단에 있는 흰색 침을 LP 위에 올림 > 3번째 버튼을 눌러 LP에 침을 붙임 > Start 버튼 클릭하여 재생2) 침을 내리는 버튼인 세번째 버튼을 start 버튼보다 앞에 위치하게 했으면 훨씬 덜 헤맸을 것 같음과제 올립니다~!
-
미해결스프링 배치
AsyncItemProcessor 트랜잭션 단위
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 안녕하세요!질문이 있습니다. 코드를 봐보니 AsyncItemProcessor를 사용할 때도 트랜잭션은 개별 아이템 단위가 아니라 Chunk 단위인 것 같은데 맞을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
db 컬럼 camel or snake
안녕하세요! 강의 너무 잘 듣고 있습니다. 별건 아니고 혹시 db 컬럼을 평소에도 camel로 쓰시는건가요??보통 db컬럼은 스네이크로 많이들 쓰는걸로 알고 있어서 여쭤봅니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
query dsl 간헐적으로 작동 안 하는경우
안녕하세요 강사님 강의 덕분에 잘 배우고 졸업을 앞두고 있는 학생입니다.jpa domain을 nexus에 올려 실제 프로젝트에 dependency를 추가하여 사용하고 있었는데도메인이 수정될 때마다 nexus에 배포하고 dependency 버전을 변경해야하는 번거로움 때문에 하나로 합치는 작업을 했습니다.실제 프로젝트로 합쳐진 entity들이 잘 import 될 수 있도록 경로도 다 수정해주고 qclass도 정상적으로 생성되었으나 프로젝트 재구동시 간헐적으로 querydsl이 작동하지 않는 오류가 있습니다...qclass도 잘 import 됐고 정상 작동될 때는 잘 되다가 재구동 2~3번에 한번꼴로 qclass를 참조하는 api는 작동하지 않습니다...qclass 사용하지 않는 api들은 정상 작동합니다.. 간헐적으로 오류가 나니 컴파일시점에 메모리가 부족하여 qclass 생성을 제대로 못 해주나 싶어서 heap 사이즈도 늘려보았으나 똑같은 상황입니다. 디버그 모드로 확인하니 QMember a = new QMember(); 이 코드 까지는 오는데 다음 프로세스로 넘어가지도 않고 에러 로그또한 찍히지 않으며 그냥 끝나버리는 것 같습니다. 혹시 왜 이런 현상이 나는지 알려주실 수 있나요 ㅠㅠ spring boot 2.1.62java 1.8querydsl 4.4.0 사용중입니다.
-
해결됨UIUX 포트폴리오 Part.1 - Figma(피그마) 깊이 있게 배우기
spacing mode가 어디에 있나요?
advanced layout에는 1.strokes2.Canvas Stacking3.Align text baseline 위 3개 뿐인데, spacing mode는 어떤 상태에서 활성화되는건가요? 아무리 여러번 따라해보아도 모르겠어요^^:;;부탁드립니다!
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL로 LIN도 컨트롤 가능한가요?
안녕하세요. 존버매니아님수업을 듣고 기초적인 CANetowrk 구성 및 제품간 연동을해보았습니다. 너무도 감사드립니다. 다만, 현재 LIN 으로도 CAPL과 연계하여 제어하고 싶습니다.현재, 통신 ldf 파일을 만들고 CAPL 코드를 구현하려고 하니CAN으로 하는 경우와 조금 다른 듯합니다.(제가 잘몰라서... 뭔가 매칭이안되는듯한.) CAPL Code와 연동하여 LIN을 제어할 수 있는지 궁금합니다.LIN과 연계하여 CAPL 구성하는 강의도 만들어 주셨으면 꼭 수강하겠습니다. 감사합니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
OnDestroy에서 콜백함수 지울 때 질문입니다.
Awake에서 리스너를 등록할 경우, 오브젝트가 한 번도 활성화 되지 않았다고 가정할 때 OnDestroy 함수가 호출되지 않아 나중에 오류가 날 수 있을 것 같은데요.(물론 Start에서 등록을 하면 아무런 문제가 없겠지만요.)Awake에서 리스너를 등록하는 경우는 아예 없나요?제 짧은 식견으로는 버그의 가능성만 보이고 실제 있을 법한 사례인지는 판단이 어려워 여쭤봅니다..
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
1대 다 fetch join 에 대해서 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]요새 너무 질문을 많이 하는 것 같네욤 ㅠㅠ1대다 fetch join 에서 @OneToMany 밑에다가 @BatchSize를 설정해서 성능을 최적화하는 강의 를 이해했습니다. 그런데 궁금한게 생겼습니다. 예를 들어 A, B , C 가 1대 다 , 다대 1 이라고 치면 (C는 중간 테이블 ) A에서 C의 데이터를 가지고 오는데 이 경우에는 @BatchSize를 이용해서 성능을 최적화하는게 좋은 방식인가요?예를 들면 A 에서 A.getBList().getC.Name() 이렇게 할 때 A에서 B에 대한 쿼리는 Batch Size 를 통해서 줄일 수 있어도 getC 를 통해서 또 쿼리가 나가는데 ....어떻게 보면 걍 B 의 리포지토리에서 @Query("select b from B join fetch C where b.a,id=:id) 이런 식으로 하는게 더 나아보이기도 하고요.. 어떤 식으로 하는 것이 더 효율적이라고 생각하시는게 궁금합니다!!!
-
미해결김영한의 실전 자바 - 기본편
질문
혹시 mutator method 랑 accessor method 는 어느 파트에서 다루어주시나요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd 창에 gradlew.bat를 입력하면 실행할 수 있는 프로그램, 또는 배치 파일이 아니라고 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다음과 같은 말이 나와요. 환경변수 설정하는 방법도 해봤는데 뭐가 문제일까요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
resoureceManager.cs질문
이전 유니티강의에서는public class ResourceManager { public T Load<T>(string path) where T : Object { return Resources.Load<T>(path); } public GameObject Instantiate(string path, Transform parent = null) { GameObject prefab = Load<GameObject>($"Prefabs/{path}"); if (prefab == null) { Debug.Log($"Filed to load prefab : {path}"); return null; } return Object.Instantiate(prefab, parent); } public void Destroy(GameObject go) { if (go == null) return; Object.Destroy(go); } } 로 로드할때 path안에 T타입에 해당하는것들을 찾아서 로드했는데 public class ResourceManager { private Dictionary<string, UnityEngine.Object> _resources = new Dictionary<string, UnityEngine.Object>(); private Dictionary<string, AsyncOperationHandle> _handles = new Dictionary<string, AsyncOperationHandle>(); #region Load Resource public T Load<T>(string key) where T : Object { if (_resources.TryGetValue(key, out Object resource)) return resource as T; return null; } public GameObject Instantiate(string key, Transform parent = null, bool pooling = false) { GameObject prefab = Load<GameObject>(key); if (prefab == null) { Debug.LogError($"Failed to load prefab : {key}"); return null; } if (pooling) return Managers.Pool.Pop(prefab); GameObject go = Object.Instantiate(prefab, parent); go.name = prefab.name; return go; }이번 강의에 것은 Dic으로 담아둘곳은 만들었는데 어디서 찾아서 Dic에다 담아두고 Load로 값을 반환하는지 모르겠습니다 모르겠습니다. 다시 계속 코드를 봤는데_resource라는 dic형태 데이터에 #region Addressable private void LoadAsync<T>(string key, Action<T> callback = null) where T : UnityEngine.Object { // Cache if (_resources.TryGetValue(key, out Object resource)) { callback?.Invoke(resource as T); return; } string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); asyncOperation.Completed += (op) => { _resources.Add(key, op.Result); _handles.Add(key, asyncOperation); callback?.Invoke(op.Result); }; } _resources.Add(key, op.Result);이 부분에서 데이터를 채워주는것 맞나요? 라이브강의 점점따라가기 힘들어서 시간날때 뒤에서부터 하나하나 계속 보고있습니다.. 강의를 다시보니 LoadAsync가아니라 LoadAllAsync에서 싹다 긁어서 dic데이터형태의 _resource에 메모리상에 들고있겠다로 해석되는데 맞나요?
-
해결됨스프링 핵심 원리 - 기본편
Scope 사용하는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점까지 강의를 듣고 어느정도 프로토타입의 특성을 알게 되었습니다. 그런데 실무 경험이 없어서 그런지 프로토타입을 왜 사용하는지, 싱글톤과 프로토타입을 왜 같이 사용하는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T. 번 강의 질문 스택 풀이시 시간복잡도
안녕하세요.강의 잘듣고잇습니다. 단순하게 풀엇을떄 2중 forloop 시간복잡도 O(N^2) . 시간초과 발생하였습니다. 스택 풀이로 하면 통과는 하게되는데,시간복잡도는 여전히 O(N^2). 인 것 아닌가요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
로드완료후 터치해서 게임신으로 넘어가면 생기는 오류입니다.
NullReferenceException: Object reference not set to an instance of an objectObjectManager.Spawn[T] (UnityEngine.Vector3 position, System.Int32 templateID) (at Assets/@Scripts/Managers/Contents/ObjectManager.cs:38)GameScene.Init () (at Assets/@Scripts/Scenes/GameScene.cs:24)InitBase.Awake () (at Assets/@Scripts/Utils/InitBase.cs:20)