분류 전체보기 85

tailwind만으로 드롭다운 / 최소화 구현하기

...tailwind 만으로 되는 건 아니고, 자바스크립트를 조금 써야 합니다. 하지만 들어보세요. 핵심 개념은 창의 루트 요소에 minimized 클래스를 추가하고 그 클래스를 찾는 것이다. - Content group-[.특정클래스]: 접두어를 사용하면 group이 그 클래스를 가지고 있는지를 확인할 수 있다. document.querySelector(".minimize") .onClick = () => { this.parentElement.classList.toggle("minimized"); } 뭐 그 다음에 대강 이런 함수를 써서 클래스를 추가하고 없애고 하면 된다. 출처 https://stackoverflow.com/questions/66349609

카테고리 없음 2024.01.09

npm 패키지를 만들었다.

regexp-misc - npm (npmjs.com) regexp-misc my misc tools with regexp. Latest version: 1.1.0, last published: 22 minutes ago. Start using regexp-misc in your project by running `npm i regexp-misc`. There are no other projects in the npm registry using regexp-misc. www.npmjs.com 리액트를 쓰다 보니까 정규식으로 switch-case를 하고 싶을 때라던가, string과 정규식을 나눠서 split 하고 싶다던가 할 때가 많이 생겨서 만들었다. hyuckkim/regexp-misc (github...

카테고리 없음 2023.12.14

C/C++ Windows 특정 프로그램 실행하고 그 프로그램을 원하는 위치에 배치하기

바로가기에 이 프로그램을 입력해서, 바로가기 A를 누르면 왼쪽에, 바로가기 B를 누르면 오른쪽에 프로그램이 켜지게 만들고 싶었다. 핵심은 프로그램이 켜지게 하는 것과 특정 위치로 이동시키는 것이다. 프로그램이 켜지게 하기 #include ... STARTUPINFOA si; PROCESS_INFORMATION pi; // set the size of the structures ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi)); int c = CreateProcessA(argv[1], NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP, NULL..

카테고리 없음 2023.12.10

React와 척지고 싸우기 - 여러 함수를 몇 초마다 순서대로 실행하기

토이 프로젝트니까 이딴 짓을 하고 있는 거다. 현업 가면 아마 절대 안 할거야... async () => { setState(func1(state)); await waitOneSeconds(); setState(func2(state)); await waitOneSeconds(); setState(func3(state)); } 처음에는, button.onClick에 이런 느낌의 함수를 넣으면 될 거라고 생각했었다. 상태가 바뀌고, 1초 후에 상태가 바뀌고, 1초 후에 상태가 바뀐다. 완벽하다! ...리액트 최적화는 그렇게 간단하지 않았다. async / await 함수라도, 그 함수가 모두 끝난 이후에 state가 반영된다. 심지어, 이 코드는 예상대로 작동하지도 않는다. setState는 맨 마지막에 적..

카테고리 없음 2023.11.27

리눅스 / logitech 키보드에서 fn 키 기본 고정 풀기

Linux mint 21.2 기준이긴 한데 우분투도 될 것 같다. 로지텍은 기본적으로 fn 키가 어쩌고~ 윈도우, 맥은 꺼주는 방법을 지원 어쩌고~ 다른 분들이 충분히 많이 설명해주셨습니다. https://pwr-solaar.github.io/Solaar/ Solaar Linux Device Manager for Logitech Unifying Receivers and Devices. pwr-solaar.github.io solaar 라는 프로그램이다. Unifying을 설정할 수 있다고 한다. sudo apt install solaar 설치가 완료되면, unifying 동글을 빼고 (usb에서 뽑으라는 뜻) solaar를 실행해주면 된다. (이미 꽂혀있는 동글은 권한 문제로 인식을 못한다고 한다!) 실..

카테고리 없음 2023.11.26

타입스크립트 미스터리 - 배열과 key-value 오브젝트

const test = [{a: 1}, {b: 2}] type TestType = {[key: string]: number}[] console.log(test as TestType); 이 코드는 작동하지 않는다. Conversion of type '({ a: number; b?: undefined; } | { b: number; a?: undefined; })[]' to type 'TestType' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Type '{ a: number; b?: undefi..

카테고리 없음 2023.11.26

테스트

역사적 사건은 게임 중에 발생할 수 있는 기념비적인 업적을 말합니다. 역사적 사건은 계획 또는 사용자 상호 작용이 필요하므로 다른 문명에 대한 문화적 영향력을 얻는 역동적인 방법입니다. 다음 역사적 이벤트 중 하나가 완료되면 최근 문화 및 관광 산출을 기반으로 알려진 모든 문명에게 관광 부스트를 받습니다: 위인 획득 세계 불가사의 건설 전쟁 승리 (전쟁 점수 25+) 새 시대 진입 황금기 진입 (미학) / 고대 유적지 발굴 완료 (미학) 주요 문명과 교역 (대상 숙소 등) 주요 문명과 교역 (항만 등) / 도시 국가와 교역 (정책) 이 이벤트에서 받는 관광의 양은 지난 몇 턴 동안의 턴당 문화 및 관광을 기반으로 합니다. 이 값은 제국의 도시 수와 대상 문명의 관광 보정치에 따라 조정됩니다. 마지막으로,..

카테고리 없음 2023.09.24

Edge용 확장 프로그램을 대충 만들었다

나는 작년에 고급 마우스를 샀다. 이 마우스에는 엄지 손가락으로 누를 수 있는 버튼이 두 개 있는데, 브라우저에서는 기본적으로 '앞으로 가기', '뒤로 가기' 버튼이다. 그러니까 브라우징 중 뒤로 가고 싶을 때 창의 왼쪽 위 까지 가지 않고 이 버튼만 누르면 된다! 하지만 모든 문제가 사라진 것은 아니었다. 새 탭을 연다면 다시 문제가 생기게 된다. 새 탭을 열면 탭 화면까지 가서 탭을 닫아줘야 한다. 특히 위키질 할 때 취약했다. 죄다 새 탭으로 열리니까 아예 들어가기 싫어졌다. Create an extension tutorial, part 1 - Microsoft Edge Development | Microsoft Learn Create an extension tutorial, part 1 - Mic..

카테고리 없음 2023.07.24

Jetpack Glance를 간단하게 써 보고.

Jetpack DataStore! (velog.io) Jetpack DataStore! 프로젝트를 진행하다 보면 SharedPreferences의 간편함 덕분에 무지성으로 SP를 사용하곤 했습니다. 그런데 사실 공식문서를 살펴보면 다음과 같은 문구가 적혀있습니다. velog.io Jetpack DataStore에 대한 정보가 필요하면 이 글을 읽으세요. https://www.youtube.com/watch?v=bhrN7yFG0D4 Jetpack Glance에 대한 정보가 필요하면 이 영상을 보세요. 이걸로 실제로 뭘 만든 건 아니고, 정말 기능만 간단하게 써 봤다. 나는 1.0.0-alpha05 버전을 사용했고, 베타 버전으로 업그레이드 해 봤을 때 모든 코드에 빨간 줄이 쳐졌으니, 아마 미래에는 이 글..

카테고리 없음 2023.06.05