본문 바로가기
반응형

전체 글291

php 에서 named parameter sql 간단히 사용하기 php 에서 named parameter sql 사용하여 fetch를 간단히 할 수 있는 함수 입니다. /* example $dsn = 'mysql:host=localhost;dbname=mydatabase'; $username = 'myusername'; $password = 'mypassword'; $pdo = new PDO($dsn, $username, $password); $pdo->exec("set names utf8"); $sql = 'SELECT * FROM mytable WHERE name = :name AND age > :age'; $param = array("param1"=>"value1", "param2"=>"value2"); */ function named_query($sql, $p.. 2023. 10. 25.
mysql 백업 bash 스크립트 개요 제가 운영하는 서버에서 mysql db를 주기적으로 백업할필요가 있어서 아래와 같이 구상하였습니다. 계정별 DB백업 -> 90MB 분할 zip 파일로 생성 -> git repository로 복사 백업한 파일은 해당 서버가 위험해질 경우에도 사용할 수 있는 저장소가 필요했는데, 비용을 생각하여 github을 무료로 사용할 수 있겠다 싶어 선정하게 되었습니다. 그런데, 단일 파일의 크기가 100MB가 넘으면 push가 되지 않았기에 분할압축을 하였습니다. 또한, git repository도 안전하지 않을 수도 있으므로 암호화 하였습니다. 압축파일을 암호화하려면 linux 계열에서는 zip을 써야한다더군요. (다시 압축을 풀때 번거롭습니다.) 추가적으로, DB 인스턴스는 하나지만 백업해야할 db대상은 여.. 2023. 10. 24.
spring interceptor란, spring custom interceptor 라이브러리 만들기, spring custom interceptor 적용 spring interceptor란, spring boot custom interceptor 라이브러리 만들기, spring boot custom interceptor 적용 spring interceptor란? spring interceptor를 한마디로 정의하면 request를 가로채서 추가적인 로직을 수행할 수 있도록 하는 요소입니다. spring에서의 Interceptor가 있을때의 처리방식은 아래 그림과 같습니다. (Handler Interceptor 부분입니다) client에서 웹서버로 호출 dispatcher servlet을 통해 request를 Handler Interceptor로 넘김. Handler Interceptor의 Prehandle 메소드 로직수행후, Handler -> contr.. 2023. 10. 22.
스프링부트 라이브러리 만들기, spring boot auto configuration, 공통 exception 처리 라이브러리 만들기 스프링부트 라이브러리 만들기, spring boot auto configuration, 공통 exception 처리 라이브러리 만들기 배경 최근에, 여러 spring boot 프로젝트를 개발하는 대형프로젝트를 진행하고 있습니다. 그런데, 각 spring boot에서 공통적으로 코드를 사용하는 부분이 있습니다. 예를 들어, exception 처리와 같은 부분입니다. controller쪽에서 exception을 발생시키면 아래와 같은 json 결과를 http response로 보내고, http status 는 500에러를 발생하고자 하였습니다. {"message":"ERROR_INTERNAL","result":null} 이를 처리하기 위해서는 스프링 부트 프로젝트에 spring boot aop를 적용하여 처.. 2023. 10. 19.
[음식후기] 서현역 가성비 한식뷔페 맛집, 케이알푸드 우리집밥 분당 서현역 근처에 있는 한식뷔페인 케이알 푸드 우리집밥을 다녀왔습니다. 가게정보 영업시간 매일 6~19시 브레이크 타임 8:00~11:30 브레이크 타임 14:00~17:00 간혹 손님이 없으실때는 일찍 문을 닫으실 때도 있어서 저녁때 가시려면 18시까지 가시는게 좋을거 같습니다. 위치 경기 성남시 분당구 황새울로342번길 19 3층 303호( 서현동, 유성그린빌딩) 가격 : 8000원 요즘같은 시기에 서현역 근처에서 이정도 가격이면 저렴하다고 생각됩니다. 후기 서현역에서 한 5분정도 걷다보면 아래와 같은 건물이 있습니다. 3층에 있는 밥집이라서 눈에 잘 안띄고, 입구도 찾기 어려운데요, 아래와 같은 안내판이 1층에 있습니다. 1층에 있는 일편닭심이라는 곳을 찾아내시면 위에 3층에 우리집밥 이라고 써있.. 2023. 10. 18.
Java UUID란, Java UUID 중복, Java UUID 자리수, Java UUID 길이 줄이기 Java UUID란, Java UUID 중복, Java UUID 자리수, Java UUID 길이 줄이기 Java UUID란? Java UUID란 Universally Unique Identifier의 약어로, 고유 식별자를 나타내는 값입니다. 중복않는 유일한 값을 사용할때 활용합니다. 세션 식별자, 쿠키 값, 무작위 데이터베이스 키 등에 활용가능합니다. Java UUID 활용하기, UUID 사용하기 UUID 생성방식은 아래와 같이 세가지가 있습니다. // 1) 랜덤으로 생성 UUID uuid = UUID.randomUUID(); // 2) string 기반으로 생성 String test = "test"; UUID uuid = UUID.fromString(test);; // 3) byte array 기반으.. 2023. 10. 15.
[음식후기] 명동 딘타이펑 후기 샤오롱바오, 딤섬으로 유명한 딘타이펑을 다녀왔습니다. 명동에 있는곳으로 다녀왔습니다. 명동점이지만 명동역보다는 을지로입구역 쪽에서 가는게 가깝습니다. 명동역에서 6분정도 걸린다고 나오지만, 길거리 음식과 사람들이 많아서 실제로는 가는데 시간이 좀 더 걸립니다. 겉으로 보기엔, 아래와 같이 간판이 크지도 않아 눈에 띄지 않고 한글로도 쓰여지지 않아 찾기가 좀 힘들수도 있습니다. 건물로 들어가면, 약간 고급진 엘리베이터가 아래처럼 보이는데, 2층이라서 굳이 타지 않아도 괜찮습니다. 계단으로 올라가면 바로 앞에 딘타이펑이 위치해있습니다. 주방이 밖에서도 보여서 뭔가 청결해보이고 좋아보입니다. 영업시간은 11시부터 21시까지이나, 마지막 주문이 8시 10분까지입니다. 주문은 A세트메뉴로 시켰습니다. 2인이서 먹.. 2023. 10. 12.
Visual Studio 2022에서 .Net Framework 4.5 문제해결, The C# project xxx targets .NET Framework 4.5, which is no longer supported 해결법 Visual Studio 2022에서 .Net Framework 4.5 문제해결, The C# project xxx targets .NET Framework 4.5, which is no longer supported 해결법Visual Studio 2022에서 .Net Framework 4.5.1 문제해결Visual Studio 2022에서 .Net Framework 4.5.2 문제해결Visual Studio 2022에서 .Net Framework 4.6 문제해결Visual Studio 2022에서 .Net Framework 4.6.1 문제해결Visual Studio 2022에서 .Net Framework 4.0 문제해결visual studio 2017을 사용하다가 로딩속도 등이 너무 느린거 같아서 찾아.. 2023. 10. 11.
java 시간측정코드, 자바 시간측정코드, 시간, 측정, 예제코드 java 시간측정코드, 자바 시간측정코드, 시간, 측정, 예제코드입니다. long before = System.currentTimeMillis(); // 시간측정할 코드 long after = System.currentTimeMillis(); long diff = (after - before); System.out.println("elapsed time(ms) : "+diff); Date 객체를 사용하는 방법은 아래와 같습니다. long before = (new Date()).getTime(); // 시간측정할 코드 long after = (new Date()).getTime(); long diff = (after - before); System.out.println("elapsed time(ms) : .. 2023. 6. 26.
[음식후기] 도봉역 맛집, 태국 음식, 써이포차나 [음식후기] 도봉역 맛집, 태국 음식, 써이포차나 후기 도봉역에서 태국 음식 맛집으로 소문난 써이포차나를 다녀왔습니다. 지인추천으로 같이 가보게 되었습니다. 태국음식맛과 많이 비슷하여, 태국이 그리울 때 가보시는걸 추천합니다. 위치는 도봉역에서 약 5분정도 거리에 있습니다. 18시에 갔는데, 14-18시 브레이크타임이더군요. 일요일은 휴무이고, 브레이크타임이 있으니 유의하셔야겠습니다. 18시 좀 전에 도착하니 이미 1팀 웨이팅이 있더군요. 역시 맛집인가봅니다 라는 생각이 들었습니다. 메뉴판은 아래와 같습니다. 웨이팅하면서 뭘 먹을지 보면 되겠습니다. 메뉴수가 많지는 않다고 생각합니다. 역시 맛집. 내부에 들어가도 메뉴판이 아래와 같이 있습니다. 내부는 좁지만 태국느낌이 물씬 나게 소품을 신경썼더군요. 천.. 2023. 6. 19.
윈도에서 특정포트 사용중인 프로그램 확인하기, 윈도 포트 확인, netstat 특정포트 확인, 윈도우 특정포트 확인 윈도에서 특정포트 사용중인 프로그램 확인하기, 윈도 포트 확인, netstat 특정포트 확인, 윈도우 특정포트 확인 windows open port, windows port process check, windows port check 결론 cmd에서 아래와 같은 명령어를 치시면 됩니다. netstat -ano | findstr "포트번호" tasklist /FI " PID eq PID번호" 자세한 설명이 필요하신 분들만 아래 내용 참고 부탁드립니다. 배경 윈도에서 사용하다보면 특정 포트를 오픈하려고 하는데, 이미 사용중이여서 오픈할 수 없거나 프로그램을 실행할 수 없다는 메시지가 뜨곤 합니다. 이럴 떄, 해당 포트를 사용하고 있는 프로그램을 실행종료하면 문제가 해결되는데요, 해당 프로그램을 찾아내는 방법.. 2023. 6. 14.
gRPC란, protobuf란, Java gRPC 예제 코드, grpc단점, grpc java code example gRPC란, protobuf란, Java gRPC 예제 코드, grpc단점, grpc java code example 최근 Micro service architecture 프로젝트를 진행하면서, 속도 향상에 대한 고민을 하다 gRPC에 대해 알아보았습니다. 1. gRPC란 2. protobuf란 3. gRPC 예제코드 4. gRPC VS REST 속도비교 5. gRPC 장/단점 1. gRPC란? 한줄요약 : 오픈소스 원격 프로시저 호출(*RPC) 방식중 하나. * RPC : 함수가 실행프로그램의 원격위치에 있어도 동일한 코드를 이용하여 함수를 실행하는 기술 개발한곳 : 구글 특징: 1) HTTP/2 사용 --> HTTP/1보다 빠르다. 2) 인터페이스 정의 언어로 프로토콜 버퍼 사용 (protobuf를 .. 2023. 6. 5.
반응형