Chrome always shows the Bookmarks Bar in a new tab — overriding any user toggle or shortcut.
| Method | Why it fails |
|---|
I have reviewed the following documentation in the AdGuard public Knowledge Base: https://adguard.com/kb
I have not yet reviewed the AdGuard DNS KB. However, I previously attempted to contribute to the List-KR repository by blocking KakaoTalk in-app advertising domains:
I started building small web tools as a hobby to improve usability issues I personally experienced while using university web services. Many of these projects began as minimal solutions and evolved through real usage and long-term maintenance.
| #include <Fuzzy.h> // Please install eFLL (Embedded Fuzzy Logic Library) from https://github.com/alvesoaj/eFLL | |
| // Fuzzy | |
| Fuzzy *fuzzy = new Fuzzy(); | |
| // FuzzyInput Temperature | |
| FuzzySet *VeryCold = new FuzzySet(0, 0, 10, 20); | |
| FuzzySet *Cold = new FuzzySet(10, 20, 20, 30); | |
| FuzzySet *Good = new FuzzySet(20, 30, 30, 40); | |
| FuzzySet *Hot = new FuzzySet(30, 40, 50, 50); |
Senior Computer Engineering student graduating in Feb 2026, with three years of hands-on frontend engineering experience across multiple startups.
I joined as a contract frontend engineer three months before the launch of
| [InternetShortcut] | |
| URL=data:text/html,<input type="color" onchange="document.bgColor=this.value"> |
아래 인용 아티클의 영상 버전 및
nvshare데모: https://youtu.be/9n-5sc5AICY
I've written a Medium article on the challenges of GPU sharing on Kubernetes, it's worth a read.[^medium]
| // ==UserScript== | |
| // @name JejuAir login button active for Firefox | |
| // @version 1 | |
| // @grant none | |
| // @match https://www.jejuair.net/ko/member/auth/login.do* | |
| // @run-at document-end | |
| // ==/UserScript== | |
| const button = document.querySelector(".button-wrap.button-wrap--login button"); | |
| button.className = "button button--primary login button--active" |
| export default function pathResolve(...paths: string[]) { | |
| const parsedPaths = paths.flatMap((path) => path.split('/')).filter(Boolean); | |
| const resolvedPaths = parsedPaths.reduce((previousValue, path) => { | |
| if (path === '..') { | |
| previousValue.pop(); | |
| } else { | |
| previousValue.push(path); | |
| } |
| type A = ['-', ...number[]] | |
| let a = ['-', 1, 2, 3, 4] satisfies A | |
| // You can type check in playground: | |
| // https://www.typescriptlang.org/play?#code/C4TwDgpgBAglC8UDaByAtCgNFAdHgdgK4C2ARhAE5IC61AUHQDYTBQCGCy6WUAjNgCZsAZmwAWalADObYAEspAMzkQpsOkA |