스프링기반 resp api 개발의 ”스프링 시큐리티 OAuth2 인증 서버 설정” 7분 47초 부분입니다. 개인적으로 제PC에서 postgresql 보다 Oracle이 설치되어 있어 테스트를 했는데, TDD로 했을때는 정상적으로 토콘이 발급이 되는데..(OK) postman이나 curl 등 다른것으로 했을 때는 권한이 없다고 에러가 납니다. 2019-01-26 11:28:11.276 DEBUG 20296 — [nio-8080-exec-3] o.s.s.w.a.ExceptionTranslationFilter : Access is denied (user is anonymous); redirecting to authentication entry point 테스트할때와 그냥 실행할때와 다릅니다. *** 원 기존의 소스에서 수정하여 테스트한부분이 oracle db로 바꾸었을 뿐입니다. (처음에는 account,event, token 까지 모두 oracle 쪽을 접속하여 했는데, 계속 같은 에러가 나오길래 , token 쪽은 현소스 그래도 inmemory 에 가르키게 했고, 바뀐 부분은 test 및 실행시에 account, event 테이블이 oracle로 가르키게 바뀐부분입니다.) 제가 PostgreSQL로 테스트하지 않았지만.. 동일한것 같아서요.. TDD와 web혹은 다른툴(postman)에서 실행했을때 왜 다른지 궁금하여 질문을 드리게 되었습니다. *소스는 git에서 받은걸로 사용하였습니다. 초기에 자동으로 table을 자동실행했으나, 그 이후에는 생성옵션 없이 사용하였고, account, account_roles 계정에 user, admin 각각 테이터가 존재하는 일반적인 상황 입니다. 감사합니다.
join과 특정 문자를 이용해 encoding_sentence를 띄어쓰기를 고려해서 메인 함수를 검토하기위해서 -----을 돌렸는데 아래와 같은 값이 나왔습니다. join할때 str를 문자로 바꾸어야된다는 말 같은데... 해결책이 있을까요? """ TypeError Traceback (most recent call last) in 23 24 if __name__ == "__main__": ---> 25 main() in main() 12 print(decoding_sentence(user_input)) 13 elif is_validated_english_sentence(user_input): ---> 14 print(encoding_sentence(user_input)) 15 elif user_input is "0": 16 print("Good Bye") in encoding_sentence(english_sentence) 29 result.append("T") 30 ---> 31 result = ' '.join(result) 32 result = result.replace("T","").strip() 33 TypeError: sequence item 0: expected str instance, NoneType found """
리스트 관련 강의를 듣다 모르는 점이 있어서 문의 드립니다 list_a=[3,2,1,4] list_b=list_a.sort print(list_a,list_b)라고 명령을 했을때 왜 list_b는 None이 뜨는 것이며 list_a는 갑자기 왜 정렬되는 건지 모르겠습니다. sort가 return이 없는 함수라서 이미 a를 정렬했기 때문에 list_a는 [1,2,3,4]라고 나온다고 치면, 왜 list_b는 None으로 나오는지 이해가 안됩니다. 답변 부탁드립니다
스프링 프로젝트들을보면 패키지명을 controller, dto, repository 이런단위로 만들고 관련클래스 파일을 모아놓는식으로 사용하는걸 많이 봤는데요, 강좌에서는 events, accounts 도메인(?) 단위로 만드셨잖아요. 현업에서도 이렇게 사용을 많이 할까요? 이렇게 구성시는 이유? 좋은점은 뭘까요?
'''def delete_a_list_element(list_data, element_value):''' '''result = []''' '''for i in range(len(list_data)):''' '''if not list_data[i] in element_value:''' '''result.append(list_data[i])''' '''if len(result) == 0:''' '''result.append(0)''' '''return result''' 이런 식으로 코드를 작성 했는데 테스트를 해보면 출력은 맞게 잘 되는데 과재를 재출하면 틀렸다고 뜨는데 이유를 알수있을까요..?
한번더 질문 드립니다. import sys import io import urllib.request as dw from urllib.parse import urlencode sys.stdout=io.TextIOWrapper(sys.stdout.detach(),encoding=’utf-8′) sys.stderr=io.TextIOWrapper(sys.stderr.detach(),encoding=’utf-8′) N_bannerUrl1=" https://nv.veta.naver.com/fxshow " value1={ ‘su’:’SU10079′ } value2={ ‘calp’:’1′ } value3={ ‘nrefreshx’:’1′ } param1=urlencode(value1) param2=urlencode(value2) param3=urlencode(value3) Naver_bannerUrl1=N_bannerUrl1+’?’+param1+’&’+param2+’&’+param3 print(Naver_bannerUrl1) savePath1="d:/Web crowling study/section2/naver_banner1.jpg" reqData1=dw.urlopen(Naver_bannerUrl1).read() with open(savePath1,’wb’) as savefile1: savefile1.write(reqData1) Naver_bannerUrl2=" https://ssl.pstatic.net/tveta/libs/1226/1226129/0744cf34170d945cfd3f_20190118132726901.jpg " savePath2="d:/Web crowling study/section2/naver_banner2.jpg" reqData2=dw.urlopen(N_bannerUrl2).read() with open(savePath2,’wb’) as savefile2: savefile2.write(reqData2) print("다운로드완료!") 서버측에서 변경되는 타이밍에 가져와서 빈 이미지 파일이 생성되는것 같다고 하셨는데 위 코드에서 네이버 왼쪽 베너 즉 Naver_bannerUrl1 경우에 직접jpg Url이 아닌 상위 url을 이용해서 왼쪽베너가 갱신되면 , 코드를 실행하였을 때 갱신된 이미지를 저장할 것이라고 생각했습니다. 왼쪽 베너는 브라우저를 보고있을 때 갱신 속도가 아주 느려서 같은 이미지가 왼쪽 베너에 오래동안 유지됩니다. 이럴경우는 우연히 서버측에서 변경되는 타이밍에 가져와서 그런것은 아니지 않나요? 이미지가 변경되는 타이밍에 저장이되서 그렇다면 이미지 갱신주기가 매우 짧아서 그 주기와 저장시기가 맞아야 하는것이라고 생각이들어서 다시 여쭤봅니다. 또 섹션 2에서 selenium 수업이 없는것 같습니다. beautifulsoup 강의는 있습니다.
''' java.lang.AssertionError: Expecting an empty Optional but was containing value: com.sj.datajpa.account.Account@cd6c6a5b . at com.sj.datajpa.account.AccountRepositoryTest.di(AccountRepositoryTest.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) '''