반응형

훌륭한 직원을 그만두게 만드는 원인 9가지

 

 

1. 과로시킨다

일을 지나치게 많이 시키는 것만큼 좋은 직원들을 지치게 만드는 것은 없다. 제일 일 잘 하는 사람들을 열심히 굴리고 싶은 유혹은 강하기 때문에 관리자들은 자주 유혹에 넘어간다. 좋은 직원들에게 일을 많이 시키는 건 복잡한 문제다. 그들은 좋은 성과를 내서 벌을 받는 것 같은 기분이 들게 된다. 직원들을 과로시키는 것은 비생산적이기도 하다. 스탠포드의 새 연구에 의하면 일주일 노동 시간이 50시간을 넘어가면 시간당 생산성이 급격히 떨어지며, 55시간이 넘어가면 생산성이 너무 낮아져 더 이상 일을 할 수 없게 된다.

재능 있는 직원들이 하는 일을 꼭 늘려야 한다면 그들의 지위도 올려주는 게 좋다. 재능 있는 직원들은 더 많은 업무량을 받아들이겠지만, 그 일을 하는 과정에서 숨이 막힐 것 같다면 직장을 그만둘 것이다. 임금 인상, 승진, 직함 변경 등을 곁들이면 업무량이 늘어나도 받아들일 수 있다. 재능이 있다는 이유로 업무량만 늘린다면 그들은 자신이 얻을 자격이 있는 것을 주는 다른 직장을 찾을 것이다.

 

 

2. 좋은 성과에 대한 기여를 알아보고 보상을 하지 않는다.

격려의 힘을 과소평가하기 쉽다. 특히 의욕을 타고난 가장 일 잘 하는 사람들의 경우 그렇다. 누구나 응원을 좋아하고, 온 힘을 바쳐 열심히 일하는 사람들은 더욱 그렇다. 관리자들은 직원들과 의사소통을 하며 그들의 기분을 좋게 만드는 것이 무엇인지 알아내야 한다(어떤 사람은 임금 인상을, 어떤 사람은 공개적인 칭찬을 좋아한다). 그리고 좋은 성과에 대한 보상을 해야 한다. 관리자들이 제대로 한다면 제일 일 잘 하는 사람들에게는 이런 보상이 자주 주어질 것이다.

 

3. 직원들에게 신경을 쓰지 않는다.

이직자 중 절반 이상이 상사와의 관계 때문에 직장을 그만둔다. 현명한 회사들은 관리자들이 프로와 인간 사이의 균형을 잡게 한다. 직원의 성공을 축하하고, 힘든 시기를 겪을 때 공감하고, 사람들에게 상처를 주는 한이 있더라도 도전하는 상사들이 있다. 직원들을 진정 아끼지 않는 관리자라면 언제나 이직률이 높을 것이다. 개인적으로 아무 관계가 없고 오직 업무 성과에만 신경 쓰는 사람과 하루에 8시간 이상을 일한다는 건 불가능하다.

 

 

4. 약속을 지키지 않는다.

사람들에게 약속을 하면 그들을 아주 행복하게 하거나 그들이 떠나는 것을 보거나의 갈림길에 서게 된다. 약속을 지키면 당신은 믿을 수 있고 정직한 사람(이 두 가지는 상사의 아주 중요한 자질이다)이라는 것을 증명했기 때문에 직원들이 당신을 높이 사게 된다. 하지만 약속을 어기면 당신은 친한 척하고 무신경하며 무례한 사람으로 보이게 된다. 상사가 약속을 지키지 않는데 다른 사람들이 약속을 지킬 필요가 있을까?

 

 

5. 부적절한 사람을 고용하고 승진시킨다.

열심히 일하는 훌륭한 직원들은 마음가짐이 비슷한 프로와 함께 일하고 싶어한다. 관리자들이 좋은 사람을 열심히 찾아내서 고용하지 않는다면, 같이 일해야 하는 사람들은 크게 의욕을 잃게 된다. 부적절한 사람을 승진시키는 것은 더욱 나쁘다. 죽어라 일했는데 승진하지 못하고 다른 사람이 올라가는 것을 지켜봐야 한다면 그건 큰 모욕이다. 좋은 직원들이 떠날 만도 하다.

 

 

6. 직원들이 열정을 따르지 못하게 한다.

