2017년 6월 20일 화요일
2016년 7월 29일 금요일
더 많은 사용자를 위한 개발 - 구글 개발자 블로그
원글: http://android-developers.blogspot.kr/2016/06/building-for-billions.html
구글 개발자 코리아 블로그 글
http://googledevkr.blogspot.kr/2016/07/building-for-billions.html
좋은 이야기인 것 같습니다.
사용자들이 좋은 환경에서 잘 사용해야 좋은 앱이지요!
블로그 글의 내용은
- 느린 인터넷 및 오프라인 상태에서 올바르게 동작하기
- 정확히 상황에 들어맞는 올바른 콘텐츠 제공
- 모바일 하드웨어를 위한 최적화
- 배터리 소모 절감
- 데이터 사용량 절약
해당 내용은
구글 빌리온즈 (https://developers.google.com/billions/) 에서 볼 수 있습니다.
웹에 대한 내용은
https://developers.google.com/web/billions/
안드로이드에 대한 내용은
https://developer.android.com/distribute/essentials/quality/billions.html
구글 개발자 코리아 블로그 글
http://googledevkr.blogspot.kr/2016/07/building-for-billions.html
좋은 이야기인 것 같습니다.
사용자들이 좋은 환경에서 잘 사용해야 좋은 앱이지요!
블로그 글의 내용은
- 느린 인터넷 및 오프라인 상태에서 올바르게 동작하기
- 정확히 상황에 들어맞는 올바른 콘텐츠 제공
- 모바일 하드웨어를 위한 최적화
- 배터리 소모 절감
- 데이터 사용량 절약
해당 내용은
구글 빌리온즈 (https://developers.google.com/billions/) 에서 볼 수 있습니다.
웹에 대한 내용은
https://developers.google.com/web/billions/
안드로이드에 대한 내용은
https://developer.android.com/distribute/essentials/quality/billions.html
2016년 7월 25일 월요일
안드로이드 Firebase 테스트하기
구글 디벨로퍼 코리아 블로그에 소개된 내용입니다.
http://googledevkr.blogspot.kr/2016/07/introducing-firebase-test-lab-for.html
공유합니다.
+Google Developers
+Life at Google
동영상:
단계별로 따라할 수 있는 코드랩 링크:
https://codelabs.developers.google.com/codelabs/firebase-test-lab/index.html?utm_campaign=Firebase_featureoverview_education_testlab_en_06-29-16&utm_source=gdevkrkr&utm_medium=blog#0
즐거운 개발하세요~
2016년 7월 22일 금요일
Chrome 52 Released
Chrome 52: Contain Property, the PerformanceObserver API & Service Worker Stream
Chrome 52 released.
Release note
* CSS Contain Property
- Post: http://goo.gl/9hX2A2
- Spec: http://goo.gl/AmLB8z
* Performance Observer API
- Post: http://goo.gl/gteR4E
- Demo: http://goo.gl/wYwdY9
- Spec: http://goo.gl/TA9RtM
* Service Worker Streamed Responses
- Post: http://goo.gl/hrRUd0
- Spec: http://goo.gl/DgrjhH
2016년 6월 26일 일요일
Google AR(Augmented Reality) Project Tango
2016년 6월 9일 목요일
Google Web PageSpeed tool
About Page: https://developers.google.com/speed/pagespeed/
Do Page: https://developers.google.com/speed/pagespeed/insights/
Enter a web page URL
In my case, i enter my blog.
Pagespeed insight shows result like this.
I will fix some issues for my blog. :)
good service of webpage
Do Page: https://developers.google.com/speed/pagespeed/insights/
Enter a web page URL
In my case, i enter my blog.
Pagespeed insight shows result like this.
I will fix some issues for my blog. :)
good service of webpage
2016년 6월 2일 목요일
Google data visualize tool - Google data studio
Homepage: http://www.google.com/analytics/data-studio/
I click the "TRY IT FOR FREE".
if you click first menu, "Welcome Data Studio"
more examples in this page.
[Sample] YouTube Channel Report
2016년 3월 26일 토요일
Google Adsense error on blogger register
Google Adsense error on blogger register
애드센스 위젯을 블로그에 적용하는 중에 오류가 발생했습니다.
500 Internal Server Error { "code" : 500, "errors" : [ { "debugInfo" : "com.google.api.server.core.Fault: ImmutableErrorDefinition{base=null, category=BACKEND_ERROR, cause=null, debugInfo=null, domain=global, extendedHelp=null, httpHeaders={}, httpStatus=internalServerError, internalReason=Reason{arguments={}, cause=null, code=null, createdByBackend=true, debugMessage=com.google.ads.syn.inventory.client.InventoryClientException: RESPONSE_ERROR_CHECKSUM_MISMATCH: Checksums mismatch when updating.\nOriginal:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1459001685069\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 1525395321\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n\nUpdate:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1458998439678\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 335201633\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n\n\tat com.google.ads.syn.inventory.client.InventoryClient.handleRpcException(InventoryClient.java:167)\n\tat com.google.ads.syn.inventory.client.InventoryClient.updateInventory(InventoryClient.java:108)\n\tat com.google.ads.syn.adsense.api.apiary.services.inventory.InventoryUpdater.submitUpdateRequest(InventoryUpdater.java:74)\n\tat com.google.ads.syn.adsense.api.apiary.services.inventory.InventoryUpdater.updateAdSlot(InventoryUpdater.java:34)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.saveAndConvertAdSlot(AdUnitsServiceImpl.java:441)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.access$900(AdUnitsServiceImpl.java:73)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$4.call(AdUnitsServiceImpl.java:298)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$4.call(AdUnitsServiceImpl.java:267)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.handleRequest(RosyExecutor.java:324)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.invoke(RosyExecutor.java:255)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.invoke(RosyExecutor.java:134)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.update(AdUnitsServiceImpl.java:262)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$$EnhancerByGuice$$2bb36a5f.CGLIB$update$1()\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$$EnhancerByGuice$$2bb36a5f$$FastClassByGuice$$50d1b423.invoke()\n\tat net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)\n\tat com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:76)\n\tat com.google.ads.syn.adsense.api.apiary.AdSenseApiStatsInterceptor.invoke(AdSenseApiStatsInterceptor.java:94)\n\tat com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:77)\n\tat com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:55)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$$EnhancerByGuice$$2bb36a5f.update()\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnits$AdUnitsService$ServiceParameters$12.handleBlockingRequest(AdUnits.java:18757)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnits$AdUnitsService$ServiceParameters$12.handleBlockingRequest(AdUnits.java:18755)\n\tat com.google.net.rpc3.impl.server.RpcBlockingApplicationHandler.handleRequest(RpcBlockingApplicationHandler.java:28)\n\tat com.google.net.rpc3.impl.server.RpcServerInternalContext.runRpcInApplication(RpcServerInternalContext.java:558)\n\tat com.google.net.rpc3.impl.server.RpcServerChannel$1$1.runInContext(RpcServerChannel.java:875)\n\tat com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:446)\n\tat com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:310)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302)\n\tat com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:443)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat java.lang.Thread.run(Thread.java:745)\nCaused by: com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;ads.adsense.inventory/InventoryService.InventoryUpdate;Checksums mismatch when updating.\nOriginal:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1459001685069\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 1525395321\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n\nUpdate:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1458998439678\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 335201633\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n;AppErrorCode=9;StartTimeMs=1459001686384;tcp;Deadline(sec)=60.0;ResFormat=UNCOMPRESSED;Originator=blogger;Tag=\u0002blogger_job\u0003prod.blogger-dashboard\u0002blogger_servlet_path\u0003/adsense-finalize.g\u0002blogger_servlet_name\u0003com.google.blogger.b2.ui.common.servletpage.Servle:SchedulingHash=523420b7d3039f0f;ServerTimeSec=0.021169408;LogBytes=256;Non-FailFast;No-EndUserCredsRequested;EffSecLevel=none;ReqFormat=UNCOMPRESSED;ReqID=bca27971dd9138f4;GlobalID=9ec270eb6edd867d;Server=10.196.135.33:4405\n\tat com.google.net.rpc3.client.RTRUNCATED (original length 8507), errorProtoCode=null, errorProtoDomain=null, filteredMessage=null, location=null, message=null, unnamedArguments=[]}, location=null, message=null, reason=null, rpcCode=500}\n\tat com.google.api.server.core.ErrorCollector.toFault(ErrorCollector.java:43)\n\tat com.google.api.server.rest.adapter.rosy.RosyErrorConverter.toFault(RosyErrorConverter.java:62)\n\tat com.google.api.server.rest.adapter.rosy.RosyHandler$2.call(RosyHandler.java:256)\n\tat com.google.api.server.rest.adapter.rosy.RosyHandler$2.call(RosyHandler.java:237)\n\tat com.google.api.server.core.util.CallableFuture.run(CallableFuture.java:62)\n\tat com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:441)\n\tat com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:840)\n\tat com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:770)\n\tat com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:626)\n\tat com.google.api.server.core.util.CallableFuture.run(CallableFuture.java:62)\n\tat com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:441)\n\tat com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:840)\n\tat com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:770)\n\tat com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:626)\n\tat com.google.api.server.core.util.CallableFuture.run(CallableFuture.java:62)\n\tat com.google.api.server.thread.ThreadTrackers$ThreadTrackingRunnable.run(ThreadTrackers.java:126)\n\tat com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:439)\n\tat com.google.api.server.server.CommonModule$ContextCarryingExecutorService$1.runInContext(CommonModule.java:805)\n\tat com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:446)\n\tat com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:310)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:302)\n\tat com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:443)\n\tat com.google.gse.internal.DispatchQueueImpl$WorkerThread.run(DispatchQueueImpl.java:387)\n" } ], "message" : null }
수익 페이지로 이동해서 애드센스 설정을 확인해 보세요.
This error occurred from earnings.
Register Adsense, i want fix this problem. but i can't.
please help google!
애드센스 위젯을 블로그에 적용하는 중에 오류가 발생했습니다.
500 Internal Server Error { "code" : 500, "errors" : [ { "debugInfo" : "com.google.api.server.core.Fault: ImmutableErrorDefinition{base=null, category=BACKEND_ERROR, cause=null, debugInfo=null, domain=global, extendedHelp=null, httpHeaders={}, httpStatus=internalServerError, internalReason=Reason{arguments={}, cause=null, code=null, createdByBackend=true, debugMessage=com.google.ads.syn.inventory.client.InventoryClientException: RESPONSE_ERROR_CHECKSUM_MISMATCH: Checksums mismatch when updating.\nOriginal:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1459001685069\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 1525395321\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n\nUpdate:\nweb_property_id: 66527820\nad_slot_id: 298285260\nad_slot_code: \"1608395696\"\ndescription: \"pineoc_main_Blog1_300x250_as\"\nlast_edit_timestamp: 1458998439678\ncreation_timestamp: 1451826186832\nvisual_settings {\n ad_format: \"300x250_as\"\n font_size: FONT_SIZE_ACCOUNT_DEFAULT\n width: 300\n height: 250\n color {\n color_type: AD_SLOT_COLOR_BG\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_BORDER\n color_value: \"ffffff\"\n }\n color {\n color_type: AD_SLOT_COLOR_TEXT\n color_value: \"222222\"\n }\n color {\n color_type: AD_SLOT_COLOR_URL\n color_value: \"666666\"\n }\n color {\n color_type: AD_SLOT_COLOR_LINK\n color_value: \"2288bb\"\n }\n corner_style: \"rc:0\"\n ad_slot_ad_type: AD_SLOT_AD_TYPE_TEXT\n ad_slot_ad_type: AD_SLOT_AD_TYPE_IMAGE\n}\nactive: false\nchecksum: 335201633\nstatus: ACTIVE\ncreator_customer_id: 9079886\nformat_settings {\n ad_type: TEXT\n ad_type: IMAGE\n}\nmarkup_settings {\n format: \"300x250_as\"\n}\n\n\tat com.google.ads.syn.inventory.client.InventoryClient.handleRpcException(InventoryClient.java:167)\n\tat com.google.ads.syn.inventory.client.InventoryClient.updateInventory(InventoryClient.java:108)\n\tat com.google.ads.syn.adsense.api.apiary.services.inventory.InventoryUpdater.submitUpdateRequest(InventoryUpdater.java:74)\n\tat com.google.ads.syn.adsense.api.apiary.services.inventory.InventoryUpdater.updateAdSlot(InventoryUpdater.java:34)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.saveAndConvertAdSlot(AdUnitsServiceImpl.java:441)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.access$900(AdUnitsServiceImpl.java:73)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$4.call(AdUnitsServiceImpl.java:298)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$4.call(AdUnitsServiceImpl.java:267)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.handleRequest(RosyExecutor.java:324)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.invoke(RosyExecutor.java:255)\n\tat com.google.ads.syn.adsense.api.apiary.services.pebl.RosyExecutor.invoke(RosyExecutor.java:134)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl.update(AdUnitsServiceImpl.java:262)\n\tat com.google.ads.syn.adsense.api.apiary.services.AdUnitsServiceImpl$$EnhancerByGuice$$2bb36a5f.CGLIB$update$1(
수익 페이지로 이동해서 애드센스 설정을 확인해 보세요.
This error occurred from earnings.
Register Adsense, i want fix this problem. but i can't.
please help google!
2016년 3월 21일 월요일
Device Art Generator - Google developers
http://developer.android.com/intl/ko/distribute/tools/promote/device-art.html
I find the solutions for making publishing app image.
use app screenshot, you can make app screenshot image with devices.
I can use to google play store.
you can drag to device image.
and change image to device image
source image
result image
It is good for me to publish app!
2016년 1월 25일 월요일
2016년 1월 20일 수요일
구글 플라이트(Google Flights)
https://www.google.com/flights/
구글에서 항공기 검색이 가능합니다!
메인 페이지 입니다
구글에서 항공기 검색이 가능합니다!
메인 페이지 입니다
밑으로 조금내려보면 밑에 유럽, 그리스 등등이 있네요.
유럽을 눌러볼까요?
위와 같이 유럽을 눌렀는데요.
가격이 왕복인데도 런던이 600불, 파리가 567불 가격이 굉장히 낮은것을 알 수 있습니다.
런던을 눌러보겠습니다.
동방항공, 영국항공, 에어차이나 등의 항공편을 볼 수 있습니다.
옆에 추가적으로 호텔도 가격도 볼 수 있네요.
그외에 날짜에 따라 가격을 비교해볼수 있습니다.
위의 '3일 전후 기간 내에 최저 요금이 있습니다' 라는 팁도 볼 수 있구요.
유동적인 날짜보기를 누르면
유동적인 날짜로 봤을때 5월 11일에 출발하는 것이 제일 싸군요.
가격그래프도 한번 볼까요?
가격의 흐름도 볼 수 있었습니다.
구글 플라이트 괜찮은거 같습니다.
다음에 여행갈 때 사용해봐야겠어요 ㅎㅎ
피드 구독하기:
글 (Atom)
JIRA Plugin - ScriptRunner 소개 #2
관련 글 소개 #1: https://pineoc.blogspot.com/2019/03/scriptrunner-1.html ScriptRunner 소개 #2 지난 글에서는 Behaviours를 보았고 다음 내용인 콘솔, 리스너 등을 ...
-
에반젤리스트(Evangelist)란 무엇일까요? 단어 그대로 말한다면 '전도사'의 의미를 가지고 있습니다. 그리고 제가 공부하는 IT업계에서도 이 에반젤리스트가 있지요. 이분들이 하는 일은 쉽게 말해서 기술에 대해 전파하고 알리...
-
Nginx 를 이번에 사용하게 되었는데요. Nginx를 이용해서 폴더에 있는 파일을 받을 수 있게 하려합니다. mac OS에서 테스트할때의 nginx 의 nginx.conf 파일은 /usr/local/etc/nginx/nginx.conf 경...