분류 전체보기 (31) 썸네일형 리스트형 [React] 다중 폰트 적용 feat. Material Ui 요구사항: 한글은 a 폰트로, 그 외에는 b 폰트로 적용"해줘" 해결방법 요약: unicode range를 사용하여 분기처리 * 사용할 폰트 - 한글: Spoqa Han Sans Neo (오픈소스, 직접 설치, https://spoqa.github.io/spoqa-han-sans/) - 그외: Roboto (npm 다운가능) * create-react-app 으로 프로젝트를 만들었다고 가정 1. 폰트를 다운받는다. (npm, 직접 다운...) # roboto 폰트 다운 npm install @fontsource/roboto 2. 다운받은 폰트를 src 디렉토리안에 font라는 디렉토리를 생성한 뒤, 이동(Spoqa 폰트만) 3. src 디렉토리안에 css 디렉토리도 생성한 뒤, font.css 파일 작성.. Stomp Heartbeat (for Spring) 최근 업무 도중 Stomp 기반 웹소켓을 사용하여 개발할 일이 있었는데, 공유차 기록... 클라이언트와 heartbeat 를 주고 받는데, 에러가 계속 발생하였다. 원인은 물론 내가 잘못 코드를 개발한것이지만, 찾기 힘들어서 몇일 고생하였다. 보통 Spring 을 사용하여 웹소켓 서비스를 개발할때 웹소켓 설정중에, configureClientInboundChannel, configureClientOutboundChannel 설정이 있다. 단순하게 요청의 앞뒤에 인터셉트 기능을 하는 설정인데, Stomp Command를 조회하여, Command별로 기능을 분기하는 역할을 만들었었다. 그런데 Heartbeat 메세지만 오면 에러가 났었는데, 결론부터 말하면 StompCommand와 SimpMessageTyp.. 에러처리 for spring 이전글에서 에러처리를 할때, RuntimeException은 컴파일단에서 에러를 발생시키지 않는다고 했다. 그럼 실제 Custom한 에러들을 발생시킬때는 RuntimeException을 상속받는것이 좋을까? Exception을 상속받는것이 좋을까? 구현방식마다 다르겠지만, 현재 내가 프로젝트에서 에러를 처리할때는 RuntimeException을 상속받아서 만든다. 이유는, 1. 비지니스로직을 구현할때, 일일이 try~catch를 감싸기가 귀찮다. 2. 만약 catch에서의 로직을 변경할 경우 모든 catch를 찾아서 다 바꿔줘야한다. 3. spring에서는 에러처리를 위한 @ControllerAdvice라는 어노테이션이 있다. 이러한 이유로 RuntimeException을 상속받는 클래스를 만들어서, 그.. 에러처리 메소드를 만들때, 호출하는 쪽에서 에러처리를 해야할 경우 throws 란 키워드를 사용한다. 하지만 throws로 던질 에러가 RuntimeException 을 상속받는 에러일 경우 호출하는 쪽에서는 별도로 에러처리를 하지 않아도 컴파일&실행이 정상적으로 된다. public class Test { public void throwsExample1() throws ClassCastException { } public void throwsExample2() throws IOException { } } public class MainClass { public static void main(String[] args) { Test test = new Test(); // 에러처리 안해도 정상 컴파일 test.thro.. Stack 대신에 Deque를 사용하자 여태 stack 자료구조를 사용할 경우, 단순히 Stack 클래스를 구현해서 사용해왔다. 그러나 Stack 클래스는 Vector를 상속하는 클래스인데, Vector 클래스 내부를 보면 대부분 메소드가 synchronized로 선언되어 있다. 대부분의 경우에는 성능 낭비이기 때문에, Deque 구현체인 ArrayDeque를 사용하자. 단, 클래스명대로 Deque는 queue & stack 특성이 둘다 가능하기 때문에, 코드를 작성할때 오타 및 실수를 조심하자! Kotlin 스터디 1일차 kotlin을 예전에 간단히 공부하고 써먹었는데, 다시한번 공부하고 기록을 남길겸 작성한다. 공부는 Kotlin In Action 라는 책과 공식사이트를 참고로 했다. 코드 실행은 intelliJ를 사용. 주 사용처는 서버개발을 위한 언어로 Kotlin 을 도입해보기 위함. 정리는 책을 읽은 순서대로 작성하고, 예제로 작성한 코드에서 패키지는 모두 생략. Kotlin은 기본적으로 jvm위에서 동작 (java 와 혼용에서 사용가능) 보통 Gradle을 사용해서 build하는데, gradle에 코틀린 관련 plugin만 작성해주면 기본적인 사용 가능. 프로젝트를 구성할때, 디렉토리 구조를 java와 같은 방식으로 구조를 짜는걸 추천 (그렇지 않으면, 혼용하거나, 마이그레이션할때 이슈가 생길 수 있음) kot.. LeetCode 5. Longest Palindromic Substring 문제 링크: leetcode.com/problems/longest-palindromic-substring/ Longest Palindromic Substring - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 요약: 가장 긴 Palindromic(앞뒤로 읽어도 같은문자)를 반환하시오. 문제 접근: 단순히 루프를 돌면서 앞뒤 char를 뽑아서 비교했다. class Solution { public String longestPalindrome(String s).. LeetCode 83. Remove Duplicates from Sorted List 문제 링크: leetcode.com/problems/remove-duplicates-from-sorted-list/ Remove Duplicates from Sorted List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 요약: 정렬된 순서로 링크드리스트가 주어질때, 중복된 원소를 뺀 링크드리스트를 반환 하시오. 문제 접근: 정렬되있기 때문에, 바로 직전값이랑만 비교하면 된다. 생각은 쉽지만 코드를 처음 작성할때는 잘 안됬었다. /** * Defin.. 이전 1 2 3 4 다음