재능 있는 직원들은 열정적이다. 그들에게 자신의 열정을 따를 수 있는 기회를 주면 생산성과 직장에 대한 만족도가 올라간다. 하지만 사람들을 틀에 가둬놓고 싶어하는 관리자들이 많다. 그들은 직원들의 관심 범위를 넓히고 열정을 쫓게 하면 생산성이 떨어질까 봐 두려워한다. 그건 근거 없는 두려움이다. 직장에서 열정을 따를 수 있었던 사람들이 일반보다 5배 더 생산적인 즐거운 정신 상태를 경험한다는 걸 보여주는 연구들이 있다.

 

 

7. 기술을 키우게 해주지 못한다

직원들에게 무관심하지 않냐고 물으면 관리자들은 '신뢰', '자율성', '권한 부여' 등의 말로 변명한다. 그건 말도 안 되는 소리다. 직원의 재능이 얼마나 뛰어나든, 좋은 관리자들은 관리를 한다. 그들은 관심을 기울이고 늘 이야기를 듣고 반응한다.

관리에 시작은 있어도 끝은 없다. 재능 있는 직원을 두고 있다면 그들의 기술을 확장해갈 수 있는 영역을 찾아주는 것은 관리자의 몫이다. 가장 재능 있는 직원들은 피드백을 원한다. 재능이 덜한 직원들보다 더 강하게 원한다. 관리자는 계속 피드백을 주어야 한다. 그렇지 않다면 가장 뛰어난 직원들은 지루해 할 것이고 현실에 안주할 것이다.

 

 

8. 창의성을 발휘하지 못하게 한다.

가장 재능 있는 직원들은 하는 모든 일을 다 개선할 방법을 찾는다. 관리자가 현 상태가 편안하다는 이유로 변화하고 개선하지 못하게 하면 그들은 자기 직업을 싫어하게 된다. 타고난 창조욕을 우리에 가둔다면 그들을 제한할 뿐 아니라 관리자도 제한된다.

 

 

9. 지적으로 도전을 하지 못한다.

훌륭한 상사는 직원들에게 처음에는 불가능해 보이는 일들을 하게 한다. 재미없고 수적으로만 커지는 목표를 세우는 게 아니라, 아주 높은 목표를 세워 사람들이 적당히 요령을 피우지 못하게 한다. 그리고 좋은 관리자는 자신이 할 수 있는 모든 수단을 동원해 그들의 성공을 돕는다. 재능 있고 지적인 사람들이 너무 쉽거나 지루한 일을 하게 되면 그들은 지적으로 도전이 되는 다른 일을 찾는다.

 

 

결론

제일 일 잘 하는 사람들을 붙잡아두고 싶으면 그들을 어떻게 대할지 주의깊게 생각해 봐야 한다. 좋은 직원들은 강하지만, 재능이 있는 그들에겐 다른 선택지가 얼마든지 있다. 그들이 당신을 위해 일하고 싶어하게 만들어야 한다.

 

 

 

# http://www.huffingtonpost.com

 

.

반응형
반응형

호모 루덴스 페이 오프 이론(Homo Ludens Payoff Theory)


오픈소스 참여자들의 내적인 동기로 호모 루덴스 페이오프 라는 이유를 드는 학자들도 있다.


Homo Ludens : 유희하는 인간


이러한 동기는 많은 오픈소스 문서에서 발견할 수 있다고 설명하고 있다.

그리고 이러한 동기가 경제학적 분석을 함에 있어서 도움이 될 수 있다고 한다.


놀이의 인간 이론을 주장한 Huizinga는 놀이의 다섯 가지 필수 요소를 아래와 같이 설명한다.


  1. 놀이는 자유여야 한다.
  2. 놀이는 "통상적"이거나 "실제"삶이 아니어야 한다.
  3. 놀이는 "통상"의 삶에서 지역적으로나 시간적으로 구분되어야 한다.
  4. 놀이는 질서를 창조한다. 질서는 절대적이고 최상의 것이다.
  5. 놀이는 물질적인 관심과 연결되어서는 아니고 그것에서 어떠한 이익도 취하여서는 아니 된다.


https://www.bloter.net/archives/210929


.

반응형
반응형

- IaaS(Infrastructure as a Service) : 서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등 인프라를 구축하기 위해 여러가지가 필요합니다. Iaas는 이러한 것들을 가상의 환경에서 쉽고 편하게 이용할 수 있게 서비스 형태로 제공합니다. Iass를 서비스로 제공하기 위해 기존 서버 호스팅보다 H/W 확장성이 좋고 탄력적이며 빠른 제공을 할 수 있는 가상화 기술을 이용합니다. Iass는 Pass, Saas의 기반이 되는 기술입니다.


- PasS(Platform as a Service) : 서비스를 개발 할 수 있는 안정적인 환경(Platform)과 그 환경을 이용하는 응용 프로그램을 개발 할 수 있는 API까지 제공하는 형태를 Paas라고 합니다.


