본문 바로가기

전체 글

(69)
[220730] curl 사용해서 간단하게 rest api 요청하기 curl를 사용하면 네트워크 요청을 간단하게 보낼 수 있다. 사실 이보다 좋은 툴인 postman을 쓰는 게 더 편하지만, 그럼에도 가끔 쓸 일이 생기더라. 1. 특정 포트 열려있는지 확인 curl -v http://127.127.127.127:8080 포트를 확인하는 명령어도 telnet을 쓸 수 없을 때 유용하다. -v 옵션을 붙이면 된다. 2. rest api 요청 curl -d '{"age":10, "name":"Tom"}'\ -H 'Content-Type: application/json'\ -X POST http://127.127.127.127:8080/searchUser.do -d : 전송할 데이터(데이터에 ""가 포함되어있다면 데이터 전체를 묶는 따옴표는 작은 따옴표로 지정해야 한다.) -x..
[220730] linux 여러 파일에서 문자열 찾아 바꾸기 여러 개 파일에서 특정 문자열을 찾아서 바꿔야 하는 상황이 생길 수 있다. find 명령어와 sed 명령어를 응용해서 쉽게 찾아바꾸기를 할 수 있다. find [대상 경로] -name [파일명] -exec sed -i '[찾아바꾸기 명령어]' {} \; ex) find . -name "*.sh" -exec sed -i '%s/pattern/string/g' {} \; 1. 파일을 찾는다 find . -name '.sh' 2. 찾은 파일에 대해 sed를 실행한다. sed를 사용하면 vi처럼 파일 편집 작업을 할 수 있다. -i 옵션을 사용하면 파일의 변경된 내용을 출력하지 않고 해당 파일의 내용을 변경한다. exec sed -i '%s/pattern/string/g' {} \; s 명령어의 경우 이전 포스..
[220728] linux vi 찾아 바꾸기 (find and replace) 1. vi 찾아바꾸기 리눅스에서 찾아바꾸기는 :s 명령어를 사용해서 할 수 있다. 명령모드에서 아래 명령어를 입력한다. :[range]s/{pattern}/{string}/[flags] [count] :[검색범위]s/{찾는 문자열}/{바꿀 문자열}/[옵션] [count] count는 코맨트를 count만큼 반복한다는 의미같기는 한데, 어떻게 쓰는 건지 잘 모르겠다... 써봐도 감이 안 오더라. 정규식처럼 복잡하지만 익혀두면 파일에서 문자열을 고칠 때 편리하다. 예제를 통해서 사용법을 알아보자 실습에 사용하려고 의미 없는 문자열 파일을 만들었다. :s/t/p 기본적인 포맷이다. 위 명령어는 단순하게 해당 라인에 있는 t 하나를 p로 바꾸는 명령어다. :s/t/p/g 끝에 /g를 붙이면 해당 라인에 있는 모..
[211030] tomcat 자바 실행 옵션 setenv로 설정하기 . 일반적으로 톰캣을 실행할 때 startup.bat이나 startup.sh를 실행해서 시작한다. 원도우의 경우 .bat파일, 리눅스의 경우 .sh를 실행한다. 종료는 shutdown.bat이나 shutdown.sh를 실행해서 한다는 것도 톰캣을 조금만 만져봤다면 다들 알고 있을 것이다. 최근에 서버를 실행할 때 자바 실행 옵션을 커스텀해서 설정해줘야 하는 일이 생겼다. 처음에는 단순하게 startup 파일 안에서 옵션 설정을 할 수 있을 줄 알았다. 그런데 startup 파일을 열어봤더니 자바를 실행하는 명령절이 전혀 보이지 않았다. 사진은 startup.sh 파일이다. 맨 마지막 줄에서 다음 명령을 실행하는 것을 알 수 있다. exec "$PRGDIR"/"$EXECUTABLE" start "$@" 코..
[211013] linux-window 원격 서버 간 파일 복사하기(scp 사용) . 원격 서버 파일 전송은 ftp나 filezila를 쓰면 편하지만, 그걸 사용할 수 없는 환경에서 작업을 해야 할 때가 있다. scp를 사용해서 간단하게 파일을 전송할 수 있다. scp [복사할 파일 명] [서버계정]@[서버주소]:/[파일을 옮길 디렉토리] 1) Window -> Linux 전송 ex) scp ./test.txt user@10.111.111.111:/home/usr 위와 같이 실행할 경우 원격 서버 10.111.111.111 안에 있는 /home/usr 디렉토리 안에 현재 로컬(=window)에 있는 test.txt 파일이 복사된다. 2) Linux -> Window 전송 ex) scp user@10.111.111.111:/home/usr/test.txt ./ 위와 같이 실행할 경우 1..
[211005] JNI(Java Native Interface)로 C++ dll 사용하기 - cmd 사용 프로젝트 진행 중에 dll을 java로 사용해야 하는 일이 생겼다. 이때 JNI를 처음 알게 되었고, 성공하기까지 엄청난 삽질을 했다... 삽질을 하는 내내 성공하게 되면 꼭 블로그에 기록해야겠다고 생각했다. 이 글은 JNI에 대한 간단한 설명, 그리고 실습 예제를 다룰 것이다. cmd를 사용해서 자바를 컴파일하고 헤더를 생성한 후, C++ 환경에서 dll을 생성하였다. . JNI(Java Native Interface) java는 JVM을 통해서 어느 장치에서나 유연하게 사용할 수 있다는 장점이 있지만, 그럼에도 불구하고 특정 프로세서에서 돌아가는 코드를 사용해야 하는 일이 생긴다. 예를 들면 아래와 같다. 몇몇 하드웨어를 다룰 때 프로세스의 성능 개선이 필요할 때 외부 프로그래밍 코드를 자바에서 재사..
[210925] . 블로그를 오랫동안 안 썼다... 사실 취직을 했다 자랑은 아니지만 회사 일에 집중하다 보니 블로그에 소홀해졌다. 기존에 진행하고 있던 프로젝트도 한동안은 진행하지 않을 것 같다... 그래도 일을 하면서 공부한 내용은 틈틈이 블로그에 정리하고 싶다. 그래서 다시 블로그에 글을 쓰게 되었다. 취직을 하게 되니까 취준생일 때보다는 마음이 편하다. 이전에는 쉬는 시간을 가져도 내가 지금 쉬어도 될까? 하는 불안한 마음이 들었는데, 지금은 쉬는 시간에 갖는 압박감이 줄어들었다. 그렇다고 해서 공부를 소홀히 하고 싶지도 않다. 나에겐 뭐든지 꾸준히 하는 게 가장 어렵다. 꾸준하게 공부한 걸 블로그에 기록하고 싶다.
[210805] android studio에서 google icon 사용하기 1. 아이콘 다운로드 https://fonts.google.com/icons Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com Google에서 제공하는 icon을 사용해서 벡터 리소스를 가져올 수 있다. 사용 방법 1. build.gradle에 dependency를 추가한다. android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { implementation 'com.android.support:appcompat-v7:23.2.0' } 2. src>main>res 에서 마우스 오른..