Development/Development Tools 21

Chrome 브라우저 업로드 / 다운로드 속도 제한 걸기

Intro 웹 애플리케이션의 파일 업로드와 다운로드 기능을 구현하는 과정에서 테스트를 하다 보면 꽤나 당황스러울 때가 많습니다. 웹 브라우저를 사용하고 있기는 하지만, 사실 브라우저를 통해 업로드 되는 파일은 네트워크 망을 전혀 타지 않고 디스크 내부에서만 COPY 행위가 일어나기 때문입니다. 이때의 속도는, 인터넷 속도에 영향을 받지 않고 디스크의 읽기/쓰기 속도를 따라 가기 때문에 일반적으로 상상하기 어려운 300 MB/s 가 나오곤 합니다. 요즘에는 보통 기가 인터넷을 쓰기 때문에 1Gbps 가 흔한데 300 MB/s가 대수냐 싶을 수도 있지만, 1MB/s == 8Mbps/s 이기 때문에 (bit와 Byte의 표기 차이) 300 MB/s 는 결국 2.4Gbps 의 속도인 것입니다. 물론 여전히 흔하..

IntelliJ) 자동 임포트 정렬시 이클립스와 같은 규칙으로 설정하기

Intro Eclipse IDEA를 사용하며 습관처럼 Ctrl + Option(Alt) + O 키를 눌러 Optimize import 기능을 사용 하다 보면, 혼자서 진행하는 프로젝트가 아닌 이상은 각자의 IDE 환경설정 등에 따라 import 문을 모두 재 정돈 해 줍니다. 매번 커밋 할 때 마다 import 문 변경 사항이 너무 많다보니 프로젝트의 코드변경 히스토리때문에 버전관리 용량도 커지고, 변경사항을 trace 할 때에도 쓸데없는 변경 사항들이 눈에 보이다 보니 통일을 위해 이클립스와 같은 방식으로 변경해야겠다는 생각이 들었습니다. import 설정 변경 일단 Settings > Editor > Code Style > Java > imports 로 찾아 들어 가 줍니다. Scheme이 보이는데,..

Chrome 에서 Netflix 혹은 인프런 검은화면에 소리만 나올때 해결방법

Intro 지금은 해결을 했지만 대충 까만색 네모를 그려 재현을 한 모습. 인프런 영상을 듣는데, 이전에는 아무 문제가 없었는데 며칠 전 부터 크롬으로만 켜면 영상이 까만 화면만 나오며 소리만 나온다. 현재 Belkin사의 Display Link 독을 활용해 외부 모니터 3개를 맥북에 연결해 사용하고 있는데, 기억상 처음 해당 제품을 샀을때 넷플릭스 영상을 볼 때도 같은 증상이 있었던 걸로 기억한다. 곧바로 넷플릭스를 틀어봤더니 역시나 영상은 까만화면만 나오고 소리만 들리는 같은 문제가 발생중. 원인 원인이 좀 복합적이긴 한데 근본적인 원인은 DRM 이다. 넷플릭스와 인프런의 공통점을 곰곰히 생각 해 보니 콘텐츠의 불법 사용과 유출을 방어하기 위해 DRM 기술을 적용 중이라는 점 이다. DRM은 Digi..

IntelliJ) 테스트 Live Templates 만들기

Intro 매번 테스트 코드를 만들 때 마다 반복해서 입력하는 @Test void test() { Assertion.assertThat() } 을 오늘도 여김없이 계속 입력하다가 이건 너무나도 비효율 적이란 생각이 들었습니다. 사실 클래스 생성시 애초에 기본 틀이 자동으로 만들어지도록 플러그인을 만들까 하다가 아직 거기까진 무리고.. 이클립스를 쓸 때에 이것 저것 추가해서 하던 것 처럼 인텔리제이에서도 당연히 기능이 있겠지 하며 찾아보니 Live templates이 눈에 띄었습니다. 그래도 여전히 커스텀 플러그인에 대한 필요성이 자주 느껴져서 올해 안에는 인텔리제이 플러그인을 만들어 보는게 목표 입니다. Live templates Preferences > Editor > Live Templates에 해당..

IntelliJ IDEA) Path Variable 설정으로 VM Argument 저장해두기

Intro 웹 어플리케이션을 개발 하다보면, 외부 API를 사용해야 할 때가 종종 있습니다. 거기에 추가로, 드물기는 하지만 호출을 위한 API KEY가 특정 IP에 종속된 경우가 존재합니다. 그럴 경우에는 개발환경에서도 키를 하나 발급받아서 따로 사용하는게 가장 이상적이기는 하지만.. 그게 현실적으로 어려운 경우가 많습니다. API 키 발급 조건이 까다로울수록 더더욱 그렇습니다. 그럴 경우에 저는 보통 Dynamic Proxy를 활용하는 방향을 택합니다. 그러면 어플리케이션에서 외부 API를 호출 할 때에, 해당 프록시 서버의 ip 주소를 통해 요청되기 때문에 특정 IP Address에 종속되어 있는 API 키라고 해도 사용 할 수 있습니다. 자바 어플리케이션에서 프록시 서버를 통해 연결하는 방법에 대..

