본문 바로가기

분류 전체보기720

Java SQL 인젝션(SQL Injection) 해킹 방지를 위한 Escape 문자 변환 방법 SQL 인젝션을 방비하기 위해서는 PreparedStatement를 이용하는 것이 좋습니다. 하지만 문자열로 SQL을 생성 시에는 SQL 조건절의 상수 문자내의 Escape 문자를 변경해야 합니다. 예로 홀따옴표(')의 경우는 홀따옴표를 두개('')로 변환해서 SQL 문자열을 만들어야 하죠. 아파치 프로젝트 중 Common Lang에서 이러한 작업을 할 수 있습니다. 1. Jar 파일을 다운로드하기 위해서 아래의 URL에 방문하세요. https://commons.apache.org/proper/commons-lang/download_lang.cgi Lang – Download Apache Commons Lang Download Apache Commons Lang Using a Mirror We recom.. 2021. 1. 22.
넷플릭스 영상 녹화하기 넷플리 영상의 녹화해서 오프라인으로 보고 싶은 분들이 많으시죠. 하지만 녹화 프로그램으로 화면을 녹화하면 검정화면과 소리만 녹화됩니다. 구글링하던중 아래의 사이트로 가능하네요. ※ 넷플릭스 녹화는 크롬 브라우저에서 진행했습니다. https://www.flexclip.com/tools/screen-recorder/ Free Online Screen Recorder - Record Screen with One-Click | FlexClip Make a Video for Free with FlexClip Now Get Started www.flexclip.com 1. 크롬에서 넷플릭스를 방문하고 위의 URL을 다른 탭으로 열어서 아래의 이미지에서와 Start Recording을 클릭합니다. 2. 소리 녹음을 .. 2021. 1. 13.
C# 폴더내의 파일 목록 특정 폴더내의 파일들을 찾는 코드입니다. 간단 하지만 자주 사용하는 코드랍니다. System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"c:\Windows"); foreach (System.IO.FileInfo file in di.GetFiles()) { Debug.WriteLine("파일명 : " + file.Name); } [결과] 2020. 11. 5.
C# 윈도우(창) 이름으로 핸들(hWnd) 찾기 다른 프로세스에 SendMessage 또는 PostMessage로 처리하기 위해서 핸들을 찾는 방법입니다. user32.dll의 함수를 사용해서 윈도우(창)의 이름으로 쉽게 찾을 수 있습니다. 아래의 코드를 참고하세요. using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace ConsoleApp { class Program { [DllImport("user32.dll")] private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); static void Main(string[] args) { IntPtr hWnd = Fi.. 2020. 11. 4.
C# 프로젝트로 생성한 EXE 또는 DLL의 실제 경로 얻기 프로젝트로 생성된 exe나 dll의 경로를 알아야 할 경우가 종종 있습니다. 작업 디렉토리(Working Directory)가 아닌 다른 폴더에 exe나 dll이 존재 하는 경우 경로를 찾아서 처리해야겠죠. exe나 dll내의 클래스를 이용하여 실제 경로를 간단히 얻어 올 수 있습니다. 코드는 아래와 같습니다. string fileName = new ClassName().GetType().Assembly.ManifestModule.Name; string filePath = new ClassName().GetType().Assembly.Location; Debug.WriteLine("파일이름 : " + fileName); Debug.WriteLine("파일경로 : " + filePath); 2020. 11. 4.
유니티(Unity) 설치 2020.1.10 버전 유니티 설치하는 방법입니다. 1. 유니티 허브(Unity Hub) 다운로드 유니티를 설치 하려면 유니티 허브를 다운로드 후 설치 해야 합니다. 다운로드는 아래의 사이트에서 하면 됩니다. https://unity3d.com/kr/get-unity/update?_ga=2.40982945.285902932.1571065765-953708571.1569851476 Get Unity - Update - Unity Looking to update Unity? Download it here! unity3d.com 2. 유니티 허브(Unity Hub) 설치 유니티 사이트에서 다운로드 한 설치파일을 실행합니다. 3. 유니티 허브의 좌측 메뉴에서 설치를 클릭합니다. 4. 설치화면의 오른쪽 상단의 추가 버튼을 클릭합니다. .. 2020. 10. 28.
제9호 마이삭 한미일 태풍경로 예보 현재 제9호 마이삭이 태풍이 대한민국으로 다가오고 있습니다. 한반도로 마이삭이 상륙하는 것은 한미일 동일하게 예보하고 있습니다만, 한미일 3국의 예보는 약간 차이가 있습니다. 한미일 태풍 경로 예보를 알아보겠습니다. 해당 정보는 안드로이드 태풍앱에서 정보를 캡처했습니다. 아래의 URL에서 다운로드 할 수 있습니다. https://play.google.com/store/apps/details?id=com.jmsys.typhoon 태풍 - Google Play 앱 북태평양 남서부에서 발생하여 아시아 대륙 동부로 불어오는 맹렬한 열대성 저기압인 태풍에 대한 정보를 보여줍니다. 1. 태풍 경로 - 태풍경로를 보여줍니다. 2. 태풍이란 - 태풍이 무엇인지에 � play.google.com 한국 기상청 한국의 기상.. 2020. 9. 2.
귀하의 앱에서 Google AdMob 광고 게재가 중지되었습니다 귀하의 앱에서 Google AdMob 광고 게재가 중지되었습니다 위와 같은 제목으로 애드몹으로부터 메일을 받았습니다. 해당 앱은 게시를 중지했던 앱인데 몇개월 후가 지난 지금에서야 정책 위반으로 광고 게재를 중지한다고 합니다. 애드몹의 계정이 여러번의 정책 위반을 하게 되면 계정 정지가 될 수도 있다는 불안한 마음 때문에 조치를 하려고 합니다. 그래서 정책 센터에 해당 정책 위반에 대해서 "앱이 게시 중지인데 어떻게 해야 하냐?"고 문의를 했으나 답변에 별다른 내용 없이 정책 위반이라고 다시 메일이 왔습니다. 그래서 이것 저것 구글링을 해보니 광고단위를 삭제하면 된다고 해서 광고 단위를 삭제하고 검토 요청을 하였습니다. 애드몹에서는 앱은 삭제 할 수는 없고, 광고 단위는 삭제 할 수 있는데 방법은 아래와.. 2020. 8. 17.
안드로이드 외부 폰트 Layout XML에 적용하기 안드로이드 앱 개발 시 외부 폰트를 적용하는 방법은 Typeface 객체를 이용하는 방법이 있습니다. 하지만 이 방법은 Layout 디자인에는 표시가 안되기 때문에 디자인 적용을 디버깅에서 확인 해야 하죠. Layout XML에 외부 폰트를 적용하는 방법인데 간단합니다. 1. res(리소스) 하위에 font 디렉토리를 생성하고 외부 폰트를 복사해서 넣습니다. (주의 할 것은 외부 폰트명은 소문자와 "_" 만으로 구성해야 합니다.) 2. Layout XML에 아래와 같이 fontFamily를 지정하면됩니다. 3. 안드로이드 스튜디오 Layout 편집기에서 아래와 같이 확인 할 수 있습니다. 2020. 8. 7.
안드로이드 Action Bar 숨기기, Full Screen을 Style XML로 설정하기 안드로이드 프로젝트를 생성하고, styles.xml에서 Action Bar를 숨기거나 Full Screen을 설정하는 방법입니다. styles.xml 은 아래의 경로에 있습니다. 1. Actin Bar 표시 styles.xml 설정 windowActionBar = true, windowNoTitle = false, windowFullscreen = false 로 설정 2. Actin Bar 숨기기 styles.xml 설정 windowActionBar = false, windowNoTitle = true, windowFullscreen = false 로 설정 3. Full Screen styles.xml 설정 windowFullscreen = true 로 설정 (windowActionBar = true 와.. 2020. 8. 4.
OK 캐쉬백 상품쿠폰 적립 방법 맥심 믹스 커피를 마트에서 샀는데, OK 캐쉬백 쿠폰이 있네요. 200포인트를 준다고 해서 OK 캐쉬백에 회원가입하고 상품 쿠폰을 적립해보았습니다. 아래의 OK 캐쉬백 사이트로 이동 후 로그인을 하세요. http://www.okcashbag.com/index.do 메인 | OK캐쉬백 카페/제과 탐앤탐스 을지로입구점 서울 중구 을지로2가 www.okcashbag.com 좌측 상단 메뉴에 상품쿠폰을 클릭하세요. 상품쿠폰 화면에서 쿠폰번호 입력에 쿠폰번호를 입력후 적립을 클릭하세요. 아래의 같이 적립되었다고 나오는데, 이런 10%로를 차감하고 적립한다고 합니다. 2020. 8. 4.
윈도우즈10 화면 보호기 설정 윈도우즈 10의 화면 보호기 설정방법입니다. 1. 윈도우즈10의 시작 아이콘을 클릭 후 설정 아이콘을 클릭합니다. 2. Windows 설정 화면에서 개인 설정 메뉴를 클릭합니다. 3. 개인 설정 화면에서 잠금 화면 메뉴를 클릭합니다. 4. 잠금 화면에서 화면 보호기 설정을 클릭합니다. 5. 아래와 같이 화면 보호기 설정 화면에서 "화면 보호기"를 설정하면됩니다. ※ 화면 보호기를 해제 할 때 로그인 패스워드를 입력하도록 하려면 "다시 시작할 때 로그온 화면 표시"를 체크하세요. 2020. 7. 25.
React-Native iOS 애드몹(Admob) 적용 React-Native에서 iOS 애드몹 적용 순서입니다. 화면(Screen)의 View에 적용은 생략합니다. 1. Module 설치 npm i --save react-native-admob@next - 자세한 내용은 아래의 사이트를 참고하세요. https://github.com/sbugert/react-native-admob sbugert/react-native-admob A react-native component for Google AdMob banners. Contribute to sbugert/react-native-admob development by creating an account on GitHub. github.com 2. Info.plist에 Admob 앱ID를 입력 (Info.pli.. 2020. 7. 21.
자동차검사기간 인터넷 확인 방법 자동차 검사기간을 한국교통안전공단에서 쉽게 확인 할 수 있습니다. 저도 잦은 출장으로 고지서를 못 보는 경우가 있는데, 인터넷으로 확인이 가능해서 편리하네요. 아래의 한국교통안전공단 홈페이지로 방문하세요. http://www.ts2020.kr/ 한국교통안전공단 www.ts2020.kr 홈페이에서 자주 찾는 메뉴 > 자동차 > 자동차검사 예약을 클릭하세요. 아래의 화면에서 차량번호 및 차량 소유주의 생년월일을 입력하면 검사기간을 확인 할 수 있습니다. 2020. 7. 17.
Java DecimalFormt의 올림, 내림, 반올림 적용 Java 1.8에서 DecimalFormat을 적용했는데, 소숫점에서 반올림이 됩니다. 정확히는 어떤 버전까지인지는 기억이 나지 않지만 기본적으로 format 메소드를 호출하면 버림이었던 것 같은데, 반올림이 되고 있습니다. 아래의 코드를 보면 RoundingMode 지정하지 않으면 소숫점 3째자리가 반올림(HALF_UP)이 됩니다. 필요에 따라 올림(CEILING), 내림(DOWN), 반올림(HALF_UP)을 지정 후 사용하시길 바랍니다. [소스] DecimalFormat df = new DecimalFormat("0.##"); double d = 123.765; System.out.println("기본(반올림) : " + d + " → " + df.format(d)); d = 123.761; df.s.. 2020. 7. 16.
안드로이드 ImageView를 흑백(Gray Scale)으로 표시하기 안드로이드의 ImageView의 이미지를 흑백으로 만드는 방법입니다. 아래의 코드는 ListView의 Adapter에 적용한 예입니다. ImageView ivNationFlag = (ImageView)v.findViewById(R.id.iv_nation_flag); ivNationFlag.setImageResource(NationFlagHelper.getNationFlagRes(quiz.name)); if(isOk){ // 컬러 필터를 제거하여 원본으로 표시 ivNationFlag.setColorFilter(null); }else{ // 컬러 필터를 흑백으로 변경 ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0); ColorMatrixCol.. 2020. 7. 12.
일곱개의 대죄 - 이벤트 보스전 돌아온 거대 호크 Hell 돌아온 거대 호크를 Hell 클리어했습니다. 이번 퀘스트는 호크가 피해를 입지 않으면 모든 아군의 공격력이 100% 증가합니다. 최대 3번까지 중첩이 되니 3턴 동안은 호크를 공격하지 않아야 합니다. 팀은 에스카노르, 데리엘리, 로스트베인 멜리오다스, 엘리자베스로 구성했습니다. 엘리자베스의 개성인 매턴 생명력 10% 증가와 힐 스킬을 사용하기 위해 구성했습니다. 에스카노르로 마무리~~ 2020. 7. 10.
[부산 사상 맛집] 모모 스테이크 창원 출장을 갔다 돌아오는 길에 사상터미널에서 점심을 혼자 먹게 되었습니다. 사상 터미널 앞에 모모스테이크가 보이기에 혼밥했답니다. 모모 스테이크는 2층에 위치하고 있습니다. 모모 스테이크의 메뉴인데 스테이크과 함박 스테이크 및 파스타로 구성되어있습니다. 매장도 생각보다 깔끔하네요. 주문은 키호스크로 하면됩니다. 전 키호스크로 주문하는지 몰라서 주방 앞에서 직원에게 주문 했답니다. 데미 함박 정식에 계란 후라이를 토핑했습니다. 장국과 반찬은 셀프네요. 예전에 모모스테이크에서 먹을 때는 셀프는 아니였는데 시스템이 좀 바뀌것 같습니다. 자~~ 맛있는 함박스테이크를 한번 먹어볼까요~~ 2020. 7. 8.
부산 서면 롯데백화점 카레 맛집 : 아비꼬 카레 오랜만에 혼자 서면 롯데 백화점 본점에서 영화를 보고 저녁으로 카레를 먹었습니다. 롯데 백화점 9층에 위치한 아비꼬 카레에서 일본식 카레를 먹었습니다. 요즘 일본식 카레의 가격이 비싼편인데 아비꼬 카레도 싸지는 않습니다. 하지만 밥이랑 카레, 대파, 마늘 후레이크는 무제한으로 제공한다고 합니다. 그리고 주문은 주문용지에 작성해서 카레를 주문하는 시시템이라 조금 특이 했습니다. 저는 포크카레라이스에 마늘 후레이크를 추가했고, 맵기는 2단계를 했는데 좀 매웠답니다. 다음에는 맵기는 1단계(신라면 정도)로 해서 먹으면 더 맛있게 먹을 수 있을 듯 합니다. 일본에서는 먹던 카레랑 비슷해서 좋았습니다. 2020. 6. 26.
React-Native WebView 컴파일 오류 해결 방법 [개발 환경] OS : Windows 10 React-Native : 0.62.2 React-Native-Webview : 10.3.1 React-Native에 웹뷰(WebView)를 적용하려니 아래와 같은 오류가 발생합니다 [오류] > Task :react-native-webview:compileDebugKotlin Could not connect to kotlin daemon. Using fallback strategy. > Task :react-native-webview:compileDebugJavaWithJavac FAILED 해결 방법은 React-Native 프로젝트의 Android 프로젝트의 컴파일 툴 및 버젼을 아래와 같이 수정 후 컴파일하면 해결됩니다. [해결 방법] React-Nativ.. 2020. 6. 22.
정상적인 React-Native 프로젝트 iOS 컴파일 시 오류 해결 방법 iOS 컴파일이 잘되던 React-Native 프로젝트가 오류가 발생하는 경우가 종종 발생합니다. 이럴 경우 Pod의 캐쉬를 초기화(Clear) 후 다시 컴파일 하면 정상적으로 컴파일이 됩니다. 아래의 오류와 동일 하지 않을 수 있습니다. events.js:287 throw er; // Unhandled 'error' event ^ Error: EMFILE: too many open files, watch at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:127:28) Emitted 'error' event on NodeWatcher instance at: at NodeWatcher.checkedEmitError (/Users/dokonjan.. 2020. 6. 19.