- SaaS(Software as a Service) : Cloud환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 것을 Saas라고 합니다. 예를들어 메일 서비스를 들 수 있습니다. 사용자는 이 시스템이 무엇으로 이루어져 있고 어떻게 동작 하고 있는지 그리고 메일을 백업을 어떻게 하는지 알 필요가 없습니다. 그저 서비스 형태로 원하는 단말기(PC, Tablet, SmartPhone 등등)에서 메일을 주고 받으며, 필요하면 언제든지 공간도 늘려서 서비스를 받을 수 있기 때문입니다.

 

클라우드.jpg

 

클라우드2.jpg

 

https://openpaas.cloudsc.kr/ : 클라우드 지원센터 OpenPaas

 

 


 
PaaS란 무엇인가? 
[펌]  http://www.itworld.co.kr/news/80349

PaaS에 대해서는 사람들이 혼동하는 부분이 있는 것 같다. 기능적인 측면에서, 그리고 사람들이 잘 이해하지 못한다는 측면에서 PaaS는 미들웨어와 비슷하다. 10~15년 전에는 미들웨어도 혼란스러운 기술이었다.
 
PaaS는 개발자를 위한 일련의 서비스로, 개발자들이 기반 인프라스트럭처에 대해 신경 쓰지 않고 앱을 개발하고 테스트할 수 있게 해준다. 개발자들은 앱을 개발해 내놓는 과정에서 서버, 스토리지, 백업 프로비저닝에 대해 걱정하고 싶어하지 않는다. 그저 코드를 작성하고 앱을 테스트하고 출시한 후 지속적으로 버그를 수정하는 데 전념하고 싶어한다. 서버 설비와 관련된 모든 백엔드 작업은 자동으로, 개발자가 인지하지 못하는 사이에 백그라운드에서 이루어져야 하는데, PaaS의 역할이 바로 그것이다.
 
결국 클라우드의 가상머신에서 실행되는 애플리케이션을 만드는 것인데, 그렇다면 IaaS와 별 차이가 없는 것 같다.
인프라스트럭처 계층을 다루는 사람이라면 보통 IT 부서에서 일하면서 소프트웨어 스택, 즉 가상화 계층, 연산, 스토리지를 구축하는 업무를 담당한다. 인프라스트럭처를 구성하는 이러한 모든 작업이야말로 개발자들이 피하고 싶어하는 것들이다. PaaS는 IaaS 위에서 작동하며 이러한 작업을 모두 자동으로 처리한다.
 
그렇다면 PaaS와 미들웨어의 차이점은 무엇인가?
미들웨어는 개발자에게 트랜잭션, 보안, 클러스터링 등의 세부적인 기능을 제공하는 소프트웨어 계층이다. 미들웨어를 통해 개발자는 이와 같은 문제들을 반복적으로 해결할 필요 없이 맞춤형 애플리케이션 구축에 전념할 수 있다. 그러나 미들웨어는 여전히 작업자가 직접 구성해서 서버에 배치하고 관리하고 모니터링해야 한다는 측면에서 “정적인” 소프트웨어다. 이러한 작업은 보통 IT팀이 담당했다.
 
PaaS는 미들웨어의 초집합으로서 개발자에게 미들웨어 서비스의 모든 장점을 제공하고 덧붙여 과거 IT 팀이 담당했던 운영 측면까지 포괄한다.
 
특히 유력 업체들을 중심으로 현재 PaaS 시장의 전망을 어떻게 보는가?
4개의 주요 자바 미들웨어 업체는 IBM, 오라클, VM웨어, 레드햇이다. 이들의 PaaS 전략을 지켜보면 상당히 흥미롭다. 이들은 시장이 클라우드를 향해 움직인다는 사실을 알고 있지만, 강점을 가지고 있는 영역은 클라우드가 아니라 자체 데이터센터이다. 이들 대형 리거시 업체들은 전통적인 비즈니스를 보호하면서 클라우드를 수용해야 하는 모순된 상황에 직면해 있다.
 
클라우드 환경에서 과감한 전략을 선보인 것은 클라우드 파운드리(Cloud Foundry)를 앞세운 VM웨어다. VM웨어는 원래 ‘전용(Proprietary)과 비공개’를 전통으로 하는 업체이지만 PaaS 전략을 추진하면서 PaaS를 오픈소스화했고, 피보탈 이니셔티브(Pivotal Initiative)에서 빅 데이터 연구와 함께 PaaS를 도입했다. 그러나 서비스와 소프트웨어 사이에서 여전히 상충하는 부분이 있다. 상충이라는 면에서 VM웨어와 마찬가지 상황인 레드햇은 지난 11월 오픈시프트(OpenShift)를 완전히 전용화하기로 결정했다. 데이터센터 분야에서 가진 강점에 집중하겠다는 의도를 명확히 드러낸 것이다.

