Javascript) 웹사이트 혹은 웹 어플리케이션에 단축키 추가하기

최종프로젝트를 진행하며, 막바지에 추가했던 '단축키' 기능입니다. 생각보다 어렵지는 않은데 발표할때 반응은 꽤나 좋았던 걸로 기억합니다. 실제로 싱글페이지로 웹 어플리케이션을 설계 하면서, 그 난이도 상승에 비해 얻은 설계상 이점이 크지 않다고 느꼈지만 반대로 싱글페이지가 아니었으면 추가하지 못했을 기능 중 하나 입니다. ( 뭐 억지로 할라면 했겠지만 싱글페이지가 아니라면 그 의미가 떨어지는 기능입니다) 아이디어와 디자인 단축키 아이디어는 Google Docs와 Figma 에서 얻었습니다. 요즘 왠만한 어플리케이션들은 정말 전부 웹에서 자유자재로 실행할 수 있게끔 세상이 흘러가고 있다고 생각되는데요, 우연히 단축키 기능을 찾게 되었는데 이게 정말 웹 어플리케이션을 사용하고 있다는 사실을 잊..

Programming/javascrlpt 2021.07.04
자바스크립트) 한글 마지막 글자에 따라 로/으로, 을/를 어울리게 출력해주기

저는 한국어가 참 어려운 언어라고 생각합니다. 특히나 우리는 자연스럽게 을/를 , 로/으로 등을 붙여서 사용하지만, 컴퓨터는 그렇지 못합니다. 외국인들도 참 어렵게 느끼는 부분입니다. 위에서 보이는 것 처럼 을/를 로/으로 를 구분하지 못해서 참 어색하게 출력되는 부분이 있습니다. 이 부분을 해결 해 보려고 합니다. 일단 받침이 있는 단어인지 아닌지를 먼저 체크해주는 함수를 만듭니다. // 받침이 있는 문자인지 테스트 해주는 함수 입니다. const isSingleCharacter = function(text) { var strGa = 44032; // 가 var strHih = 55203; // 힣 var lastStrCode = text.charCodeAt(text.length-1); if(lastS..

Programming/javascrlpt 2021.06.18
btoa 혹은 atob 사용해 BASE64 <-> UTF-8 인코딩 할때 한글 깨짐 해결

Intro Github에서 저장소의 readme 파일을 불러와 화면에 렌더링 해 주는 기능을 구현 하고 있는 중, 한글이 깨져버리는 현상이 발생했습니다. 위에서 보이듯, github 에서는 readme 파일을 base64 로 인코딩 해서 보내주는데요, java let decoded = atob(res.content);Copy 이렇게 해서 출력 했더니 한글이 깨지는 현상이 발생 했습니다. https://github.com/dankogai/js-base64 dankogai/js-base64 Base64 implementation for JavaScript. Contribute to dankogai/js-base64 development by creating an account on GitHub. github..

Programming/javascrlpt 2021.06.11
MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기

MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기 VO 객체를 만들어 두고 MyBatis 에서 맵핑을 해서 쓴다면 정말 간편하고 쉬운데요, property 가 적고, 자주 사용하지 않는 객체들도 모두 VO 로 등록하기엔 비 효율적입니다. 마침 팀원분 한 분이 Map 에 맵핑 하는걸 궁금해 하시기도 해서 이번 기회에 Map으로 한번 코드를 작성 해 보았습니다. package best.gaia.project.dao; import java.util.List; import java.util.Map; import org.springframework.stereotype.Repository; @Repository public interface RepositoryDao {..

Programming/JPA ⁄ Spring 2021.06.11
스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기.

스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기. java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) at org.apache.tomcat.u..

Programming/JPA ⁄ Spring 2021.06.11