안녕하세요 AOP 중 궁금한점이 생겨 질문드립니다! [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 질문을 쭉 봤는데 해당 내용이 없었습니다. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 이부분에서 찍어보면 다음과 같이 EnhancedBySpring~ 이부분이 스프링이 AOP 를 처리하기 위해 프록시로 복제된 객체로, AOP를 사용하게되면 사용된다는 내용으로 이해했습니다. 강의 자료에 보면, 다음과 같은 내용이 있는데, AOP와 관련된 코드들 (예제에서는 시간을 측정하는 코드, 시간측정하는 클래스를 주입하는 코드)을 제거 한 후에도 MemberController 에서 Service 클래스를 sout 으로 찍어볼 경우, 똑같이 EnhancedBySpring~ 하는 객체가 찍혀 나옵니다. 이 부분이 위에 AOP 적용 전 그림 에서 진짜 객체들만 사용한다는 위 그림과 과 맞지 않는데, 그렇다면 Spring 에서는 AOP 관련된 코드가 없어도 자동적으로 AOP를 위해 프록시 객체를 사용하도록 강제(?) 처리 되는건지 궁금합니다.
Relative import path "express" not prefixed with / or ./ or ../ deno(import-prefix-missing) 안녕하세요! node교과서부터 강의 듣고 있는 수강생입니다! 다름이 아니라 아래 에러가 발생중인데 검색해도 잘 나오질 않더라구요 ... 예전에 Deno로 개발한 적이 있는데 그때 설정을 잘못 건든건지.. 죄송하지만 한 번 봐주시면 감사하겠습니다! [index.ts] [프로젝트 구조] [tsconfig.json]
tui.Editor를 설치를 해서 테스트를 해 보고 있습니다. https://github.com/nhn/tui.editor/blob/master/docs/v3.0-migration-guide-ko.md 위 사이트에 있는 에디터를 설치를 했는데 에디터를 설치하면 타임리프에서 <div id="content" th:field="*{content}"></div> 위와같이 적용을 하면 에디터가 화면에 적용이 됩니다. Textarea나 input등에 적용을 하면 화면에 적용이 안됩니다. 이것때문에 삽질을..ㅠㅠ 엄청 했네요.. 아무튼.. BindingResult를 적용할려면 input이나 Textarea같은 곳에서는 적용이 잘 됩니다. 그런데 div 안에 적용을 하게 되면 bindingResult.hasErrors()가 났을경우에 화면이 새로고침 되면서 div안에 작성했던 내용들이 모두 사라져 버리네요..ㅠㅠ Controller --------------- @PostMapping("/form") public String create(@Valid NoticeForm noticeForm, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return "notice/form"; } noticeService.createNoticeProcessor(noticeForm); return "redirect:/notice/list"; } Thymeleaf ----------------------- <tr> <th>제목</th> <td> <input type="text" th:field="*{title}"> <span th:if="${#fields.hasErrors('title')}">제목을 입력해 주세요</span> </td> </tr> <tr> <th>내용</th> <td> <div id="content" th:field="*{content}"></div> </td> </tr> 위의 Thymeleaf 소스에서 위에있는 제목 부분은 Controller를 갔다와도 입력했던 값이 남아있는데 아래 내용 부분에는 div안에 값이 있어서 Controller를 갔다와서 오류를 체크하면 값이 사라져 버립니다. div에서도 바인딩 에러를 체크해서 값이 남아있게 할려면 어떻게 해야할까요? 그리고 또 한 가지 문제가 div안에 th:field로 content를 입력하면 컨트롤러에서 content를 인식을 하지 못하네요.ㅠㅠ
안녕하세요! 항상 좋은 강의 감사드립니다 이번에 강의 보면서 따라하고 있는데, RunIdIncremenet가 정상적으로 동작하지 않는 것 같아 문의 드리려고 글을 적었습니다 제가 이해하고 있기로는 RunIdIncrementer가 JobParameters를 항상 변화해서 공급해줘서 매번 JobInstance를 생성해 JobExecution을 실행할 수 있도록 도움을 주는 것으로 알고 있습니다. 지금까지 강의 들으면서 실제 복습하면서도 RunIdincremeneter는 정상적으로 작동했었구요. 그런데 이번에 Controller를 따서 Job을 실행하는 시점에는 runIdIncrementer()가 정상적으로 실행이 되지 않는 것 같습니다. 첫 자동 시작에서는 runIdIncremeneter()가 동작했으나, HTTP 요청하는 시점에서는 runIdIncremeneter()가 동작하지 않아 이미 존재하는 JobInstacne 예외 발생하며, DB에서도 runid가 생성되지 않습니다. 원래 RunIdIncremeneter는 http 요청에 대해서는 동작하지 않는 것일까요? 아래에 필요한 코드와 DB 값을 공유드립니다. db값을 보면 가장 오른쪽에 있는 68은 자동으로 실행된 잡이고, 다시 HTTP 요청을 했을 때 실행되는 잡이 69번입니다. 69번을 실행시켰을 때 예외가 발생되어 Body에 다른 값을 전달해서 실행을 시켰습니다. 이 때 보시면 run.id라는 값이 생성되지 않은 것이 확인이 됩니다. @Bean public Job jobOperationJob () { return jobBuilderFactory .get( "jobOperationJob" ) .incrementer( new RunIdIncrementer()) .start(step1()) .next(step2()) .build() ; } @PostMapping ( "/batch/start" ) public String start ( @RequestBody JobInfo jobInfo) throws NoSuchJobException , JobInstanceAlreadyExistsException , JobParametersInvalidException , InterruptedException { // jobName 은 jobRegistry 에서 구할 수 있음 . Collection<String> jobNames = jobRegistry .getJobNames() ; for (String jobName : jobNames) { SimpleJob job = (SimpleJob) jobRegistry .getJob(jobName) ; // SimpleJob 으로 다운 캐스팅 System. out .println( "jobName : " + jobName) ; jobOperator .start(job.getName() , "id=" + jobInfo.getId()) ; } return "batch is started" ; } '
-기존 질문입니다- 예제 코드가 나와있는 사이트에 접속은 했는데 파이썬이나 다른 어떠한 프로그램 언어도 사용해본 경험이 없어서 그런지 예제 파일을 어떻게 활용해야하고.. 강의를 통해 배운 내용을 어떻게 활용해서 공부해야 할지 감을 못 잡겠습니다.. 예제 파일이 이런식으로 나오던데 이게 뜻하는게 무엇인가요 ..? 제가 아무것도 쓰여지지 않은 백지에 예제 파일과 똑같이 작성 할 수 있을 때 까지 연습을 해야 하는걸까요? -새로운 질문입니다- 소위 말하는 코딩 테스트라는것을 직접 해본적은 없지만, 실무에 사용할 수 있는 연습 문제가 wikibook 링크를 타고 들어간 사이트(위에 캡쳐 사진이 있는 사이트)에 있는건가요? 그게 아니면 혹시 제가 위에 캡쳐하여 문의드린 파일이 선생님 강의에서 PerfectGuide/ 1장/ 1.3 넘파이.ipynb 를 주피터 노트북으로 실행한것과 같은 파일인 걸까요? 제가 교재와 선생님 강의에서 들은 내용을 잘 이해 했는지, 문제를 풀면서 확인 해보고 싶은데 시험문제랄까요..? 그런 스타일의 연습 문제 자료가 수강생에게 제공되는지 알고싶습니다. 추가로 답변 달아주신 내용도 확인해보았습니다. 이쪽 분야를 공부하는게 처음이다보니 많은것이 생소하고 어떤것을 먼저 공부해야할지 감이 잘 안 오는것 같습니다.. 선생님 강의도 파이썬 입문자를 위한 강의던데 혹시 추천해주실 만한 파이썬 기초 강의가 있을까요? 유튜브라도 추천해주시면 정말 감사히 참고할 수 있을것 같습니다..
e2e 테스트는 꼭 한 파일에 작성해야하나요? api endpoint가 몇 개 없으면 큰 문제가 없을 것 같은데요. 하나의 서버에서 제공하는 모든 API를 하나의 e2e 테스트 파일에서 테스트하면 한 파일에 엄청 많은 e2e 테스트가 생길 것 같습니다. 이는 원하는 테스트 코드를 찾기도 힘들 것 같다는 생각이 들었습니다. 그래서 저는 여러개의 파일로 나눠서 e2e test를 작성해서 실험해봤었는데요. typeorm에서 데드락 에러를 내더라구요. 여러 e2e 테스트 파일에서 아래의 이미지와 같은 app init을 여러번하면서 생긴 에러라고 저는 추측하고 있습니다. 현업에서 어떻게 사용하고 계신지 팁 좀 주실 수 있으실까요? beforeAll ( async () => { const module : TestingModule = await Test. createTestingModule ({ imports : [App Module ] , }) app = module . createNestApplication () ; bannersRepository = module . get < Repository < Banner >>( getRepositoryToken ( Banner ) , ) ; await app . init () ; })
e2e 테스트는 꼭 한 파일에 작성해야하나요? api endpoint가 몇 개 없으면 큰 문제가 없을 것 같은데요. 하나의 서버에서 제공하는 모든 API를 하나의 e2e 테스트 파일에서 테스트하면 한 파일에 엄청 많은 e2e 테스트가 생길 것 같습니다. 이는 원하는 테스트 코드를 찾기도 힘들 것 같다는 생각이 들었습니다. 그래서 저는 여러개의 파일로 나눠서 e2e test를 작성해서 실험해봤었는데요. typeorm에서 데드락 에러를 내더라구요. 여러 e2e 테스트 파일에서 아래의 이미지와 같은 app init을 여러번하면서 생긴 에러라고 저는 추측하고 있습니다. 현업에서 어떻게 사용하고 계신지 팁 좀 주실 수 있으실까요? beforeAll ( async () => { const module : TestingModule = await Test. createTestingModule ({ imports : [App Module ] , }) app = module . createNestApplication () ; bannersRepository = module . get < Repository < Banner >>( getRepositoryToken ( Banner ) , ) ; await app . init () ; })
안녕하세요 강사님. 세가지 질문 있습니다. 1. class를 만들때, class명을 대문자로 쓰잖아요. 예) class Car , class Persion 근데 왜 내장 클래스들 str 은 class 인데 이름이 소문자 인가요? class str 로 되어 있던데 2. s = str () print (s) 위 소스에서 str()에 포커스를 가져다 놓으면 아래 처럼 나옵니다. class str 이라고요. ==나오는 내용== builtins class str(Sequence[str]) str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'. 근데 정작 파이참에서 ctrl+click 하면 정의 부분인 class str의 __init__(self) 로 가지 않고 buitins.py 로 가는 이유는 먼가요? 읽어 주셔서 감사합니다.
webapp 폴더 추가 후 index.html 을 생성 후 서버를 기동시키고 접속하였을 때 Whitelabel Error Page 가 발생 할 경우 입니다. Intellij 에서 빈 모듈( spring-mvc ) 생성 후 빈 모듈 안에서 새로운 모듈( servlet )을 생성하였을 경우 index.html 에 접속이 되지 않는 것 같습니다. 실행 후 Tomcat 의 로그에서도 WelcomePage 관련 로그가 출력되지 않았으며 http://localhost:8080 과 http:localhost:8080/index.html 에 접속할 수 없었습니다. 이후 프로젝트를 종료하고 빈 모듈( spring-mvc )이 아닌 빈 모듈 안에서 생성한 새로운 모듈( servlet )의 build.gradle 을 통해 프로젝트를 새로 연 후 서버를 기동하면 WelcomePage 관련 로그가 출력 되며 http://localhost:8080 에 문제없이 index.html 에 접속할 수 있었습니다. 원인은 아직 잘 모르겠지만 멀티 모듈 또는 빈 모듈에서 새로운 모듈을 생성한 경우 Intellij 에서 webapp 을 찾지 못하는것 같습니다.
강의 한 편 한 편 볼때마다 지식이 업그레이드 되는 기분입니다. 좋은 강의 항상 감사드립니다~! 다름이 아니라 Operation의 순서기능 중 Operation에서 이전 작업의 결과물을 받기 위해선 프로토콜을 채택 혹은 작업물을 넘기는 Operation을 만들어야 한다고 말씀해주셨는데 그냥 outputImage를 직접 가져오는 것으로 해도되지 않을까요? 아래의 방법입니다! class TiltShiftOperation: Operation { var inputImage: UIImage? var outputImage: UIImage? override func main() { if inputImage == .none, // 인풋이미지가 없으면, let dependencyImageProvider = dependencies .filter({ $0 is ImageLoadOperation}) .first as? ImageLoadOperation { // 프로토콜이 아닌 직접적으로 Operation꺼내기 inputImage = dependencyImageProvider.outputImage } // 실제 작업 outputImage = tiltShift(image: inputImage) } } 이 방법의 문제는 뭐가 있을까요? 재사용성의 의미에서는 확실히 Protocol을 이용한 타입 캐스팅이 좋지만 그것 말고 프로토콜 채택으로 가져가는 또다른 장점이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 회원정보 조회 시 입력한 리시트가 제대로 나오지 않습니다. 코드 깃허브 : https://github.com/cloudwi/spring_study 위의 코드인대 오류는 없지만 제대로 작동 하지 않습니다.!!
분명히 그대로 코드를 작성한 것 같은데 이상하게 NullReferenceException: Object reference not set to an instance of an object Managers.get_Resource () (at Assets/Scripts/Managers/Managers.cs:13) PrefabTest.Start () (at Assets/Scripts/PrefabTest.cs:11) 라는 오류를 뱉어내면서 실행해보면 탱크를 안 뱉어내네요... 제 잘못이겠지만 도저히 비교해서 봐도 알 수가 없네요... 구글에 오류 내용을 검색해봐도 뭐가 null 값이 됐다는 건지... 아래는 순서대로 매니저, 리소스매니저, 프리팹테스트, 유니티 캡쳐본입니다. 유니티는 2020.3.30f1 버전입니다.
선생님 강의 잘 보고 있어요~ 그런데 궁금한 점이 있어서 질문드립니다. PK를 id가 아닌 member_id 라는 이름으로 주는게 DBA에게 맞추는거라고 하셨었는데요 (사실 어디서 그 말씀을 하셨는지는 잘 기억이 안납니다 ㅠ) 이유를 알 수 있을까요? 개인적인 생각으론 member.member_id 라고 쓸수도 있어서 오히려 안좋은 방법일 수도 있다는 생각이 들어서요~ 또, DBA를 고려하는 네이밍룰에 대해서 조사중인데 어떤 네이밍룰을 쓰면 DBA를 고려하는 좋은 네이밍룰이라 할 수 있을까요?
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
강의를 보고 똑같이 따라해도 None으로 출력이되어 구글링 하여 알아본 결과 잘 실행되어서 다른 분들도 보시라고 올립니다. http GET http://localhost:8080/login user_name==dave pw==1111 email_address==korea@naver.com 이런식으로 & 나 \ 를 작성하지 않고 하시면 제대로 작동합니다