Project2021 22

2021_07_04) 채팅 오류(하나의 컨트롤러에서 insert와 insert한 데이터 select)

Error 채팅방 추가할 시 해당 date를 elastic에서 받아오지 못함. 그래서 채팅방 추가 할 시 오류가 나면서 sidebar와 채팅방 자체가 뜨지 않음 문제 항상 생성한 방의 date만 받아오지 못함. 연결수립을 요청하면 이전데이터는 잘 받아오는데 해당 데이터는 받아오지 못함. 가설 채팅방 생성 시 elastic에 insert를 하는데 insert와 거의 동시에 select 전송이 가버려서 반응이 느림. 현재는 가능성이 가장 높아 보임 이유는 debug 모드로 실행시켰을 시 데이터가 잘 받아와짐. 문제가 전혀 보이지 않음. 그래서 select를 일으키는 시간을 조금 미뤄보기로 함. try { Thread.sleep(500); currentChat = service.getMessageListbyC..

Project2021 2021.07.04

2021_07_02) RESTful API?.

REST / RESTful api란? 분명 프로젝트에 rest api를 적용하고 사용했는데도 rest api의 개념에 대해 잘 모른다는 생각이 들어 이리저리 검색을 해 보았습니다. 이 글은 출처 링크에 걸려있는 해당 페이지를 그냥 보기 좋게 조금 수중한 것 뿐이니(많이 생략하였습니다) 자세한 내용을 보시길 원하시는 분들은 아래의 출처 링크를 타시는 것이 더욱 도움이 될 듯 합니다. 기본 개념 REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resour..

Project2021 2021.07.02

2021_07_01) 통합검색 한글 깨짐현상.

배포 이후 한글 깨짐 현상. why? 개발 환경은 mac (기본 encoding이 utf-8) 그러나 실제 배포는 window(euc-kr) Solution String text = getRequestApiGet(url); // return text return new String(text.getBytes(),"UTF-8"); 기존의 return text를 utf-8로 한번 변환 시킴. faile → 깨짐현상이 조금 줄어들긴 했지만 여전히 깨짐. Solution 2 //BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); BufferedReader in = new BufferedReader( new Inpu..

Project2021 2021.07.01

[Git] github 라이센스 추가하기

생각해보니 현재 팀 프로젝트 이외의 프로젝트에서는 라이센스를 추가해 본 적이 없는 듯 해서 한번 추가해 보았습니다. Way Repository repository 생성 시 하단에 Choose a license로 바로 추가할 수 있습니다. Create New file 만들고자 하는 repository에서 우측 Add file의 Create new file을 선택합니다. 해당 페이지에서 repository 뒤에 License를 작성해 주면 두번째 img와 같이 choose a license template이라는 버튼이 생성됩니다. 그러면 이렇게 License들을 선택할 수 있고 우측에는 관련된 간략한 정보들을 입력할 수 있습니다. Review and submit 버튼을 누르게 되면 이렇게 License가 작..

Project2021 2021.06.16

[javascript] ajax로 form data 보내기

form_data를 restAPI의 put으로 ajax를 사용해서 값을 보내려고 하는 과정에서 겪은 문제들을 기록하겠습니다. 우선 controller에 post 방식으로 요청을 시도했을 때 multipart/form-data 값을 잘 받아오는지 확인해 보겠습니다.http Profile picture Edit javascriptvar imageSelect = $("#upload_image").on("change", function(){ var formdata = $("#profile_imageForm")[0]; var form_data = new FormData(formdata); $.ajax({ url : getContextPath()+"/restapi/member/members/member" , typ..

Project2021 2021.06.12

[jUnit] junit 생성시 기본 경로 이상하게 잡히는 현상.

Errorjunit 생성 시 기본 경로가 test/java가 아니라 test/resources로 잡히는 현상classPath가 제대로 잡히지 않아서? Build Pathproperties에 들어가서 java build Path의 Order and Export를 클릭합니다.우선순위를 이렇게 변경해 줍니다. apply and close 버튼을 클릭 junit 생성 시 기본 경로 역시 잘 잡힘. Summaryjunit 생성 시 기본 경로 오류.(test/java → test/resources)why?github에 올릴때 빈 폴더는 사라짐.그 사라진 빈 폴더를 eclipse에서 새로 생성해 주면서 classPath가 후순위 로 밀려버림.그래서 수동으로 다시 순위를 올려줌. ExtraJunit Case와 Suit..

Project2021 2021.06.12

[git]Enter passphase for ... /.ssh/id_rsa

git clone을 따로 안해본지 오래되었습니다. 이번 프로젝트에 화상채팅 및 실시간 채팅을 websocket 말고 webRtc를 사용해 보기로 했습니다.그래서 관련 정보를 검색하는 도중 예제 파일이 github에 올려져 있어서오랜만에 local에 git clone을 하게 되었습니다. 그런데 이게 웬걸? 이렇게 github에 등록한 .ssh에 대한 passphrase를 입력하라고 나왔습니다.예전에 등록했던 것이라 passphrase가 기억이 나질 않더군요. 그래서 관련된 자료를 검색해 보았습니다. github 공식 사이트로 해당 정보들이 적어져 있습니다.(OS에 따라 찾는 방법 역시 잘 설명되어 있습니다.)https://docs.github.com/en/github/authenticating-to-git..

Project2021 2021.06.11

[bootstrap] Tooltip(hover) 사용하기

공식 사이트 document https://getbootstrap.com/docs/4.1/components/tooltips/ 아래의 설명과 같이 Popper.js를 따로 하시려면 bootstrap.js 전에 사용하면 됩니다. 혹은 그냥 bootstrap.bundle.min.js 를 사용하면 됩니다. 그 후 공식 홈에 나와있는 바와 같이 html script 이렇게 사용하면 됩니다. 저는 이렇게 사용해서 비동기 요청으로 화면 전환을 시도했습니다. html javascript 페이지 로딩시 ajax로 데이터 쏴주기 tooltip 실제로 작동 시키기. 클릭 시 페이지 비동기로 전환시키기. moPageHistoryMember()의 경우 function으로 따로 준 녀석입니다. 비동기로 페이지가 전환되기 때문에..

Project2021 2021.06.10

[Spring] (mybatis-spring) @Repository로 proxy자동생성.

프로젝트를 하던 중 문득 MemberDao에 대한 의문이 들었습니다.Spring에서 interface로 Inject를 받게 된다면 @Component와 같은 어노테이션으로 등록된 빈들에 대해 클래스를 검색합니다.그런데 아래의 이미지와 같이 MemberDao는 interface이면서 따로 bean에 등록된 구현체 클래스가 존재하지 않습니다.그래서 궁금함에 이리저리 살펴보다가 결국 질문해서 답을 얻게 되었습니다. 아래와 같이 bean에 해당 dao에 @Repository라고 등록한 녀석들에 한해서 mybatis-spring이 내부적으로 등록된 xml들의 namespace들을 검색 후 같은 이름을 가진 녀석들에게 proxymapper를 생성해 줍니다.이러한 과정을 거쳐서 MemberDao 구현체가 존재하지 않..

Project2021 2021.06.09
728x90
반응형