전체 글 38

React.js + TypeScript 폼 필드에서 에러가 난다면? A component is changing a controlled input of type text to be uncontrolled. Input elements should not switch from controlled to uncontrolled

Form에서 에러가 난다. A component is changing a controlled input of type text to be uncontrolled. Input elements should not switch from controlled to uncontrolled 위 에러는 타입이 잘못 들어왔다는 뜻이다. 살펴보아야 하는 것들은 아래와 같다. 1. input에 다른 타입의 값을 넣고 있는지? String이 들어가야하는 자리에 undefined, Number 등의 타입이 들어가선 안된다. -> 변수를 undefined 대신 빈 문자열로 초기화하거나, value로 넘겨주는 시점에 널처리를 추가할 수 있다. var foo = useState(''); 2. Select, Suggest, Seach..

React.js 환경변수 사용하기 REACT_APP_

리액트 상에서 환경변수를 사용해서 프로파일을 구분하려고 할 때, 보통 .env.{환경이름} 파일을 이용해서 프로파일별로 다른 환경변수를 선언한다. 그런데, 환경변수를 추가하려는데 리액트 앱에서 계속 읽지 못하고 undefined가 뜬다. 왜일까? 알고보니 리액트에서 꺼내쓸 수 있는 환경변수는 prefix가 정해져있어서 'REACT_APP_'으로 시작하는 변수명으로 선언해야 한다.

Oracle View 생성 쿼리 검색하기

SELECT * FROM USER_VIEWS; 오라클에서 위 쿼리를 실행하면 각 View들의 생성 쿼리를 조회할 수 있다. 쿼리 컬럼이 TEXT라서 Like 검색이 불가능하기 때문에 새 테이블을 생성해서 검색 가능한 컬럼 타입으로 데이터를 밀어넣고 그 테이블을 사용해서 조회하면 된다. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=subbi81&logNo=100172874040 [오라클] USER_VIEWS 내 원하는 문자열 찾기 가끔 시스템 운영을 하다보면 DB의 VIEW 스크립트 중에 하드코딩(ㅋㅋ) 되어있는 부분을 일... blog.naver.com

안드로이드는 너무 열받아

안드로이드는 정말 열받게 만들어져있다. 간단한 웹뷰인데 구현이 너무 복잡하다. 그런데 그 열받는 API들을 감싸서 덜 열받고 우아하게 만들어 놓은 라이브러리도 찾을 수 없었다. 모두가 함께 고통받는 상태인건가? 내가 못 찾은 건지 진짜 없는 건지 모르겠지만 많은 개발자들이 맨땅에 헤딩 방식으로 코딩 중이라는 건 확실하다. 온 동네에서 바퀴 발명중...

today I thought 2022.01.17

Jenkins 젠킨스 빌드 에러 ERROR: Maven JVM terminated unexpectedly with exit code 137

젠킨스 빌드 시에 소스코드 상에는 문제가 없는데 갑자기 죽어버린다. ERROR: Maven JVM terminated unexpectedly with exit code 137 메모리 문제라고 하는데, 메이븐 실행 시 메모리를 더 주든지 아니면 젠킨스 자체를 재시작 하든지 하는 방법으로 해결하는 듯하다. https://stackoverflow.com/questions/24989653/jenkins-maven-build-137-error/24991433 Jenkins Maven Build 137 Error I have a Maven project, which builds 6 separate Maven projects in Jenkins. The problem I face is that over the tim..

Javascript ERR_UPLOAD_FILE_CHANGED 에러

파일을 첨부한 이후에 해당 파일에 변경사항이 생기면 서버에 전송하려고 할 때 ERR_UPLOAD_FILE_CHANGED 에러가 발생한다. 변경사항이 생긴다는 것은 첨부 시점 이후에 파일을 수정해서 저장한 경우를 뜻한다. 그리고, input 태그의 file type을 이용할 때, 파일을 한번 선택해놓고 다시 같은 파일을 선택하면 변경이 일어나지 않았다고 판단하여 파일을 새로 읽지 않는다. 이게 변경사항을 저장한 후 다시 파일을 첨부했을 때에도 계속 위 에러가 발생하는 이유다. 쉽게 해결하는 방법은 파일을 선택하려고 할 때, 이전에 선택된 값을 날려주면 된다. https://stackoverflow.com/questions/61916331/re-uploading-a-file-with-ajax-after-it..

