분류 전체보기
-
[React.js] package.json 버전관리 패키지Framework/React.js 2022. 2. 25. 00:23
지난 포스팅에서 오래전 프로젝트를 다시 열어서 생긴 이슈를 해결하였다. 2022.02.24 - [Framework/React.js] - [React.js] digital envelope routines::unsupported 이슈 해결 오래전 프로젝트를 열거나 프로덕션 중인 프로젝트들은 패키지의 버전이 낮은 경우가 많다. 이런 버전관리가 지나치게 낮을 경우 서비스의 취약점으로 이어지기도 한다. 그렇기 때문에 지속적으로 버전관리를 추적해야 한다. 이럴때 손쉽게 확인할 수 있는 npm 패키지를 알게 되었다. 패키지명은 npm-check-updates이다. 주요 특징은 package.json의 dependencies와 devDependencies의 최신 버전을 알려준다. 각 패키지별로 상세하게 알려준다. 그리..
-
[React.js] digital envelope routines::unsupported 이슈 해결Framework/React.js 2022. 2. 24. 23:55
예전에 작업했던 React.js 프로젝트를 다시 시작하려고 11개월만에 시작을 했다. 그랬더니 다음과 같은 에러가 나왔다. digital envelope routines::unsupported.. 일단 처음보는 에러인데 지원을 하지 않는다는 소리를 보아하니 버전성 이슈인 것 같다. 사실 이 에러가 발생하기전에 package.json을 전부 업데이트를 했다. 그래서인지 좀 검색을 해보니 그거보다는 Node.js버전이 17 이상인 경우 16으로 다운그레이드 하라는 stackoverflow글이 있었다. 얼마전 생각해보니 다른 프로젝트도 17버전일 경우 동작이 안하는 경우가 있었다. 어차피 nvm을 사용하니 node 버전을 낮추어서 사용해보자. 우선 먼저 현재 컴퓨터의 Node 버전을 알아보도록 하자. 역시나 ..
-
[Typescript] 타입스크립트 Intellij 실행Language/Javascript 2022. 2. 23. 20:10
intellij 툴에서 타입스크립트 실행하는 방법이다. intellij로 프로젝트를 열고 오른쪽 상단에 보면 Add Configuration을 보면 아직 실행 설정이 되지 않은 모습을 알 수 있다. 저 버튼을 클릭하면 다음과 같은 창이 뜬다. 이 창에서 시작 환경설정을 진행할 수 있는 데 왼쪽 상단에 +버튼을 누르고 추가를 원하는 언어를 치면 된다. 타입스크립트를 시작하기로 했으므로 typescript를 치면 된다. 그런데 아마 typescript가 처음에는 나오지 않는다. 이럴때는 당황하지 말고 플러그인을 설치해주어야한다! intellij > Preferences 메뉴를 누르고 창이 뜨면 왼쪽에서 Plugins를 클릭하고 Marketplace에서 typescript를 검색하면 Run Configurat..
-
[Django] orm distinct()Framework/Django 2022. 2. 22. 00:03
django orm으로 개발하다가 컬럼의 중복을 제거하려고 distinct()를 사용하였다. 중복 제거 키워드인 distinct()인 사용하였다. TestService.objects.using("db").values("service_id") .filter(status="pending").distinct().order_by("-id") orm을 간단하게 해석하자면 TestService라고 하는 model 클래스에서 status가 pending인 service_id를 중복을 제거하여 출력하는 예제이다. 마지막 order by조건으로 id가 역순으로 출력이 되어야 한다. (id는 pk값이고, service_id는 fk이다.) 해당 orm 코드를 sql언어로 바꾸어보면 다음과 같다. select distinct..
-
Python Selenium autoit을 사용한 파일 업로드창 제어Language/Python 2021. 12. 28. 01:00
보통 python selenium(이하 셀레니움)을 통해서 웹브라우저를 동적으로 제어하곤 한다. 이번에는 그 중에서도 파일 업로드 창을 제어하는 부분에 대해서 알아본다. 기본적으로 셀레니움은 다음과 같은 파일 업로드 창을 제어할 수 없다. 아 물론 autoit이라는 모듈을 사용해서 업로드 제어가 가능하다. 하지만 이번 상황에서는 pycharm과 같은 툴에서 동작하는 것이 아닌 exe파일로 변환하였을 때 autoit이 제대로 실행되지 않기 때문에 제어가 안된다고 하는 것이다. 이 포스팅의 목적은 이 부분이 아니라 이 코드가 삽입된 파이썬 파일을 실행파일(exe)파일로 변환하였을 때 생기는 이슈를 해결하고자 한다. 그럼 우선 ide같은 툴에서 실행하도록 하는 방식을 알아보자. import autoit # B..
-
Intellij 인텔리제이 추천 단축키 모음Dev Tool 2021. 12. 27. 01:00
인텔리제이(Intellij)에서 추천 단축키 모음을 공유하고자 하는 글이다. 모르는 사람도 있을 수 있기에 간단히 소개하자면, 인텔리제이는 일단 jetbrains사에서 만든 유료툴이다. jetbrains(젯브레인스)은 kotlin(코틀린)을 만든 회사 혹은 안드로이드 스튜디오(android studio)를 만든 회사이기도 하다. 이외에도 Pycharm, Goland 등 다양한 언어를 기반으로 하는 툴도 제공한다. 여러가지 언어를 쓰는 경우 플러그인을 통해서 인텔리제이만으로도 충분할 수 있지만 언어 특성에 기반한 툴을 사용하는 것이 좋을 수 있다. 이러한 인텔리제이(intellj)는 학생의 경우에는 학교 이메일을 통해 1년동안 무료로(연장가능) 사용할 수 있다. 너무 다른 쪽으로 빠지긴 했는데 다시 돌아와..
-
2021년 회고.. 그리고 앞으로의 포부(?)생각 기록 2021. 12. 26. 19:35
블로그에 글을 남긴지 굉장히 오래된 것 같다. 그리고 이러한 회고 하는 글을 쓴 적은 아예 없는 것 같다. 처음 블로그를 할 때는개발 지식을 블로그에 기록하는 게 목적이었다. 이러한 글들은 불특정 다수에게 남기는 글이다보니 단어를 정제하거나 좀 더 이해를 돕기 위해서 시간이 너무 오래걸렸다. ㅠㅠ 핑계이지만 그동안 회사에서는 거의 개인시간이 없다시피 살아왔던 탓도 있기에 시간이 오래걸리는 일이 더 싫었던 것일수도.. 그래도 이제는 조금 여유있는 회사로 이직을 하게 되고 그동안 제너럴리스트로 살아왔다면 이제는 스페셜리스트가 되기 위해 나아가고자 하여 다시금 이렇게 블로그를 시작하고자 한다. 그동안은 개인 노션에 나름 정제하여(?) 기록하였지만 이제는 노션->블로그 순으로 옮겨고, 시간이 날 때마다 좀 더..
-
[SpringBoot] Jackson AnnotationFramework/Spring 2020. 8. 17. 16:35
1. @JsonInclude - 어노테이션 속성을 제외 하는 데 사용된다. 어떤 방식으로 될지 사용하는 옵션으로는 다음과 같은 것이 있다. ALWAYS - 속성 값에 관계없이 항상 포함시키는 값입니다. NON_NULL - null이 아닌 값만 포함시키는 값입니다. NON_ABSENT - null이나 참조 유형의 "없음"값 (예 : Java 8 '선택적'또는 {link java.utl.concurrent.atomic.AtomicReference})을 제외함 즉, null이 아닌 값을 따르지 않는 것입니다. 이 옵션은 대부분 "선택 사항"(Java 8, Guava)과 함께 작동하는 데 사용됩니다. NON_EMPTY - null 값이 있거나 비어있는 것으로 간주되는 값은 포함하지 않습니다. 비어 있는 것으로 ..