[python] 파이썬 셀레니엄을 활용한 자동화 프로그램

이미지
파이썬 셀레니엄을 활용한 자동화 프로그램  Modern Web Automation With Python and Selenium python과 selenium를 활용하여 정시에 시작 시작하여 자동으로 로그인 페이지 이동 시간대를 확인하여 예약하는 자동 매크로 개발하면서 간략한 문법 설명과 배포까지의 과정을 정리하였다.

[사례] 페이스북 개발자 등록시 오류 "Facebook 플랫폼 정책을 준수하는 유효한 개인정보처리방침 URL을 제출해야 합니다. 요청 실패 - 오류: 잘못된 응답 코드: URL returned a bad HTTP response code."

이미지
[오류] 페이스북 개발자 앱 기본 설정 등록시 개인정보처리방침 URL과 서비스 약관 URL입력시 오류 "Facebook 플랫폼 정책을 준수하는 유효한 개인정보처리방침 URL을 제출해야 합니다. 요청 실패 - 오류: 잘못된 응답 코드: URL returned a bad HTTP response code." 페이스북 앱 기본설정 화면 [원인] tomcat + jsp 환경에서  관련 문서 에는 php, html파일만 가능하다고 나와 있음 이외 http일 경우도 유사한 오류 발생하는 것으로 보임 [해결] "webapp"에 html페이지 생성

[정보] AWS 웹에 HTTPS서비스를 위한 무료 SSL인증서 발급 및 적용 정보 배포, Elastic Load Balancers(ALB), Certificate Manager, Amazon Route 53

이미지
적용 이유 HTTPS 접속 서비스를 위한 SSL인증서 사용은 기본적인 웹데이터 보안이며 이러한 서비스를 권장 및 이용 조건으로 활용하는 곳도 많이 있다. SSL인증서는 무료로 발급해( Let's Encrypt ) 주는 곳도 있지만 대부분 1년 주기 유료이며 적용이나 갱신시 따로 장비마다 작업해야 번거로움이 생긴다. AWS인증서는 무료로 활용할 수 있으며 Load Balancers를 통해 관리하면 AWS콘솔에서 쉽게 설정할 수 있다. Load Balancers는 단일 트레픽에 대한 부하 분산에 사용되는 기술로, AWS Elastic Load Balancers는 트레픽당 과금이 되는 유료 서비스으로 사용 요금이 구매 비용보다 클수도 있지만 관리적 이점 서비스확장을 고려하여 적용하였다.  적용 조건 AWS ec2를 사용 Amazon Route 53를 통한 DSN 관리(도메인은 가비아에서 구매 후 ns 설정함) AWS Elastic IP 서비스 이용 관련 AWS 서비스  Certificate Manager Elastic Load Balancers(ALB) Amazon Route 53 Certificate Manager, 인증서 발급 서비스>보안,자격 증명 및 규정 준수>Certificate Manager>인증서 프로시저닝  공인인증서 요청  1단계: 도메인 이름 추가 서비스 하고자 하는 도메인 입력(example.com/*.example.com) 2단계: 검증 방법 선택 DNS검증(Amazon Route 53 자체 DNS사용시) 3단계: 태그 추가(필수 아님) 4단계: 검토 및 요청 5단계: 검증 상태가 아래와 같이 '검증 보류', '인증서 관리자'에서 레코드 생성하고 Route 53에 CNAME를 생성해야 함   인증서 관리자 메뉴(서비스>보안,자격 증명 및 규정 준수>Certificate Manager) '도메인' 그룹에서 해당 도메인의 팝업 버튼을 눌러 하위 메뉴에서 "Rout

[JavaScript] 싱글/멀티 프리뷰 코드 샘플

이미지
JavaScript 파일 선택 싱글/멀티 프리뷰 기능 <! doctype   html > < html   lang = "ko"   class = "" > <!--<![endif]--> < head >   < meta   charset = "utf-8" >   < title > 미리 보기 </ title >   < meta   name = "viewport"   content = "width=device-width, initial-scale=1, shrink-to-fit=no" >      < script   type = "text/javascript"   src = "http://code.jquery.com/jquery-2.1.0.min.js" ></ script >   < script >          var   kSelect_files  = [];          function   onPreviewImg ( url ) {              if  ( url .files &&  url .files[ 0 ]) {                                   var   kFileArr  =  Array .prototype. slice . call ( url .files);                  kFileArr . forEach ( function ( kFile ) {                      if (! kFile . type . match ( "image.*" )) {                          alert ( "이미지 파일만 가능합니다." );                          return ;

[JSP] 조건부 모달 열기, 모달 전용 이벤트 핸들러, bootstarp modal, spring framework model and view

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <!doctype html> <html lang= "en" > <head> <script> // 클래스 속성 변경에 따라 Modal 열기 // spring framework에서 ModelandView로 데이터를 넘겨 // 페이지 로딩 시점에 모달을 조건에 따라 열리게 함 $(document).ready(function() { if($("#loginMenuId").length > 0){ // 존재 한다면, null 체크 var vActive = $("#loginMenuId").attr("class"); if (vActive.indexOf("active") == -1) { $("#loginModal").modal("show"); } } }); // 모달 전용 이벤트 $(document).on('shown.bs.modal', '#loginModal', function () { // do somedoing }); </script> </head> <c:set var= "nav" > <tiles:getAsString name= "nav" /> </c:set> <body> <h1> Hello, world! </h1>

[Java] url 호출, 정보 검색, 정보 가공(HttpURLConnection, Pattern, Matcher, StringTokenizer)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 /* * [Java] url 호출, 정보 검색, 정보 가공, * HttpURLConnection, Pattern, Matcher, StringTokenizer * 1. 주어진 url이 정상적으로 호출 되는 지 확인 * 2. 인스타그램에서 팔로워/팔로잉/포스팅 수가 포함된 문자열 추출 * 3. 추출된 문자열을 숫자만 분리하여 정수형으로 검사 후 변환 */ try { String apiURL = "https://www.instagram.com/" + strSnsId; // 주어진 URL을 HttpURLConnection 통해 연결해 본다. URL kUrl = new URL(apiURL); HttpURLConnection kHttpURLConnection = (HttpURLConnection)kUrl. openConnection (); kHttpURLConnection. se

[Flutter] Android Build Error,"app:processDebugResource", "app:compileDebugJavaWithJavac"

[사례] Android Build Error,"app:processDebugResource", "app:compileDebugJavaWithJavac" 오류: Execution failed for task ':app:compileDebugJavaWithJavac'. ... Execution failed for task ':app:processDebugResources'. 원인 상황 외부 프로젝트 임포트시 발생 compileSdkVersion 버전이 안맞아 발생 해결 "guild.gardle" 파일에서 현재 시스템에 맞는 버전을 선택 android {     compileSdkVersion 27     lintOptions {         disable 'InvalidPackage'     }     defaultConfig {         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).         applicationId "com.example.flutterinstaclone"         minSdkVersion 16         targetSdkVersion 27         versionCode 1         versionName "1.0"         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"     }