rm –rf 전에 먼저 해야할 일

파괴적인 작업은 언제나 식은땀을 동반한다. 서버에서 rm -rf 작업을 해야할 때 실수를 예방하기 위한 팁을 찾아보았다. ls -l 실행해보기 DELETE 쿼리를 날리기 전에 SELECT 쿼리를 만들어 놓고 실행해본 후에 DELETE로 변경하는 것과 같은 방법이다. ls -l /지우려는위치 지우려는 파일들만 리스트에 표시되었는지 확인 후 rm -rf 로 변경 rm -rf /지우려는위치 https://www.lesstif.com/system-admin/rm-rf-14090708.html rm –rf 로 인한 대형 사고 예방하기 파괴적인 명령어 사용전 비파괴적인 명령어로 확인하는 습관은 SQL 작업을 할 경우에도 유용하게 사용할 수 있다. 예로 UPDATE나 DELETE 구문전에 SELECT로 영향받는 레코..

코드리뷰 문화를 정착시킬 방법에는 어떤 게 있나?

코드리뷰와 테스트 작성은 여차하면 후순위로 밀리다가 사라져버리기 쉬운 문화인 것 같다. 어떻게 하면 당연한 것으로 잘 정착시킬 수 있을지 3년 동안 고민 중이다. 일단, 당장 실천할 수 있는 방법으로 Github에 Pull Request를 열려고 할 때 디폴트로 적용되는 템플릿을 만들 수 있다. 어떤 이슈를 처리한 것인지, 구현할 때 어떤 고민을 했는지, 동료들이 같이 봐주었으면 하는 부분이 어디인지 명확하게 작성할 수 있도록 템플릿화 해놓는 방법이다. 그리고 깃헙 내에서 변경된 코드를 눈으로 보는 것보다는 각 PR에 맞게 프로젝트를 켜서 코드를 넘나들며 확인할 수 있도록 IDE 상에서의 보조가 필요하다. 이건 그냥 필요하다고만 생각했는데, 다른 사람들이 어떻게 하나 찾아보다보니 실제로 intelliJ에..

JPA Inheritance Mapping 하나의 테이블을 여러 엔티티로 분리하기

테이블은 하나지만 특정 type컬럼에 따라 논리적으로는 성격이 나뉘는 경우가 있다. 예를 들자면 우리집 반려동물 테이블에 고양이와 강아지가 함께 들어있는데 강아지만 최근 산책 정보를 갖고 있는 경우이다. 이럴 때, 부모 엔티티를 두고 각 타입별로 자식 엔티티를 만들어 Inheritance Mapping을 지어줄 수 있다. 분류 기준이 되는 컬럼은 Discriminator Column으로 표시해주면 된다. 아래 예시는 TYPE이라는 컬럼이 분류 기준인 경우이다. 사용할 TYPE 값 중 하나는 A이다. @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name="type") @DiscriminatorValue("A") https..

Jenkins 젠킨스 빌드 에러 Failed to clean project: Failed to delete ..

https://stackoverflow.com/questions/19489720/maven-failed-to-clean-project-failed-to-delete-org-ow2-util-asm-asm-tree maven... Failed to clean project: Failed to delete ..\org.ow2.util.asm-asm-tree-3.1.jar I use STS(spring tool suite) + maven plugin. Every time when I run my application using maven-clean I see following error: [INFO] Scanning for projects... [INFO] ... stackoverflow.com 젠킨스에서 빌드..

[그림으로 배우는 HTTP & Network Basic] #1 정리

네트워크를 얕고 빠르게 훑기 위해 2021-09-05 스터디 시작. 책은 그림책으로 골랐다. https://book.naver.com/bookdb/book_detail.naver?bid=8657832 그림으로 배우는 HTTP & Network Basic [그림으로 배우는 HTTP & NETWORK BASIC]은 웹의 근간을 이루는 HTTP를 중심으로 하여 웹, 인터넷 데이터 통신 분야의 기초가 되는 내용들을 다루고 있다. 초반부에는 인터넷의 역사부터 시작해 인터넷 book.naver.com 1. 웹과 네트워크의 기본에 대해 알아보자 웹 브라우저는 URL을 가지고 HTTP 프로토콜로 웹 서버로부터 리소스를 얻는다. 웹 브라우저=클라이언트 프로토콜=약속 웹의 출생 웹은 멀리 떨어진 사람과 지식을 공유하기 위..