Giter VIP home page Giter VIP logo

back-end's People

Contributors

bongsh0112 avatar donsonioc2010 avatar kwchoi11 avatar lgsok00 avatar lljh1992 avatar wooni89 avatar

back-end's Issues

[FIX] 유저 정보 업데이트 이슈

마이페이지에서 유저 정보를 업데이트 할 때
패스워드 칸에 키 입력을 하지 않고 닉네임만 바꿔서
수정을 누르면 변경이 막히지만
패스워드 칸에 입력을 했다가 지워서 빈칸으로 만들고
닉네임을 바꿔서 수정을 누르면 변경이 됨

[FEATURE] 검색 기능 구현

📝 Summary

NCP Search Engine Service를 이용하여 검색 기능을 구현합니다.

✅ TODO

  • 와이어 프레임을 기반으로 하여 검색 기능을 구현합니다.
  • NCP의 Search Engine Service를 이용합니다.
  • 서비스의 기능에 따라 관련 검색어, 검색 결과 등을 4개의 언어로 모두 나타내야 합니다.

📚 Remarks

[CHORE] Dockerfile 변경

🤖 Dockerfile 변경

  • jenkins 명령어로 환경변수 집어넣어줄 예정
  • NaverObjectStorage, MailUtil 관련 환경변수 수정사항 반영해야함
  • k8s 오토스케일링 작업 시 변경 예정

공지사항 이슈

어드민으로 로그인을 해도 어드민 전용 버튼이 렌더링 안 됨.
글 작성도 안 됨.
role이 undefined로 넘어옴.

[ISSUE, BUG] 타국어로 텍스트 입력시 Html 번역 이슈

📝 Summary

한국 -> 모든언어 가능
그외 언어로 입력시 번역불가

text 번역은 모든 언어에서 가능
Html은 CN <-> EN의 상호 번역이 불가능
=> PapagoTestController에서 확인 가능

image image

add(translateService.naverPapagoHtmlTranslate(LanguageType.CN, LanguageType.EN, "<div>你好,我是帕帕戈。</div>"));
add(translateService.naverPapagoHtmlTranslate(LanguageType.EN, LanguageType.CN, "<div>Hello, I'm Papago.</div>"));

얘네 둘이 문제임

🖌️ Rule

⚠️ 현재 상황
HTML Translate 일때 EN <-> CN의 경우만 아니라면 다이렉트하게 번역이 가능.
따라서 이 경우만 제외한 다른 상호번역은 현재 코드로도 사용이 가능함.

  • source 언어가 CN 혹은 EN이라면, CN <-> EN 상호 번역 통신의 우선순위를 마지막으로 밀어버리고 먼저 KO로 번역 된 결과물을 Source 언어로 대체 사용하여 CN(Source 언어가 EN일때) 혹은 EN(Source 언어가 CN일때)으로 번역되도록 한다.
  • 이런 방식을 쓸 시, CN -> KO -> EN 혹은 EN -> KO -> CN과 같은 이중 통신이 이루어지지 않을 것이다.

EX) 방법을 사용할 때와 사용하지 않을 때의 비교 CN -> EN의 경우

  • 사용 시 : CN -> KO / CN -> JP / KO(CN -> KO에서 도출된 값) -> EN => CN -> KO, JP, EN 모두 도출 가능. 통신 단 3번
  • 미사용 시 : CN -> KO / CN -> JP / CN -> KO -> EN => CN - > KO, JP, EN 모두 도출이 가능하지만 통신은 4번

📚 Remarks

✅ 현재 TranslateService에 구현되어있는 API 통신 함수를 Article, Reply, Notice에서 모두 사용중

Article, Notice Create 시 (Reply는 우리 서비스 특성상 html 번역이 필요없다!)

  • List<~~Content>를 반환하는 TranslateService 안의 함수를 쓸 수 있도록 TranslateService 를 주입받고 메소드 사용
  • 물론 이 메소드 안에서 OrgLanguage를 고려한 조건부 번역이 모두 이루어져야 함
  • 이 때 saveAll(List<~~Content> list)@Transactional 불필요.

Article, Notice Update 시 (Reply는 우리 서비스 특성상 html 번역이 필요없다!)

  • List<~~Content>를 반환하는 TranslateService 안의 함수를 쓸 수 있도록 TranslateService 를 주입받고 메소드 사용
  • 물론 이 메소드 안에서 OrgLanguage를 고려한 조건부 번역이 모두 이루어져야 함
  • 이 때 create와는 다르게 Update는 Dirty Checking 으로 변경 감지가 이루어짐.
  • 따라서 @Transactional(propagation)을 이용해서 트랜잭션을 전파해주어야 할듯
  • 트랜잭션 전파는 호출한 함수에서 일어나야 한다. 호출한 함수는 Article, Reply, Notice에서 TranslateService를 사용하는 함수들로 예상된다.

[FEATURE] 소셜 로그인 구현

🤖 기능 개요

소셜 로그인 구현 - 카카오, 구글 (+ 라인)

✅ Implement TODO

  • 인터페이스 구현하여 enum으로 소셜 로그인 방식 구별
  • 카카오 먼저 구현
  • 이후 구글, 라인..

📚 Remarks

[FEATURE] 공지사항 작업

🤖 기능 개요

관리자 페이지를 구현합니다.

✅ Implement TODO

  • [] 권한에 따른 페이지 설정

📚 Remarks

[REFACTOR] Papago API 통신 Method Pool로 리팩토링

📝 Summary

Papago API 통신의 RestTemplate을 리팩토링합니다.

✅ TODO

  • 현재 RestTemplate을 사용하여 API 통신을 함
  • Papago API 사용 요청이 들어올 시 미리 등록해놓은 Bean을 이용하여 더 빠른 요청 처리가 가능하도록 리팩토링(Method Pool)

📚 Remarks

  • TranslateService에서 쓰고있던 RestTemplate을 따로 클래스로 빼고 Bean으로 등록하여 스프링에서 관리하도록 하고, 그렇게 하여 그 메소드에 대한 쓰레드를 계속해서 가져다 쓸 수 있게 한다

[FEATURE] React-quil Editor

React quil Editor 이미지 업로드 기능 구현

✅ Implement TODO
[ ] 이미지 업로드 기능 구현
📚 Remarks

[FEATURE] 게시판 좋아요 기능 구현

✅ Implement TODO

  • ArticleId가 주어졌을 때 좋아요를 하였는지 확인가능한 기능
  • 게시물의 좋아요 버튼을 누를 시, Article의 likeCnt 카운트 증가 및 CountTable Row추가
  • 게시물 삭제 클릭시, Count Table의 Row삭제 및 likeCnt카운트 감소

📚 Remarks

[FEATURE] Security Login 구현

🤖 기능 개요

로그인 기능을 구현합니다.

✅ Implement TODO

  • 권한에 따른 페이지 설정
  • Auth 패키지 Exception 커스텀하기
  • Auth 패키지 Exception Handler에 Advice 추가

📚 Remarks

[FEATURE] 마이페이지 기능 구현

마이페이지 기능 구현

✅ Implement TODO

  • 내가 쓴 댓글/게시글, 좋아요 누른 글 카테고리 분리
  • 유저 정보 업데이트
  • 카테고리 별 페이지네이션

📚 Remarks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.