반응형
반응형
s2graph - https://github.com/kakao/s2graph

 

 

S2Graph

S2Graph is a graph database designed to handle transactional graph processing at scale. Its REST API allows you to store, manage and query relational information using edge and vertexrepresentations in a fully asynchronous and non-blocking manner. This document covers some basic concepts and terms of S2Graph as well as help you get a feel for the S2Graph API.

 

 

 

반응형
반응형

http://neo4j.com/developer/get-started/

 

Guide → Your First Steps


Getting started with Neo4j is easy. Take your first steps in becoming an expert Neo4j developer.

Guide → What is a Graph Database?


Connected information is everywhere in our world. Neo4j was build to efficiently store, handle and query highly connected elements in your data model. With a powerful and flexible data model you can represent your real-world, variably structured information without a loss of fidelity. The property graph model is easy to understand and handle, especially for object oriented and relational developers.

Guide → From Relational to Neo4j


These guides explores the differences between relational and graph databases and their data models. In addition, we show how to integrate graph databases with relational databases and how to import data from a relational store.

반응형

'프로그래밍 > Architect' 카테고리의 다른 글

[클라우드] IaaS, PaaS, SaaS란 무엇인가.  (0) 2015.11.09
s2graph - https://github.com/kakao/s2graph  (0) 2015.10.29
머신러닝의 미래  (0) 2015.10.15
[Chrome] remote - Debugging  (0) 2015.09.22
엑셀 하이퍼링크 함수  (0) 2015.09.01
반응형

[머신러닝 특집] 강남역 3번 자판기가 일주일 뒤 고장납니다

MS 애저 머신러닝

 

 

https://www.imaso.co.kr/news/article_view.php?article_idx=20151005114240

 

모두를 위한 데이터 문화

사티아 나델라(Satya Nadella) 마이크로소프트(MS) 최고경영자(CEO)는 2014년 취임 직후 ‘모두를 위한 데이터 문화’를 강조했다. 기업 내 모든 사용자(DBAs, BI 개발자, 비즈니스 유저, 데이터 분석가, 데이터 사이언티스트, C레벨 등)가 직관이 아닌 데이터로 통찰력을 얻어야 하며 각 역할에 적합한 도구가 제공됐을 때 이런 문화가 정착할 수 있다는 것이 나델라 CEO의 메시지의 핵심이다.

학위를 보유한 박사가 알고리즘에 대한 배경지식을 갖췄기 때문에 분석 모델을 더 잘 설명할 수 있겠지만 항상 더 나은 모델을 만든다고는 할 수 없다. 몇 년 전까지만 해도 데이터 과학 분야는 제반 기술이 성숙하지 않고 기술의 난이도도 높아서 일부 전문가를 제외하고 접근하기 어려운 영역이었던 것을 생각하면 상황이 많이 바뀌었다.

빅데이터의 다음 단계, 예측 분석

시장조사 기관 가트너는 빅데이터 분석 영역을 두 부분으로 나눈다. 전통적인 BI(비즈니스 인텔리전스)와 고급 분석이다. BI 영역에서는 과거에 무슨 일이 있었고 왜 일어났는지를 분석한다. 고급 분석 영역에 속한 예측분석은 급변하는 비즈니스 환경에서 지금 무슨 일이 일어나고 있으며 앞으로는 어떨지를 보여준다. 

예측 분석을 위해 사용되는 머신러닝이라는 용어 자체는 새로울 것이 없다. 하지만 클라우드, 빅데이터, IoT(사물 인터넷), 인메모리와 같은 제반 기술의 발전에 힘입어 비즈니스 영역에서의 활용 가치가 활발하게 논의되고 있다.

애저 머신러닝(Azure ML)

MS는 각광받고 있는 예측 분석 솔루션으로서의 머신러닝을 ‘기존 데이터를 학습해 미래의 동작, 결과, 추세를 예측하는 모델을 사용하는 컴퓨팅 시스템’으로 설명한다. 머신러닝은 온라인 쇼핑 사이트에서 보는 제품 추천, 신용카드 사용 시 부정행위 검색 등 생활 밀착형 서비스뿐만 아니라 제조 분야에서의 예방 정비와 의료업계의 개인화 서비스, 도시공학에서 교통량 분산까지 다양한 산업분야에서 위력을 발휘하고 있다.

 

 