Chrome) 즐겨찾기 아이콘 변경 하기

Intro 위의 제 Chrome 브라우저에서 보이는 것 처럼, 저는 Bookmark bar에 추가해 둔 사이트가 제법 많아지면서, 즐겨찾기 사이트들의 이름을 지우고 아이콘만 남겨 사용 하고 있습니다. 하지만 favicon이 없는 웹사이트를 즐겨 찾기에 추가 하는 경우에는 아래 보이는 것 처럼, 지구본 모양(?) 아이콘이 남게 되는데요 아이콘만으로 웹사이트를 구분하는 경우에는, 이렇게 아이콘이 겹치는 몇개가 생겨버리면, 어떤 사이트인지 한눈에 알 방법이 없습니다. Bookmark Favicon Changer 이 경우 Chrome 익스텐션을 활용 해서 즐겨찾기에 있는 favicon을 변경 할 수 있습니다. 설치 https://chrome.google.com/webstore/detail/bookmark-fav..

DBeaver) CSV 파일을 데이터베이스로 importing 하기

Intro 엑셀 파일을 데이터베이스로 간편하게 이동하고 싶을 때가 있습니다. 혹은 필요한 데이터들을 csv 파일로 생성 해 두었는데, DB에 한번 에 넣고 싶을 때도, DBeaver를 이용하면 아주 간단하게 데이터를 밀어 넣을 수 있습니다. Excel 파일을 csv 파일로 예를 들어 이런 엑셀 파일이 있을 때에, 간단하게 csv 파일을 생성 할 수 있습니다. 제가 사용중인 Libre Office를 예를 들면 File > Save As... 를 누릅니다. 엑셀에서도 방법은 같습니다. 그럼 어떤 파일로 저장할지 하단에 설정 하는 셀렉트 박스가 있는데요, 거기에서 .csv파일을 선택 해 줍니다. 그러면 아래와 같이 names.csv 파일이 생성 됩니다. CSV 파일 임포팅 CSV DB 생성 Database 목..

웹 브라우저 애드온 추천: Momentum

Intro 인프런에서 영한님의 강의를 듣다보면 크롬 브라우저를 켜실 때 마다 좋은 풍경 그림이 보입니다. 시간도 대문짝만하게 나와서 한번씩 지금 시간을 환기 할 수도 있고 해서 괜찮아 보여 이번에 저도 설치 해서 사용 해 보았습니다. Chrome과 Firefox에 각각 설치해 두고 사용을 하고 있는데, 워낙 괜찮다고 느껴져서 혹시 모르는 분들이 계시면 권유해드리고 싶었습니다. Momentum https://momentumdash.com/ 해당 플러그인을 찾아 보니 Momentum 이라는 이름의 Extention 이었습니다. 포스팅을 작성 하며 확인 해 보니 Safari에서도 사용 가능한걸 확인해서, Chrome과 Firefox에 이어서 Safari에도 설치하려고 합니다. 설치 Chrome 아래의 링크에서..

Vim) 찾아바꾸기 Find And Replace

https://vim.fandom.com/wiki/Search_and_replace 검색 vim에서 검색을 할 때에는 입력 모드가 아닌 일반모드에서 / 키를 입력해 검색 대화 창을 띄우고 검색할 문자를 입력해 엔터키를 입력 하면 해당 문자열을 찾아 커서를 그 위치로 이동합니다. 그 상태에서 다음 검색결과로 넘어가려면 그 상태에서 n키를 누르고, 이전 검색결과는 N(Shift 키를 함께 입력)를 입력해 이동 할 수 있습니다. 찾아 바꾸기 단순 변경 :substitute 커맨드는 text pattern을 찾아 text string으로 치환합니다. 많은 옵션이 있지만 보통은 아래의 내용이 필요합니다. :s/foo/bar/g 현재 라인의 foo를 찾아 bar로 변경 :%s/foo/bar/g 모든 foo를 찾아 ..

intelliJ IDEA module에서 템플릿 못찾는 문제 해결

