일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- device in use
- dvh
- react-native-dotenv
- github pdf
- custom printing
- 티스토리 성능
- ffi-napi
- Can't resolve
- vercel git lfs
- nextjs
- silent printing
- camera permission
- Failed to compiled
- adb pair
- ELECTRON
- augmentedDevice
- camera access
- adb connect
- animation
- rolldown
- electron-packager
- Recoil
- Git
- react-native
- Each child in a list should have a unique "key" prop.
- 이미지 데이터 타입
- html
- npm package
- github lfs
- github 100mb
- Today
- Total
목록Javascript (57)
Bleeding edge
이미지와 PDF 업로드 및 미리보기 구현기이번 프로젝트에서 이미지와 PDF 파일을 업로드하는 기능을 개발해야 했고, 특히 PDF 파일에 대한 미리보기를 구현하는 부분에서 고민이 많았다. 이미지는 비교적 간단히 처리할 수 있었지만, PDF 미리보기는 구현 경험이 없어서 새로운 접근법을 찾는 과정이 필요했다. 아래에서는 문제 해결 과정을 공유하고, 각 문제점과 해결 방안을 설명한다. 접근 방법먼저 input 요소의 change 이벤트에서 파일 타입을 기준으로 이미지와 PDF 파일을 구분하여 상태(state)로 관리했다. const handleFileChange = (event: ChangeEvent) => { const selectedFiles = Array.from(event.target.files..
Fade-Out Gradient 효과 구현기이 글에서는 내가 개발 중인 프로젝트에서 overflow가 발생하는 컴포넌트에 적용한 "fade-out gradient" 스타일에 대해 설명한다. overflow된 부분이 단순히 잘리는 대신, 서서히 사라지는 느낌을 주기 위해 이 효과를 사용했다. 이 글에서는 문제 해결 과정과 함께, Tailwind CSS를 활용하여 효과를 구현한 방법을 공유하려 한다. 접근 방법 - Pseudo 클래스 활용하기현재 프로젝트에서는 Tailwind CSS를 사용하고 있다. Tailwind는 기본적으로 mask-image 속성을 지원하지 않지만, 양쪽 끝에 fade-out gradient를 적용하라는 요구사항이 있었다. 처음 시도한 방법은 before와 after pseudo 요소..
이번이 벌써 배포한 npm package가 네번째인데, npm package하면서 처음 보는 에러를 발견했다. 우선 이 에러는 배포할 때 나타나는 에러는 아니고 npx [package-name]을 하였을 때 나오는 에러이다이전에 배포한 패키지와의 차이는 babel로 하냐 tsc로 컴파일하냐의 차이와 type module과 type commonjs차이가 있었다. 구글링해본 결과 Shebang line을 첫번째 줄에 써야했다.#!/usr/bin/env nodetsc 같은 경우 main.ts 첫줄에 넣거나 shebang을 넣는 라이브러리로 처리하면 된다.끝!
https://kinghell.tistory.com/entry/React-Native-Plugin-with-id-maven-not-found-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95 [React-Native] Plugin with id 'maven' not found. 해결 방법 Plugin with id 'maven' not found. 해결 방법 리액트 네이티브 앱 빌드 시 Plugin with id 'maven' not found 문구가 출력되며 빌드가 안되는 상황이 발생하였습니다. 찾아보니 Gradle 버전으로 인한 문제였습니다. kinghell.tistory.com 메모 : 프로젝트 끝난 후 사용하는 프로젝트에 사용하는 라이브러리에 pr 날리기!
첫 안드로이드 스튜디오 무선 디버깅 적용은 매우 잘되어서, 이런 글을 남기게 될 줄은 상상도 못했다. 이상하게도 무선 디버깅이 처음에 잘되더니 그 이후에는 이상하게 연결이 UI적으로는 되었지만 실제로는 연결이 안되었다. Step 1. 개발자 모드 켜기 요약 : 휴대전화 정보 > 소프트웨어 정보 > 빌드 번호(여러번 누르기) Step2 무선 디버깅 연결하기 개발자 옵션에서 무선 디버깅을 켜자. adb pair : 이러면 아마 페어링이 완료되었다고 나올 것이다. 아래 화면에 있는 IP 주소 및 포트를 이용하자 adb connect 주의 해야할 것은 pair는 검정 배경의 모달 위의 IP주소를, connect는 모달이 꺼진 맨 처음에 보이는 IP 주소를 입력해야한다. 그리고 android studio를 구동하..
이전에 리액트 네이티브에서 코드를 짜더라도 웹뷰만을 이용해서, 리액트 네이티브 네비게이션의 라이프 사이클에 대해서 제대로 이해를 못하고 있었다. useState를 사용할 때 차이 리액트 네이티브 네비게이션 같은 경우에는, 실제로 페이지를 전환하는 것이 아닌 여러 페이지가 동시에 떠있는 상태이기 때문에 실제로 라우터의 주소가 변하고 다시 돌아오더라도 상태가 돌아오지 않는다. useFocusEffect 위의 이미지 출처에는 다음과 같은 코드가 있다. useFocusEffect( useCallback(() => { setState(defaultValue); }, []) ); 다만, 일일이 useFocusEffect를 사용하기 보다는 커스텀 훅을 만드는 것이 좋다고 생각했다. useCleanState 어떤 훅 ..
이 글은 이 지긋지긋한 에러를 정리하며, mac os로 빌드를 하는 다른분을 위해 글을 작성했습니다. 간단한 상황 설명 기본적인 workflow를 이해하고 있으면 쉽게 사용할 수 있었던, win os와는 다르게 mac os는 배포를 할 때 준비해야할 것이 많았다. 물론 win os에서도 굳이 코드 사이닝을 진행했다면 똑같은 난이도 였겠지만, 연간 구독비가 없게 진행을 해보자라는 말도 안되는 꿈을 가지고 시작하여서, github action으로 배포하더라도 문제가 없던 윈도우처럼 맥도 문제가 없지 않을까? 라는 생각을 가지고 코드 사이닝을 제외하고 시작하였다. 일단 코드 사이닝을 제외한다 라는 것에 대한 결론 안된다. 목표가 내 레포의 tag에서 원하는 os의 어플리케이션을 받도록 만들려는게 목표였고, m..
다음주를 위해 간단한 레포 세팅을 연습하기 위하여, vite를 pnpm으로 세팅하는 연습을 하였다 vite를 선택한 이유는 개발 환경에서 아주 강력한 속도를 가지고 있기 때문에 선택하였다. (프로덕션에서 rollup을 사용하는 vite는 마이그레이션이나 안정성이 떨어지는거 아닙니까!) 위의 마이그레이션이나 안정성에 대한 대책으로 개발 환경은 vite, 프로덕션에서는 webpack이 안정적이고 빠르다라는 이야기는 있지만, 최근에 vite팀에서 rolldown을 만드는 것으로 이 것도 안전하게 잡지 않을까 라는 생각에(그리고 문제가 생기면 직접 pr을 올릴겸) vite를 선택하였다. 일단 평소에 사용하는 패키지 매니저인 yarn 대신에 pnpm을 선택하였다. 이유는 아래에 링크로 냄겨두었지만.. https:..
파일을 빌드한 후 -> 빌드한 파일의 위치 이동시 에러 발생 이전까지 사용하였던 electron 프로젝트에서는 ts의 컴파일러에서 사용하는 파일들만 사용하는 경우에는 생기지 않기 않는다 파일을 빌드한 위치에서 똑같이 사용하면 문제가 없지만 파일의 위치를 옮기는 경우나 폴더 이름을 바꾸는 경우에 dll 과 같은 파일들의 경로를 찾지 못하는 문제가 생긴다. 리소스 파일 추가하는 방법 엑스트라 리소스 파일 추가하기 우선 electron에서는 extra resources를 이용하여 패키지에 패키지를 할 때 특정 폴더나 파일을 포함시켜야 한다. 우선 리소스 추가에 앞서, 필자는 electron-packager를 이용하여 파일을 빌드할 예정이다. package.json { scripts:{ "package-win"..