요즘 다시 오미크론 때문에 꿈틀대던 해외여행의 열기가 식어버렸네요.  꽃피는 봄이오면 가까운데라도 갈 수 있을까 했는데 방콕이나 방굴라데시로 여행을 떠나야 하나 봅니다.

그래도 해외로 가는 사람들이 없는건 아니죠.

 

 

오늘은 아는 사람이 미국에 간다고 해서 인천공항에 가게 되었습니다.  대부분의 국가에서 코로나 19 음성 확인서를 요구 하는데 미국은 24시간 이내에 검사를 해야 한다고 하는데 다행히 공항에서 검사를 하고 확인서를 1시간 후에 발급 받을 수 있습니다.

 

음성확인서 발급은

- 미리 인터넷 또는 전화로 예약 신청을 하던가

- 현장에서 신청을 할 수 있습니다.

 

인터넷 예약은 https://safe2gopass.com/login  에서 예약을 하면 됩니다.

 

 

 

 

검사 센터는 terminal 1 2terminal 21곳이 있습니다.  출국하려는 Gate에 가까운 곳에 인터넷(모바일) 또는 전화로 예약을 진행하면 됩니다.

 

 

비어있는 시간대를 확인 하고 예약을 하고

 

 

 

비용은 일반 병원에서 실시하는 비용과 비슷한것 같습니다.

 

 

자세한 사항은 https://www.airport.kr/ap_cnt/ko/svc/covid19/medica1/medica1.do

홈페이지에서 확인을 하고

 

예약이 완료되면 문자를 확인하고 공항으로 이동 합니다.

 

 

 

검사센터는 실외에 있습니다.  오늘은 눈도 오고 많이 춥네요.

 

 

예약한 시간에 도착하여 줄을 서면 됩니다.  예약 시간이 아닌 사람이 앞에 있어도 소용 없고요.  간호사가 “1시에 예약하신분, 1PM” 하면서 시간대를 확인하고 출입을 시킵니다.

 

 

검사 후 결과도 동일한 장소에서 줄을 서서 기다립니다.  미국을 가려면 음성확인서가 필요하고검사후 1시간이 되면 결과가 나옵니다. 메일, 문자로 전송해 줍니다. 115분쯤에 검사 했는데 215분쯤에 메일로 보내주네요. 그러면 검사 예약 옆에 있는 [결과지 수령] 팻말에 서 있으면 차례로 결과지를 수령할 수 있습니다.

 

당일 인터넷 예약은 할 수 없지만 검사센터 예약자 바로 옆에 [장예약]을 위한 팻말이 있으니 그곳에 서서 기다려야 합니다. 

 

 

 

만약에 공항에 좀 늦게 도착해서 음성확인서를 수령하기 전에 티켓 체크인을 해야 한다면 메일로 보내온 음성확인서를 티켓 체크인시 핸드폰으로 보여주면 발권을 할 수 있습니다.  대신 출국 심사를 하기 전에는 종이로된 확인서를 받아와야겠죠.

음성확인서는 영문 또는 국문으로 받을 수 있습니다.  미국 출국이니 영문으로 메일을 받았다고 하는 군요.  나도 메일 받고 떠나고 싶다.

 

- copy coding -


jquery validation 라이브러리를 사용하여 form에 입력하는 값에 대한 유효성을 검사할 수 있습니다사용방법도 매우 간단하여 rulesmessages만 설정해 주면 쉽게 적용이 가능 합니다


maven을 이용하지 않거나 추가적인 정보는 제작 사이트에 방문해서 자료를  찾을 수 있습니다.

https://jqueryvalidation.org/

 

pom.xml에 다음을 추가 합니다.

               <dependency>

                   <groupId>org.webjars</groupId>

                   <artifactId>jquery-validation</artifactId>

                   <version>1.19.0</version>

               </dependency>

 

추가한 라이브러리는 Maven > Update Project를 해서 반영해 줍니다.


jQuery Validation


 