Intro IntelliJ IDEA 구매 intelliJ IDEA를 8월 말에 구입 한 이후로, 3개월동안 집에서 혼자 공부하거나 코딩 테스트 문제들을 풀어볼 때에는 맥북에서 꾸준히 인텔리제이를 사용 해 왔습니다. 업무용으로 사용중인 우분투 기반의 Dell XPS 노트북에서도 물론 intelliJ IDEA를 설치 했고, 가벼운 확인 용도의 코드를 작성 하거나 점심시간에 가볍게 코딩 테스트 문제를 푸는 용도로 사용 해 왔습니다만 실질적으로 회사에서 진행중인 프로젝트에서는 이클립스를 계속 사용 했습니다. 구매 후에도 Eclipse를 계속 사용해온 이유 회사에 입사하고 한달도 안되어서 intelliJ IDEA를 구입 했지만 예전부터 구독을 고민 하고 있었지만, 2021년 8월의 30% 할인은 참을 수 없었습니..

Eclipse) 자바스크립트 에러표시 제거

Intro 자바스크립트 파일의 validation을 이클립스가 제대로 하지 못해서 Error로 인식하며 빨간불이 들어왔습니다. 당연히 코드를 구동하는데는 아무 문제가 없지만, 코드에 빨간불이 들어와있으면 굉장히 거슬립니다. 여러가지 편의성으로 인해 지금은 IntelliJ IDEA를 사용하기 때문에 이클립스를 사용할 때에 겪었던 여러 가지 불편했던 점을 모두 해결 한 상태 이지만, 혹시나 같은 문제로 스트레스 받고 있는 분들을 위해 설정했던 내용을 공유합니다. 해결 일단 아래의 순서로 이동해 설정 화면을 띄웁니다. 프로젝트 우클릭 -> Properties -> Client-side JavaScript > Include Path 위에 있는 Source 탭을 누르고 > Excluded 선택 > Edit... ..

Brackets) Unable to access the extension registry. Please try again later. 에러 해결

문제 Brackets 에서 플러그인을 설치하려고 하는데, Available에 접속이 되지 않았습니다. 구글에 검색해보니 Adobe가 망했다는 등 말도 안되는 말이 많았는데요, 어쨌든 플러그인을 설치 해야 하는 상황이었기 때문에 문제를 해결 해야 했습니다. 원인 최근 설치 파일에서 extention manager 부분의 기능이 제대로 동작하지 않고 있다고 하는데요, Adobe의 새로운 도메인이 SSL 구현으로 인해서 정상적으로 이전이 되지 않아서 생기는 문제 입니다. 해결 config.json 파일을 편집해서 간단하게 에러를 해결 할 수 있습니다. 단계별로 사진과 함께 올릴테니 천천히 따라하시면 누구든 어렵지 않게 해결 하실 수 있습니다. 1. config.json 파일 찾기 일단 Applications ..

IntelliJ IDEA 에서 javadoc 주석 다는 단축키 지정하기

IntelliJ IDEA 에서 javadoc 주석 다는 단축키 지정하기 Eclipse에서는 Command+Option+J ( Windwos는 Alt + Shift + J) 를 입력 하면 간단하게 javadoc comment 를 달 수 있습니다. ​ 예를 들어 아래와 같은 코드가 있을 때 ​ arrayConverter 메서드에 커서를 올린 후, 해당 단축키를 입력 하면.. 아주 간단하게 javadoc을 작성 할 수 있습니다. 하지만 IntelliJ IDEA 에서는 해당 단축키가 없기 때문에 /** 를 입력 후 엔터를 치는 방식으로 입력 해야 하는데요, ​ ​ 지금부터 그 단축키를 지정 해 보도록 하겠습니다. ​ 일단 인텔리제이 에서 해당 Action의 이름을 찾아 보니 fix doc comment 라고 쓰..

IntelliJ) 인텔리제이 세로줄 없애기

인텔리제이를 처음 사용하는데 의문의 세로줄이 있습니다. 꽤나 거슬려서 제거하는 방법을 검색하는데 잘 나오지 않아서 Stack Overflow를 검색해서 방법을 알아내어 공유합니다. 1. Preferences(Cmd+,) 에 들어갑니다. Wndows나 Linux에서는 Settings(Ctrl+Alt+S) 입니다. 2. Editor -> General -> Apperance 로 들어갑니다. 3. Show hard wrap and visual guides (configured in Code style options) 의 체크를 제거합니다. 4. OK 를 누르면 이제 세로줄이 깔끔하게 사라져 있습니다. 이상입니다.

Eclipse 2021-06 에서 lombok 사용시 Unable to make protected... 에러 해결

얼마전 부터 Eclipse 2021-06 을 설치해서 사용 해보고 있었습니다. Lombok을 사용중이던 프로젝트를 불러오려고 이클립에서 lombok.jar 를 install 했는데요 그 때부터 문제가 발생했습니다. Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @4eb63dc8 이런 에러를 마구 뿜어대며 아무것도 할 수 없는 상황이 되었는데요, 이클립스를 새로..