애저 머신러닝은 이렇게 강력한 예측 모델을 신속하게 만들고 분석 솔루션으로 배포할 수 있도록 지원하는 클라우드 기반의 예측 분석 서비스다. 애저 머신러닝의 가장 큰 특징 세 가지를 살펴보겠다.

1. 익숙한 방법으로 예측 모델 생성

고급 분석 영역에서의 도구는 비싼 상업용 소프트웨어나 복잡한 프로그래밍으로 작성해야 하는 R, 파이썬(Python) 등이다. 또 대용량의 데이터를 이용해 모델을 작성하려면 적합한 스토리지와 컴퓨팅 파워가 필요해서 전문가가 아니면 접근하기 어려운 영역이었다.

애저 머신러닝 서비스는 쉽다. 웹 브라우저로 ML 스튜디오(ML Studio)에 접속한 뒤 단순한 데이터 흐름을 통해 모델을 생성할 수 있다. 이미 구현된 R과 파이썬 패키지를 최소한의 수정만으로 애저 머신러닝 내에 통합하는 기능도 있다. 프로그래밍에 익숙지 않은 사용자도 고급 분석을 경험할 수 있도록 샘플 실험을 제공한다. 모든 데이터 과학자의 기술 수준에 맞춘 개발 환경을 제공하는 것이다.

애저 머신러닝에서 제공하는 라이브러리는 핫메일(Hotmail), 빙(Bing), 엑스박스(Xbox), 스카이프(Skype)와 같이 MS 비즈니스에서 이미 검증된 알고리즘으로 이뤄져 있다. 모델 생성 시 제공되는 알고리즘은 가장 많이 쓰이는 기본값으로 설정됐다. 때문에 상세 설정에 대한 고민 없이 모델을 만들고 테스트할 수 있다.

작성된 모델을 누구든 재사용하도록 공유할 수 있다. 한 명의 데이터 과학자가 실험을 하다가 중단한 경우 다른 사용자에게 실험을 공유할 수 있다. 중단된 시점부터 다른 데이터 과학자가 실험을 이어나갈 수 있다. 또는 진행중인 실험을 복사해 다른 데이터 과학자가 사용할 수도 있다. 모델의 완성도를 높이기 위해 다양한 관점의 방안을 제시하는 과정이다.

2. 훈련된 모델을 몇 분 만에 웹 서비스로 배포

기존의 도구로 모델을 성공적으로 만들었다고 해도 실제 운영에 적용해 비즈니스 가치를 창출하는 건 쉬운 일이 아니다. 그래서 애저 머신러닝은 설계부터 응용을 염두에 두고 개발됐다. 이런 모델을 한 번의 클릭만으로 웹 서비스로 배포할 수 있다. 완성된 모델을 몇 분만에 웹 서비스로 배포해 손쉽게 응용 프로그램에 활용될 수 있으므로 상품화하는 데까지의 시간을 획기적으로 단축한다는 의미다.

배포된 웹 서비스는 요구-응답(Request-Response)과 배치 실행(Batch Execution) 두 가지 형태로 사용 가능하다. 요구-응답 서비스는 레코드를 하나씩 받아서 처리하므로 지연이 적고 대규모로 확장 가능한 인터페이스를 제공한다. 배치 실행 서비스는 비동기 방식으로 대용량 데이터의 레코드를 한 번의 배치로 처리한다. 각각의 장점이 있으므로 비즈니스 목적에 맞게 선택해 사용하면 된다.

웹 서비스는 클라우드 포털로 관리할 수 있다. 예를 들면 웹 서비스를 실행 가능한 두 가지 형태로 테스트할 수 있는 UI를 제공하고 접근을 위한 키를 관리하거나 요구 사항이 바뀌었을 때 솔루션을 업데이트하고 변경 뒤 배포된 웹 서비스를 운영 모드로 전환하는 작업 등을 웹 브라우저에서 수행 가능하다.

3. 만들어진 솔루션을 세계로 확대

다양한 실험을 거쳐 완성한 솔루션은 생태계에서 사용할만한 가치가 있다. 클릭 한 번으로 솔루션을 애저 머신러닝 갤러리에 공유하면 된다. 커뮤니티 멤버의 성공에 기여할 수도 있고 다른 데이터 과학자가 더 나은 솔루션으로 발전하도록 지원할 수도 있다. 완성도가 높고 상업적 가치가 있는 솔루션은 애저 마켓플레이스에 게시해 가격을 책정하면 세계 사용자를 상대로 당장 수익을 낼 수도 있다.

 