jQuery Validation의 구조는 매우 간단 합니다.

 

$("form selector").validate({

    rules : { ... },

messages : { ... }

});

 

이렇게 rules, messages로 구성이 되어 있습니다.

 

rules를 이용하는 방법은 input 항목의 name 속성 값을 이용하여 설정을 진행하며

 

- 설정하려는 값이 하나이면

    name속성 값 : "required"

- 설정하려는 값이 두개 이상 이면

name속성 값 : {

            required : true,

            digits : true

    }

이렇게 {}로 묶어서 설정 합니다.

 

messages를 이용하는 방법도 input 항목의 name 속성 값을 이용하여 설정을 진행하며

- 설정하려는 값이 하나이면

    name속성 값 : : "필수 입력 항목 입니다."

- 설정하려는 값이 두개 이상 이면

name속성 값 : {

required : "필수 입력 항목 입니다.",

digits : "숫자만 입력하세요."

    }

이렇게 {}로 묶어서 설정 합니다.

이렇게 rules, messages가 쌍으로 구성되어 있습니다물론 messages를 작성하지 않아도 되는데 단점은 유효성 검사 결과를 영문으로 보여주기 때문에 영문으로 하지 않으려면 한글로 messages를 입력 해줘야 합니다.

 

적용 예)

$("form selector").validate({

    rules : {

        name속성 값 : "required",

        name속성 값 : {

                    required : true,

                    digits : true

        }

 

    },

    messages : {

        name속성 값 : "필수 입력 항목 입니다.",

        name속성 값 : {

            required : "필수 입력 항목 입니다.",

            digits : "숫자만 입력하세요."

        }

    }

});

 

이제 실제 적용을 하려는 화면 쪽 설정을 알아 봅니다.

먼저 maven에 추가한 라이브러리를 추가해 주고

<script src="/webjars/jquery/3.4.1/jquery.min.js"></script>

<script src="/webjars/jquery-validation/1.19.0/jquery.validate.min.js"></script>

 

form에 대한 유효성 설정을 진행 합니다.

 

<script type="text/javascript">

//<![CDATA[

        $(function() {

               $("#memberadd").validate({

                       rules : {

                              username : "required",

                              name : "required",

                              password : "required",

                              repassword : "required",

                              mobile1 : {required : true, digits:true},

                              mobile2 : {required : true, digits:true},

                              mobile3 : {required : true, digits:true},

                              tel1 : {digits:true},

                              tel2 : {digits:true},

                              tel3 : {digits:true},

                              email : {email:true}

                       },

                      

                       messages : {

                              username : "아이디는 필수 입력항목 입니다.",

                              name : "이름은 필수 입력항목 입니다.",

                              password : "비밀번호는 필수 입력항목 입니다.",

                              repassword : "비밀번호 확인은 필수 입력항목 입니다.",

                              mobile1 : "핸드폰은 필수 입력항목 입니다.",

                              mobile2 : "핸드폰은 필수 입력항목 입니다.",

                              mobile3 : "핸드폰은 필수 입력항목 입니다.",

                              email : "email 형식이 부정확 합니다."

                       }

              

               });

        });

 

//]]>

</script>

 

 

 

<body>

<form action="/user/membercreate" id="memberadd" method="POST">

    <table border="0">

         <tr>

             <td width="150" align="right">아이디 </td>

             <td><input type="text" id="username" name="username"  ></td>

         </tr>

         <tr>

             <td align="right">이름 </td>

             <td><input type="text" id="name" name="name" ></td>

         </tr>

         <tr>

             <td align="right">비밀번호 </td>

             <td><input type="password" id="password" name="password" ></td>

         </tr>

         <tr>

             <td align="right">비밀번호 확인 </td>

             <td><input type="password" id="repassword" name="repassword" ></td>

         </tr>

         <tr>

             <td align="right">소속회사 </td>

             <td><input type="text" class="form-control col-md-6" id="company" name="company" maxlength="30"></td>

         </tr>

         <tr>

             <td align="right">핸드폰 </td>

             <td>

                 <input type="text" class="form-control col-md-2" id="mobile1" name="mobile1" size="3">-

                 <input type="text" class="form-control col-md-2" id="mobile2" name="mobile2" size="4">-

                 <input type="text" class="form-control col-md-2" id="mobile3" name="mobile3" size="4">

             </td>

         </tr>

         <tr>

             <td align="right">email </td>

             <td><input type="text" id="email" name="email"></td>

         </tr>

         <tr>

             <td></td>

             <td align="right"><input type="submit" id="submit" value="등록"></td>

         </tr>

    </table>

