목록개발 (99)
Joonas' Note
2021.02.06 - 백준 온라인 저지(BOJ) 기능 확장 프로그램 백준 온라인 저지(BOJ) 기능 확장 프로그램 백준 온라인 저지(https://www.acmicpc.net) 사이트의 기능을 보완/확장하는 목적으로 BOJ-Extended를 만들었다. BOJ Extended 백준 온라인 저지(BOJ)를 확장된 기능과 함께 사용해보세요. chrome.google.com 처음.. blog.joonas.io 나만의 기능을 원해서 1월에 작게 개발하고, 2월에 배포하기 시작했던 확장 프로그램이었는데, 다같이 자기가 필요한 기능을 만들어봤으면 좋겠어서 오픈소스로 공개하고 관리한 지 벌써 1년이 지났다. 1.7.7 버전 이후로는 stable한 상태이다. 어느 순간부터 Chrome 정책이 Manifest V3 업데..
/* */ 주석을 이용해서 JavaDoc을 자동으로 만들 수 있는데, @Override 한 함수도 똑같이 적어주는 건 귀찮고 불필요한 일이다. 그때마다 @see {#link ClassABC} 처럼 작성해서 오버라이드한 함수를 직접 링크했는데, 그럴 필요가 없었다. /** * * @author Hari Krishna * * @since 1.0 */ public class ABCOrg { /** * Print welcome message to employee. * * @param empName * Employee Name */ public void welcomeEmployee(String empName) { System.out.println("Hello " + empName); } } public class..
작년쯤에 Devlog에 정리한 적이 있지만, GitBook 에디터의 한글 타이핑 버그가 너무 심각해서 옮길 겸 다시 정리한다. Singleton Pattern - Today Joonas Learned Config 클래스의 생성자를 직접 호출하지 못하도록 하여, 인스턴스가 한번만 생성되도록 한다. 대신 getInstace 등의 함수로 인스턴스를 가져다 쓸 수만 있도록 제한한다. devlog.joonas.io 싱글톤 패턴 싱글턴 패턴은 인스턴스를 하나만 생성하여 사용하는 패턴이다. 개인적으로 가장 쉬우면서 흔하게 볼 수 있는 디자인 패턴이다. 예시 프로그램(또는 어플리케이션)의 설정 클래스가 있다고 치자. 그럼 이것은 프로그램 전체에서 마치 하나의 파일처럼 동작해야할것이다. 특히, 데이터베이스를 사용하는 클..
우연히 발견해서 오랜만에 적어보는 코딩으로 풀어보기 게시글이다. 이번에는 코드 없이 풀어본 풀이도 있다. 문제 문제는 간단하다. 1부터 9까지의 숫자를 한 번씩만 사용해서, 수식이 올바르도록 비어있는 9개의 칸을 채우는 문제이다. 코딩 풀이 숫자를 한 번씩만 사용한다는 조건때문에, 전체 경우의 수를 탐색하면 \(9! = 362,880\)개 밖에 안된다. 그래서 모든 경우를 전탐색해도 여유롭게 풀만하다. 답을 찾는 데 10ms도 안 걸릴 것 같다. 코드 import itertools numbers = [i for i in range(1, 10)] count = 0 for p in itertools.permutations(numbers): a1, a2, a3 = p[:3] a4 = p[3] * 10 + p[..
반응형이면서 심플했던 티스토리 기본형 #2를 사용하고 있었다. 오랫동안 사용했는데, 갑자기 몇 가지 고치고 싶은 부분이 생겼다. 왼쪽에 블로그 제목이 너무 큰 부분을 차지하고 있어서, 글에 집중할 수 있는 스킨으로 변경했다. 글 목록 변경 전 변경 후 검색 아이콘도 오른쪽으로 옮겼다. 사이드 바 펼치기 변경 전 변경 후 게시글 옆에 자동 목차 최근에 만들어지는 블로그 플랫폼에서는 목차를 자동으로 생성해주는 기능들이 있다. 간단히 만들어서 적용했다. 클릭하면 해당 제목으로 연결되는 것 까지 구현 완료. 변경 전 변경 후
vscode의 확장 프로그램(extension)은 javascript 베이스이기 때문에, javascript/ES6/Typescript 로 개발해야한다. (vscode가 electron 프레임워크로 개발한 웹 애플리케이션이기 때문에 그럴 것이라고 추측한다) 간단하게 작성하기에는 package.json 이라던 지 node 세팅이라던 지 귀찮은 환경 세팅들이 많아서 python으로 만들 수 없는 지 찾다가 이런 프로젝트를 찾았다. GitHub - CodeWithSwastik/vscode-ext: Create VSCode Extensions with python Create VSCode Extensions with python. Contribute to CodeWithSwastik/vscode-ext deve..
VSCode에서 터미널로 git bash를 열어 git pull 등의 원격지와의 통신을 할 때, 올바른 username과 password를 입력해도 로그인에 실패하거나 private repo를 못 찾는 경우가 있었다. SSH 설정도 문제가 아니었고, 2-factor auth도 문제가 아니었다. GitHub의 token 문제도 아니었다. VSCode가 아닌 git bash 터미널을 별도로 직접 실행하면 해결되었다.
localStorage에 저장해야하는 기능이 필요해서 redux-persist를 사용하고 있었다. 하지만 모든 reducer가 localStorage에 저장되어야 하는 것은 아니었기 때문에, 분리하여 관리하고 싶었다. 즉, 일부는 localStorage를 store로, 일부는 redux에서 생성한 store를 사용하는 것이다. Context API를 쓰기에는 Provider를 추가하고 다른 곳에서 쓸 수 있게 작업하는 것도 필요해서 꼭 이렇게까지 해야할까 생각하고 있었는데, 후배가 문서의 nested-persists를 읽어보니 설정을 reducer마다 구분하여 지정할 수 있다고 하였다. https://www.npmjs.com/package/redux-persist#nested-persists redux-..