반응형
반응형

Remote Debugging on Android with Chrome

https://developer.chrome.com/devtools/docs/remote-debugging



1. 안드로이드 폰 : 환경설정 > 개발자모드 선택 후  "USB Debugging" 모드 선택해야함.


2. PC 크롬 브라우저에  chrome://inspect.  입력.


3. PC 와 안드로이드폰을 USB로 연결.


4. PC 크롬 브라우저에 연결된 핸드폰 정보가 나온다. 브라우저에서 "inspect" 를 선택하면

   안드로이드폰에서 접속한 크롬 브라우저의 내용이 나온다.

   - 안드로이드폰의 크롬브라우저를 PC에서 보는 기능 구현.


=================================================================================

The way your web content behaves on mobile can be dramatically different from the desktop experience. Remote debugging with Chrome DevTools lets you debug live content on your Android device from your development machine.

Debugging Chrome for Android using the Chrome Developer Tools

Remote debugging on Android supports:

To begin remote debugging, you need:

  • Chrome 32 or later installed on your development machine.
  • A USB cable to connect your Android device.
  • For browser debugging: Android 4.0+ and Chrome for Android.
  • For app debugging: Android 4.4+ and a WebView configured for debugging.

Note: Remote debugging requires your version of desktop Chrome to be newer than the version of Chrome for Android on your device. For best results, use Chrome Canary(Mac/Windows) or the Chrome Dev channel release (Linux) on desktop.

If at any time you encounter problems with remote debugging, refer to the Troubleshooting section.

Follow these instructions to set up your Android device for remote debugging.

On your Android device, select Settings > Developer options.

developer options
Developer options on the Settings page.
Note: On Android 4.2 and later, the developer options are hidden by default. To enable the developer options, select Settings > About phone and tap Build number seven times.
About phone screen
Enabling the developer options on Android 4.2+.

In Developer options, select the USB debugging checkbox:

USB debugging settings in Developer options
Enabling USB debugging on Android.

An alert prompts you to allow USB debugging. Tap OK.

allow USB debugging message

Connect the Android device to your development machine using a USB cable.

Note: If you are developing on Windows, install the appropriate USB driver for your device. See OEM USB Drivers on the Android Developers' site.

After setting up remote debugging on Android, discover your device in Chrome.

On your desktop Chrome browser, navigate to chrome://inspect. Confirm that Discover USB devices is checked:

Discover USB Devices in chrome://inspect
Tip: You can also get to chrome://inspect by selecting Chrome menu > More tools > Inspect Devices.

On your device, an alert prompts you to allow USB debugging from your computer. Tap OK.

USB debugging permission alert
Tip: To skip this alert in the future, check Always allow from this computer.

The message USB debugging connected displays in the device's notification drawer.

Note: During remote debugging, Chrome prevents your device’s screen from going to sleep. This feature is useful for debugging, but is also less secure. So be sure to keep an eye on your device!

On your computer, the chrome://inspect page displays every connected device, along with its open tabs and debug-enabled WebViews.

The chrome://inspect page.
Viewing connected devices from the chrome://inspect page.

If you have problems finding your device on the chrome://inspect page, see the Troubleshooting section.

From the chrome://inspect page, you can launch DevTools and debug your remote browser tabs.

To start debugging, click inspect below the browser tab you want to debug.

Click inspect to start remote debugging

A new instance of Chrome DevTools launches on your computer. From this instance, you can interact with the selected browser tab on your device in real time.

Debugging Chrome for Android using the Chrome Developer Tools
Debug a web page on your Android phone from your laptop using Chrome DevTools.

For example, you can use DevTools to inspect web page elements on your device:

  • When you mouse over an element in the Elements panel, DevTools highlights the element on your device.
  • You can also click the Inspect Element inspect element icon icon in DevTools and tap your device screen. DevTools highlights the tapped element in the Elements panel.

Note: The version of Chrome on your device determines the version of DevTools used during remote debugging. For this reason, the remote debugging DevTools might differ from the version that you normally use.

Here are a few tips to help get you started with remote debugging:

  • Use F5 (or Cmd+r on Mac) to reload a remote page from the DevTools window.
  • Keep the device on a cellular network. Use the Network panel to view the network waterfall under actual mobile conditions.
  • Use the Timeline panel to analyze rendering and CPU usage. Hardware on mobile devices often runs much slower than on your development machine.
  • If you’re running a local web server, use port forwarding or virtual host mapping to access the site on your device.

On Android 4.4 (KitKat) or later, you can use DevTools to debug WebView content in native Android applications.