</form>

 

</body>

 

Controller는 화면을 불러오도록 메소드를 하나 만들어 주고

        @RequestMapping("/membercreate")

        public String getMember( Model model){

              

              

               return "/user/MemberCreate";

        }

 

프로젝트를 실행을 해서 페이지를 불러옵니다.


jQuery Validation


이제 등록 버튼을 클릭해서 무슨 일이 벌어지는지 확인해 봅니다.


jQuery Validation


이렇게 입력 항목에 대한 검사를 해줍니다.

개인적인 생각은 그냥 사용 하기에는 쓸만 하겠지만 요청사항이 까다로운 사이트에서는 사용이 힘들지 않을까 생각 됩니다.


- copy coding -


내가 사용하는 인터넷 다운로드, 업로드 속도 측정하는 사이트입니다.  Active-X를 설치해야 하는 사이트는 제외를 하여 4개를 뽑아 보았습니다

결과들이 조금씩 다를 수 있는데 속도 측정은 Target을 어디에 두고 체크했는가에 따라 결과가 달라질 수 있습니다그리고 Download 속도가 100MB로 좋게 나와도 내가 다운받으려는 사이트의 정책이 다운로드 속도를 1MB로 설정해 놓았으면 1MB이상으로 받을 수 없으니 속도 측정 결과는 참고로만 하면 될것 같습니다.

 

1. SpeedTest.net


예전에는 백그라운드 이미지로 지도모양이 나왔던 것 같은데 모양이 변경이 되었습니다.

https://www.speedtest.net/ 사이트에 접속을 합니다.


internet speed test


가운데 원의 GO를 클릭 하면 속도 측정이 시작 됩니다하단에 있는 이미지에서 자신의 디바이스를 선택 하여 측정을 진행 해도 됩니다.


internet speed test


먼저 다운로드 속도를 측정 하고


internet speed test


그다음 업로드 속도을 측정 합니다.


internet speed test


테스트가 완료되면 최종 결과를 보여 줍니다.



2. Fast.com


여기는 사이트에 들어가자 마자 바로 자동으로 속도측정을 시작 합니다.

https://fast.com/ko/


internet speed test




internet speed test


속도 측정이 완료된 화면 입니다상세정보 버튼을 눌러 봅니다.


internet speed test


다운로드 속도 테스트 후 바로 상세보기 버튼을 누르면 업로드 속도는 진행 중일 수 있습니다.

 

 

3.  OpenSpeedTest.com

 

http://openspeedtest.com/ 사이트에 접속 합니다.


internet speed test


가운데 시작 버튼을 클릭 하면 속도 체크를 시작 합니다.


internet speed test


먼저 다운로드 속도를 체크하고 


internet speed test


이어서 업로드 속도를 체크 합니다.


internet speed test


속도 체크가 완료되면 결과를 보여 줍니다.

 

 

4. Google Fiber

 

http://speedtest.googlefiber.net/ 사이트에 접속 합니다.


internet speed test


파란색 시작 버튼을 클릭합니다.


internet speed test


Google Fiber 서비스 관련 안내인데 모바일이 아니니 그냥 Continue를 클릭합니다.


internet speed test


잠시 기다리면 다운로드와 업로드 속도 측정 결과가 나옵니다

 

처음에 얘기 한것 처럼 속도 측정 결과들은 참고사항 입니다.


- copy coding -


1

+ Recent posts