WebView debugging must be enabled from within your application. To enable WebView debugging, call the static method setWebContentsDebuggingEnabled on the WebView class.

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
      WebView.setWebContentsDebuggingEnabled(true);
  }

This setting applies to all of the application's WebViews.

Tip: WebView debugging is not affected by the state of the debuggable flag in the application's manifest. If you want to enable WebView debugging only when debuggable is true, test the flag at runtime.

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    if (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE))
    { WebView.setWebContentsDebuggingEnabled(true); }
  }

The chrome://inspect page displays a list of debug-enabled WebViews on your device.

To start debugging, click inspect below the WebView you want to debug. Use DevTools as you would for aremote browser tab.

Inspecting elements in a WebView
Debugging a remote Android WebView with the Chrome DevTools.

The gray graphics listed with the WebView represent its size and position relative to the device's screen. If your WebViews have titles set, the titles are listed as well.

Shifting your attention between screens isn’t always convenient. Screencast displays your device's screen right alongside DevTools on your development machine. You can interact with the content on your device from the screencast too.

As of KitKat 4.4.3, screencast is available for both browser tabs and Android WebViews.

To start screencasting, click the Screencast screencast icon icon in the upper right corner of your remote debugging DevTools window.

screencast location in DevTools
The Screencast icon.

The Screencast panel opens on the left and displays a live view of your device's screen.

Open a new remote tab.
Live interactive screencast from your Android to your laptop.

Screencast only displays page content. Transparent portions of the screencast are covered by the omnibox, device keyboard, and other device interfaces.

Note: Because screencast continuously captures frames, it has some performance overhead. If your tests are sensitive to frame rate, disable screencast.

When you interact with the screencast, clicks are translated into taps, firing proper touch events on the device. Keystrokes from your computer are sent to the device, so you can avoid typing with your thumbs.

Other DevTools work with the screencast too. For example, to inspect an element, click the Inspect Element inspect element icon icon and then click inside the screencast.

Tips: To simulate a pinch gesture, hold Shift while dragging. To scroll, use your trackpad or mouse wheel or fling with your pointer.

Your phone can't always reach the content on your development server. They might be on different networks. Moreover, you might be developing on a restricted corporate network.

Port forwarding on Chrome for Android makes it easy to test your development site on mobile. It works by creating a listening TCP port on your mobile device that maps to a particular TCP port on your development machine. Traffic between these ports travels through USB, so the connection doesn't depend on your network configuration.

To enable port forwarding:

  1. Open chrome://inspect on your development machine.
  2. Click Port Forwarding. The port forwarding settings display.
    port forwarding button location
  3. In the Device port field, enter the port number you want your Android device to listen on. 
    (The default port is 8080.)
  4. In the Host field, enter the IP address (or hostname) and port number where your web application is running. 
    This address can be any local location accessible from your development machine. Currently, port numbers must be between 1024 and 32767 (inclusive).
  5. Check Enable port forwarding.
  6. Click Done.
    port forwarding dialog
    The port forwarding settings.

The port status indicators on chrome://inspect are green when port forwarding is successful.

viewing local content on mobile
Viewing the content of your local web server on Android using port forwarding.

Now you can open a new Chrome for Android tab and view the content of your local server on your device.

Port forwarding works great when you're developing on localhost. But there are cases when you might be using a customized local domain.

For example, suppose you're using a third party JavaScript SDK that only works on whitelisted domains. So you added an entry, such as 127.0.0.1 production.com, to your hosts file. Or maybe you configured a customized domain using virtual hosts on your web server (MAMP).

If you want your phone to reach content on your customized domain, you can use port forwarding in combination with a proxy server. The proxy maps requests from your device to the correct location on the host machine.

Virtual host mapping requires you to run a proxy server on the host machine. All requests from your Android device will be forwarded to the proxy.

To set up port forwarding to a proxy:

  1. On the host machine, install proxy software such as Charles Proxy (free trial available) or Squid.
  2. Run the proxy server and note the port that it's using.

    Note: The proxy server and your development server must be running on different ports.

  3. In a Chrome browser, navigate to chrome://inspect.
  4. Click Port forwarding. The port forwarding settings display.
    port forwarding button location
  5. In the Device port field, enter the port number that you want your Android device to listen on. 
    Use a port that Android allows, such as 9000.
  6. In the Host field, enter localhost:xxxx, where xxxx is the port your proxy is running on.
  7. Check Enable port forwarding.
  8. Click Done.
    port forwarding dialog
    Port forwarding to a proxy.

The proxy on the host machine is set up to make requests on behalf of your Android device.

Your Android device needs to communicate with the proxy on the host machine.

To configure the proxy settings on your device:

  1. Select Settings > Wi-Fi.
  2. Long-press the network that you are currently connected to.

    Note: Proxy settings apply per network.

  3. Tap Modify network.
  4. Select Advanced options. 
    The proxy settings display.
    phone proxy settings
    Proxy settings on the device.
  5. Tap the Proxy menu and select Manual.
  6. In the Proxy hostname field, enter localhost.
  7. In the Proxy port field, enter 9000.
  8. Tap Save.

With these settings, your device forwards all of its requests to the proxy on the host machine. The proxy makes requests on behalf of your device, so requests to your customized local domain are properly resolved.

Now you can load local domains on Chrome for Android just as you would on the host machine.

virtual host mapping
Using virtual host mapping to access a customized local domain from an Android device.

Tip: To resume normal browsing, remember to revert the proxy settings on your device after you disconnect from the host.

  • If you are developing on Windows, verify that the appropriate USB driver for your device is installed. SeeOEM USB Drivers on the Android Developers' site.
  • Verify that the device is connected directly to your machine, bypassing any hubs.
  • Verify that USB debugging is enabled on your device. Remember to accept the USB debugging permission alerts on your device.
  • On your desktop browser, navigate to chrome://inspect and verify that Discover USB devices is checked.
  • Remote debugging requires your version of desktop Chrome to be newer than the version of Chrome for Android on your device. Try using Chrome Canary (Mac/Windows) or the Chrome Dev channel release (Linux) on desktop.

If you still can't see your device, unplug it. On your device, select Settings > Developer options. Tap Revoke USB debugging authorizations. Then, retry the device setup and discovery processes.

  • On your device, open the Chrome browser and navigate to the web page you want to debug. Then, refresh the chrome://inspect page.
  • Verify that WebView debugging is enabled for your app.
  • On your device, open the app with the WebView you want to debug. Then, refresh the chrome://inspectpage.

Lastly, if remote debugging still isn't working, you can revert to the legacy workflow using the adb binary from the Android SDK.

You no longer need to configure ADB or the ADB plugin to debug remote browser tabs and WebViews. Remote debugging for Android is now part of the standard Chrome DevTools. It works on all operating systems: Windows, Mac, Linux, and Chrome OS.

If you do encounter problems with remote debugging, you can try the legacy workflow using the adb binary from the Android SDK.

Note: The direct USB connection between Chrome and the device might interrupt youradb connection. Before establishing your adb connection, uncheck Discover USB deviceson chrome://inspect. Then, disconnect and reconnect the device.

For information about the remote debugging interaction protocol, refer to the Debugger Protocoldocumentation and chrome.debugger.



반응형
반응형

엑셀 하이퍼링크 함수

 

구문

 

HYPERLINK(link_location,friendly_name)

 

HYPERLINK 함수 구문에는 다음과 같은 인수가 사용됩니다.

 

link_location   

 필수 요소입니다. 열려는 문서의 경로 및 파일 이름입니다. link_location은 Excel 워크시트나 통합 문서의 특정 셀이나 이름이 지정된 범위와 같은 문서의 특정 위치 또는 Microsoft Word 문서의 책갈피 등 문서 내의 위치를 참조할 수 있습니다. 경로는 하드 디스크 드라이브에 저장되어 있는 파일에 대한 경로일 수도 있고, 서버상의 UNC(Universal Naming Convention) 경로일 수도 있으며, 인터넷 또는 인트라넷상의 URL(Uniform Resource Locator) 경로일 수도 있습니다.

참고   Excel Online에서는 HYPERLINK 함수를 웹 주소(URL)에만 사용할 수 있습니다. link_location은 따옴표로 묶은 텍스트 문자열 또는 텍스트 문자열 형식의 링크를 포함하는 셀에 대한 참조가 될 수 있습니다.

link_location에 지정된 이동 대상이 존재하지 않거나 제대로 작동하지 않는 경우 해당 셀을 클릭하면 오류가 발생합니다.

 

friendly_name   

 선택 요소입니다. 셀에 표시되는 이동 텍스트 또는 숫자 값입니다. friendly_name은 밑줄이 그어진 파란색으로 표시됩니다. friendly_name을 생략하면 link_location이 이동 텍스트로 셀에 표시됩니다.

friendly_name은 값, 텍스트 문자열, 이름, 이동 텍스트나 값을 포함하는 셀 등이 될 수 있습니다.

friendly_name이 오류값(예: #VALUE!)을 반환하면 셀에 이동 텍스트 대신 오류값이 표시됩니다.

반응형

+ Recent posts