Offcanvas

������

'아폴로 11호 vs. 모바일 앱' 옛날처럼 코딩할 수 없는 이유 5가지

미국 아이오와 민주당 코커스(당원대회) 투표 결과를 집계하는 모바일 앱이 오류를 일으키면서 벌어진 대소동은 상황이 얼마나 악화될 수 있는지를 프로그래머에게 일깨워 주는 사건이었다. 그리 많지도 않은 투표수를 세는 것은 자율 주행 자동차를 만들거나, 영화를 추천하도록 AI를 훈련하거나, 은행 데이터베이스를 안전하게 업데이트하는 것만큼 복잡하지 않다. 하지만 프로그래머는 개표를 집계하는 간단한 작업조차 해낼 수 없었다. 한 트윗에서는 “인간의 기술력으로 달에 갔었다는 사실을 믿기 어렵다”고 빈정댔다.    문제는 달까지 날아가는 것과의 비교가 실제로 공평하지 않다는 것이다. 아폴로 착륙선을 달로 안내하는 것이 수천 개의 투표를 집계하는 것보다 훨씬 어려워 보인다. 하지만 실제로는 투표 집계가 이를 둘러싼 모든 추가 작업 때문에 훨씬 더 복잡하다. 물론, 쉬워지는 부분도 있다. 소위 새로운 “서버리스(serverless)” 옵션은 가장 필수적인 로직만 작성하면 완성할 수 있다고 약속하지만, 아직은 기술이 더 발전해야 한다. 함수 작성은 더 간단해졌지만, 나머지 시간엔 환경 구성과 씨름하고 있다. 몇 시간 동안 수백 줄의 YAML과 의사 결정문을 작성하지만, 어떤 이유에서인지 코딩으로 생각되지 않는다.  코딩이든 아니든, 그 이유는 다음의 5가지로 설명할 수 있다. 프로그래머가 아니라면 이해할 수 없겠지만, 제시하는 이유를 변명이 아닌 설명으로 이해하면 좋겠다. 소프트웨어 개발은 현재 훨씬 어렵고 복잡하다.      아폴로 11호의 코드가 더 단순했다 미 항공우주국(NASA)이 하는 일이 무엇일지 감을 잡을 수 있는 방법의 하나는 현재 깃허브 저장소에 길이 남아 전해온 코드 중 일부를 읽어보는 것이다. 파일을 무작위로 선택한다. 예를 들어 GROUND_TRACKING_DETERMINATION_PROGRAM.agc는 204줄로 작성됐고, 이 중 85줄이 주석이다. 여러 가지 옵션의 연산 수십 개를 한 줄로...

NASA 코딩 어셈블리 함수 아폴로11호

2020.02.21

미국 아이오와 민주당 코커스(당원대회) 투표 결과를 집계하는 모바일 앱이 오류를 일으키면서 벌어진 대소동은 상황이 얼마나 악화될 수 있는지를 프로그래머에게 일깨워 주는 사건이었다. 그리 많지도 않은 투표수를 세는 것은 자율 주행 자동차를 만들거나, 영화를 추천하도록 AI를 훈련하거나, 은행 데이터베이스를 안전하게 업데이트하는 것만큼 복잡하지 않다. 하지만 프로그래머는 개표를 집계하는 간단한 작업조차 해낼 수 없었다. 한 트윗에서는 “인간의 기술력으로 달에 갔었다는 사실을 믿기 어렵다”고 빈정댔다.    문제는 달까지 날아가는 것과의 비교가 실제로 공평하지 않다는 것이다. 아폴로 착륙선을 달로 안내하는 것이 수천 개의 투표를 집계하는 것보다 훨씬 어려워 보인다. 하지만 실제로는 투표 집계가 이를 둘러싼 모든 추가 작업 때문에 훨씬 더 복잡하다. 물론, 쉬워지는 부분도 있다. 소위 새로운 “서버리스(serverless)” 옵션은 가장 필수적인 로직만 작성하면 완성할 수 있다고 약속하지만, 아직은 기술이 더 발전해야 한다. 함수 작성은 더 간단해졌지만, 나머지 시간엔 환경 구성과 씨름하고 있다. 몇 시간 동안 수백 줄의 YAML과 의사 결정문을 작성하지만, 어떤 이유에서인지 코딩으로 생각되지 않는다.  코딩이든 아니든, 그 이유는 다음의 5가지로 설명할 수 있다. 프로그래머가 아니라면 이해할 수 없겠지만, 제시하는 이유를 변명이 아닌 설명으로 이해하면 좋겠다. 소프트웨어 개발은 현재 훨씬 어렵고 복잡하다.      아폴로 11호의 코드가 더 단순했다 미 항공우주국(NASA)이 하는 일이 무엇일지 감을 잡을 수 있는 방법의 하나는 현재 깃허브 저장소에 길이 남아 전해온 코드 중 일부를 읽어보는 것이다. 파일을 무작위로 선택한다. 예를 들어 GROUND_TRACKING_DETERMINATION_PROGRAM.agc는 204줄로 작성됐고, 이 중 85줄이 주석이다. 여러 가지 옵션의 연산 수십 개를 한 줄로...

2020.02.21

'몰래 하는 맛' 비밀스럽게 즐기는 10가지 나쁜 프로그래밍 습관

엄마 몰래 쿠키를 먹고, 저녁에 와인을 다소 과하게 마시고, 요금 미터기 시간이 지난 다음에도 주차장에 차를 세워 두고, 급커브 구간을 너무 빠르게 돌아 나간 경험은 모두가 있을 것이다. 물론 프로그래밍의 기본적인 이런저런 규칙도 위반한다. 나쁜 행동이라는 사실은 모두가 알고 수긍한다. 그러나 비밀스럽게 그 나쁜 행동을 즐긴다. 우리는 좋은 프로그래밍 규칙을 조롱하는 나쁜 코드를 쓰고도 아무렇지도 않게 잘 살고 있다. 프로그래밍의 신이 내리는 벼락을 맞지도 않았고 책상이 폭발하지도 않았다. 사실 코드는 컴파일되어 이미 전달됐고 고객도 만족한 것 같다.    나쁜 프로그래밍은 예를 들어 전기 철조망을 혀로 핥거나 호랑이의 꼬리를 잡아당기는 수준의 행동은 아니기 때문이다. 대부분의 경우에는 아무 탈없이 넘어간다. 규칙이라 해도 위반 시 코드가 사망하는 엄중한 명령이 아니라 가이드라인 또는 스타일 제안에 가깝다. 물론 코드가 비웃음의 대상이 될 수도 있고 경우에 따라서는 공개적인 망신을 당하기도 한다. 그러나 규약에 저항한다는 사실은 이른바 사회적인 좋은 코드의 관습을 어기는 데서 오는 스릴을 느끼게 해준다. 게다가 때로는 규칙을 어기는 편이 더 좋을 때도 있다. (쉿!) 그렇게 나온 코드가 더 깔끔하고 더 빠르거나 간소할 수 있다. 규칙은 일반적으로 지나치게 광범위한데, 재주가 있는 프로그래머는 그 규칙을 어김으로써 코드를 더 개선할 수 있다. 상사에게 말하면 안 되지만 가끔은 자기만의 방법으로 코딩하는 편이 더 좋다. 무조건 지켜야 하는 확고한 규칙이라고 생각하는 사람들도 있지만, 실제로는 많은 프로그래머들이 자주 어기고 그 결과로 성공과 즐거움을 얻는 10가지 규칙을 살펴보자.   나쁜 프로그래밍 습관 1 : 베끼기 학교에서는 분명 잘못된 행동이다. 그러나 직장의 경우 명확하지 않다. 물론 훔치면 안 되는 코드 블록도 있다. 출처가 독점 코드인 경우, 특히 저작권 메시지까지 붙어 있다면 가져와서는 안 된다. 자기만의 코드를 ...

습관 프로그래밍 디버깅 함수 무한루프 연산자

2019.12.10

엄마 몰래 쿠키를 먹고, 저녁에 와인을 다소 과하게 마시고, 요금 미터기 시간이 지난 다음에도 주차장에 차를 세워 두고, 급커브 구간을 너무 빠르게 돌아 나간 경험은 모두가 있을 것이다. 물론 프로그래밍의 기본적인 이런저런 규칙도 위반한다. 나쁜 행동이라는 사실은 모두가 알고 수긍한다. 그러나 비밀스럽게 그 나쁜 행동을 즐긴다. 우리는 좋은 프로그래밍 규칙을 조롱하는 나쁜 코드를 쓰고도 아무렇지도 않게 잘 살고 있다. 프로그래밍의 신이 내리는 벼락을 맞지도 않았고 책상이 폭발하지도 않았다. 사실 코드는 컴파일되어 이미 전달됐고 고객도 만족한 것 같다.    나쁜 프로그래밍은 예를 들어 전기 철조망을 혀로 핥거나 호랑이의 꼬리를 잡아당기는 수준의 행동은 아니기 때문이다. 대부분의 경우에는 아무 탈없이 넘어간다. 규칙이라 해도 위반 시 코드가 사망하는 엄중한 명령이 아니라 가이드라인 또는 스타일 제안에 가깝다. 물론 코드가 비웃음의 대상이 될 수도 있고 경우에 따라서는 공개적인 망신을 당하기도 한다. 그러나 규약에 저항한다는 사실은 이른바 사회적인 좋은 코드의 관습을 어기는 데서 오는 스릴을 느끼게 해준다. 게다가 때로는 규칙을 어기는 편이 더 좋을 때도 있다. (쉿!) 그렇게 나온 코드가 더 깔끔하고 더 빠르거나 간소할 수 있다. 규칙은 일반적으로 지나치게 광범위한데, 재주가 있는 프로그래머는 그 규칙을 어김으로써 코드를 더 개선할 수 있다. 상사에게 말하면 안 되지만 가끔은 자기만의 방법으로 코딩하는 편이 더 좋다. 무조건 지켜야 하는 확고한 규칙이라고 생각하는 사람들도 있지만, 실제로는 많은 프로그래머들이 자주 어기고 그 결과로 성공과 즐거움을 얻는 10가지 규칙을 살펴보자.   나쁜 프로그래밍 습관 1 : 베끼기 학교에서는 분명 잘못된 행동이다. 그러나 직장의 경우 명확하지 않다. 물론 훔치면 안 되는 코드 블록도 있다. 출처가 독점 코드인 경우, 특히 저작권 메시지까지 붙어 있다면 가져와서는 안 된다. 자기만의 코드를 ...

2019.12.10

딥러닝의 한 갈래 '지도학습'이란?

머신러닝은 데이터로부터 자동으로 모델을 생성하는 알고리즘이 포함된 인공지능의 한 지류다. 머신러닝의 종류는 크게 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 능동적 머신러닝(Active Machine Learning) 등 4가지가 있다. 강화학습과 능동적 머신러닝은 상대적으로 새롭기 때문에 이런 종류의 목록에서 생략될 때도 있다. 또한 반 지도학습(Semi-supervised Learning)도 목록에 포함해야 한다.   지도학습이란 무엇인가? 지도학습은 올바른 답변(목표 값)으로 태그된 학습 데이터부터 출발한다. 학습 과정 후 이미 태그되지 않은 유사한 데이터에 대한 답을 예측할 수 있는 조정된 웨이트를 가진 모델을 얻게 된다. 오버피팅이나 언더피팅 없이 정확도가 높은 모델을 훈련해야 한다. 정확도가 높다는 것은 손실 함수를 최적화했다는 뜻이다. 분류 문제 맥락에서 정확도는 모델이 올바른 출력을 생성하는 예의 비율이다. 오버피팅이란 모델이 관찰한 데이터와 너무 긴밀하게 연관되어 있어서 관찰하지 않은 데이터로 일반화하지 않는다는 뜻이다. 언더피팅은 모델이 데이터의 기본 트렌드를 포착할 만큼 충분히 복잡하지 않다는 뜻이다. 손실 함수는 모델의 ‘나쁨’을 반영하기 위해 선택한다. 최고의 모델을 찾기 위해 손실을 최소화한다. 수치적 (회귀) 문제의 경우 손실 함수는 MSE(Mean Square Error)인 경우가 많으며 RMSE(Root Mean Squared Error)나 RMSD(Root Mean Square Deviation)으로도 표현된다. 이는 데이터 포인트와 모델 곡선 사이의 유클리드 거리에 해당한다. 분류 (비수치적) 무제의 경우 손실 함수는 ROC 곡선 아래의 영역(AUC), 평균 정확도, 정밀도 기억, 로그 손실 등 일련의 조치 중 하나에 기초할 수 있다. (AUC와 ROC 곡선에 대한 설명은 아래를 참조한다). 오버...

통계 지도학습 비지도학습 능동적 머신러닝 Unsupervised Learning Supervised learning Active Machine Learning reinforcement learning 강화학습 신경망 데이터 정제 함수 인공지능 하이퍼파라미터

2019.06.21

머신러닝은 데이터로부터 자동으로 모델을 생성하는 알고리즘이 포함된 인공지능의 한 지류다. 머신러닝의 종류는 크게 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 능동적 머신러닝(Active Machine Learning) 등 4가지가 있다. 강화학습과 능동적 머신러닝은 상대적으로 새롭기 때문에 이런 종류의 목록에서 생략될 때도 있다. 또한 반 지도학습(Semi-supervised Learning)도 목록에 포함해야 한다.   지도학습이란 무엇인가? 지도학습은 올바른 답변(목표 값)으로 태그된 학습 데이터부터 출발한다. 학습 과정 후 이미 태그되지 않은 유사한 데이터에 대한 답을 예측할 수 있는 조정된 웨이트를 가진 모델을 얻게 된다. 오버피팅이나 언더피팅 없이 정확도가 높은 모델을 훈련해야 한다. 정확도가 높다는 것은 손실 함수를 최적화했다는 뜻이다. 분류 문제 맥락에서 정확도는 모델이 올바른 출력을 생성하는 예의 비율이다. 오버피팅이란 모델이 관찰한 데이터와 너무 긴밀하게 연관되어 있어서 관찰하지 않은 데이터로 일반화하지 않는다는 뜻이다. 언더피팅은 모델이 데이터의 기본 트렌드를 포착할 만큼 충분히 복잡하지 않다는 뜻이다. 손실 함수는 모델의 ‘나쁨’을 반영하기 위해 선택한다. 최고의 모델을 찾기 위해 손실을 최소화한다. 수치적 (회귀) 문제의 경우 손실 함수는 MSE(Mean Square Error)인 경우가 많으며 RMSE(Root Mean Squared Error)나 RMSD(Root Mean Square Deviation)으로도 표현된다. 이는 데이터 포인트와 모델 곡선 사이의 유클리드 거리에 해당한다. 분류 (비수치적) 무제의 경우 손실 함수는 ROC 곡선 아래의 영역(AUC), 평균 정확도, 정밀도 기억, 로그 손실 등 일련의 조치 중 하나에 기초할 수 있다. (AUC와 ROC 곡선에 대한 설명은 아래를 참조한다). 오버...

2019.06.21

'대세' 서버리스 컴퓨팅의 3가지 한계와 그 해결법

서버리스 컴퓨팅이 대세다. 누구든 이미 구축했거나, 구축을 고려하거나 둘 중 하나에는 속한다. 지금 동참하지 않으면 뒤처지게 될지도 모른다. 이렇게 서버리스가 화제인 이유가 무엇일까? 서버리스 컴퓨팅은 시스템 확장을 위해 필요할 때 서버 리소스를 시스템에 적용할 수 있게 해주는 인프라를 제공한다. 즉, 수도나 전기처럼 현재 부하의 필요에 따라 컴퓨팅 성능을 소비할 수 있다. 따라서 런타임에서 개별 서버를 신경 쓸 필요가 없다(솔직히 처음부터 아무도 신경 쓰지 않았다). 규모의 경제를 통해 클라우드 서비스 업체에 비용 효율적으로 대규모 서버를 아웃소싱할 수 있지만, “서버리스” 인터페이스는 계약을 최소화함으로써 이 아웃소싱 관계를 최대한 간소화해준다. 많은 사람의 즉각적인 반응은 서버에 연결했던 차트, 트래픽 지표, 경보를 개별 서버리스 함수와 관련된 차트, 트래픽 지표, 경보로 교체하는 것이다. 그러나 이 방법으로는 근본적인 애플리케이션 관리 문제를 해결하지 못한다. 아무도 서버에 신경을 쓰지 않는 것과 마찬가지로, 아무도 서버리스 함수에 따로 신경을 쓰지는 않기 때문이다. 사람들이 신경 쓰는 것은 시스템이 사용자에게 제공하는 서비스 수준이다. 이는 모니터링이 유용해야 하고 잘못될 가능성이 있는 요소에 초점을 맞춰야 함을 의미한다. 서버리스 맥락에서는 “서버 용량 소진”이라는 개념이 사실상 없으므로 “잘못된다”는 것은 대부분 물리 법칙을 위반하려는 시도를 의미한다. 그렇다면 일반적인 서버리스 문제는 무엇이고, 어떤 방식으로 드러날까? 서버리스 배포와 관련하여 만연한 대표적인 세 가지 문제와 이 문제를 완화하는 방법을 살펴보자.   콜드 스타트 비용 서버리스 시스템과 관련하여 자주 언급되는 사안이다. 서버리스 제공업체는 사용률을 최대화하기 위해 비활성 함수를 완전히 종료하는 방법을 택하는 경우가 종종 있다. 부하가 재개될 때 이 함수의 시작 비용이 응답 시간에 영향을 미치게 된...

모니터링 장애 가시성 함수 서버리스

2019.02.12

서버리스 컴퓨팅이 대세다. 누구든 이미 구축했거나, 구축을 고려하거나 둘 중 하나에는 속한다. 지금 동참하지 않으면 뒤처지게 될지도 모른다. 이렇게 서버리스가 화제인 이유가 무엇일까? 서버리스 컴퓨팅은 시스템 확장을 위해 필요할 때 서버 리소스를 시스템에 적용할 수 있게 해주는 인프라를 제공한다. 즉, 수도나 전기처럼 현재 부하의 필요에 따라 컴퓨팅 성능을 소비할 수 있다. 따라서 런타임에서 개별 서버를 신경 쓸 필요가 없다(솔직히 처음부터 아무도 신경 쓰지 않았다). 규모의 경제를 통해 클라우드 서비스 업체에 비용 효율적으로 대규모 서버를 아웃소싱할 수 있지만, “서버리스” 인터페이스는 계약을 최소화함으로써 이 아웃소싱 관계를 최대한 간소화해준다. 많은 사람의 즉각적인 반응은 서버에 연결했던 차트, 트래픽 지표, 경보를 개별 서버리스 함수와 관련된 차트, 트래픽 지표, 경보로 교체하는 것이다. 그러나 이 방법으로는 근본적인 애플리케이션 관리 문제를 해결하지 못한다. 아무도 서버에 신경을 쓰지 않는 것과 마찬가지로, 아무도 서버리스 함수에 따로 신경을 쓰지는 않기 때문이다. 사람들이 신경 쓰는 것은 시스템이 사용자에게 제공하는 서비스 수준이다. 이는 모니터링이 유용해야 하고 잘못될 가능성이 있는 요소에 초점을 맞춰야 함을 의미한다. 서버리스 맥락에서는 “서버 용량 소진”이라는 개념이 사실상 없으므로 “잘못된다”는 것은 대부분 물리 법칙을 위반하려는 시도를 의미한다. 그렇다면 일반적인 서버리스 문제는 무엇이고, 어떤 방식으로 드러날까? 서버리스 배포와 관련하여 만연한 대표적인 세 가지 문제와 이 문제를 완화하는 방법을 살펴보자.   콜드 스타트 비용 서버리스 시스템과 관련하여 자주 언급되는 사안이다. 서버리스 제공업체는 사용률을 최대화하기 위해 비활성 함수를 완전히 종료하는 방법을 택하는 경우가 종종 있다. 부하가 재개될 때 이 함수의 시작 비용이 응답 시간에 영향을 미치게 된...

2019.02.12

"함수로 훌륭한 스케줄러를"··· 엑셀로 일정을 정리하는 방법

한 미국인 관광객이 유럽을 여행하며 겪게 되는 이들을 다룬 영화 ‘If It’s Tuesday, This Must Be Belgium(오늘이 화요일이라면, 여기는 벨기에가 틀림 없어)’을 보다가, 문득 엑셀의 SUM, DATE, WEEKDAY, IF, Nested IF, 그리고 IF/OR 함수가 떠올랐다. 기업은 보통 (하루보다는) 주 단위로 일정을 기획한다. 첫째 주, 둘째 주, 셋째 주 하는 식으로 말이다. 그러려면 각 달의 각 주를 식별하기 위한 날짜 수식을 사용해야 하고, 일련의 nested IF/OR 구문을 통해 특정 업무에 특정 팀 멤버를 배정하는 작업도 필요할 것이다. 이 경우 엑셀을 사용하면 그 어떤 스케줄 프로그램보다 편리하게 일정을 기획할 수 있다. 예컨대, 전 세계 각지에서 열리는 스포츠 행사를 보도하는 스포츠 잡지를 생각해 보라. 각 행사에 파견할 기자, 사진 기자를 선정하고 매번 일정을 정리해야 하는 상황이라면 어떨까? 예를 들어, 이달 셋째 주 화요일에는 벨기에에서 피겨 스케이팅 경기가 열린다. 넷째 주 화요일에는 스코틀랜드에서 봅슬레이 경기가 있고, 첫째 주 화요일에는 아일랜드에서 골프 경기가 열린다. 마지막 주 화요일은 뉴질랜드에서 럭비 경기가 열리는 날이다. 이럴 때 아래의 수식을 사용하면 이들 일정을 정리하고 업무 분장을 정하는 까다롭고도 오랜 시간이 걸리는 업무를 아주 쉽고, 빠르게 해낼 수 있다. 연습용 스프레드시트도 다운받을 수 있도록 첨부했으니 적극 활용하길 바란다. 이 글에서 사용한 수식/함수들 1. SUM Syntax: =SUM(A2:A10); =SUM(4+5); =SUM(A2+A3)-A4; =SUM(A2-A3)+(A4-A5) 정의: SUM 함수는 여러모로 유용하다. 덧셈, 뺄셈, 곱셈, 나눗셈을 비롯한 10여 가지 계산을 해낼 수 있다. 2. DATE Syntax: =DATE(year,month,day) 정의: 년, 월, 일의 세 값에 기반한 날짜를 제공...

엑셀 함수

2018.11.13

한 미국인 관광객이 유럽을 여행하며 겪게 되는 이들을 다룬 영화 ‘If It’s Tuesday, This Must Be Belgium(오늘이 화요일이라면, 여기는 벨기에가 틀림 없어)’을 보다가, 문득 엑셀의 SUM, DATE, WEEKDAY, IF, Nested IF, 그리고 IF/OR 함수가 떠올랐다. 기업은 보통 (하루보다는) 주 단위로 일정을 기획한다. 첫째 주, 둘째 주, 셋째 주 하는 식으로 말이다. 그러려면 각 달의 각 주를 식별하기 위한 날짜 수식을 사용해야 하고, 일련의 nested IF/OR 구문을 통해 특정 업무에 특정 팀 멤버를 배정하는 작업도 필요할 것이다. 이 경우 엑셀을 사용하면 그 어떤 스케줄 프로그램보다 편리하게 일정을 기획할 수 있다. 예컨대, 전 세계 각지에서 열리는 스포츠 행사를 보도하는 스포츠 잡지를 생각해 보라. 각 행사에 파견할 기자, 사진 기자를 선정하고 매번 일정을 정리해야 하는 상황이라면 어떨까? 예를 들어, 이달 셋째 주 화요일에는 벨기에에서 피겨 스케이팅 경기가 열린다. 넷째 주 화요일에는 스코틀랜드에서 봅슬레이 경기가 있고, 첫째 주 화요일에는 아일랜드에서 골프 경기가 열린다. 마지막 주 화요일은 뉴질랜드에서 럭비 경기가 열리는 날이다. 이럴 때 아래의 수식을 사용하면 이들 일정을 정리하고 업무 분장을 정하는 까다롭고도 오랜 시간이 걸리는 업무를 아주 쉽고, 빠르게 해낼 수 있다. 연습용 스프레드시트도 다운받을 수 있도록 첨부했으니 적극 활용하길 바란다. 이 글에서 사용한 수식/함수들 1. SUM Syntax: =SUM(A2:A10); =SUM(4+5); =SUM(A2+A3)-A4; =SUM(A2-A3)+(A4-A5) 정의: SUM 함수는 여러모로 유용하다. 덧셈, 뺄셈, 곱셈, 나눗셈을 비롯한 10여 가지 계산을 해낼 수 있다. 2. DATE Syntax: =DATE(year,month,day) 정의: 년, 월, 일의 세 값에 기반한 날짜를 제공...

2018.11.13

알아둘 만한 할 엑셀 함수 16가지

파워 유저들은 엑셀이 얼마나 강력하고 대단한지, 피벗 테이블과 중첩 수식(Nested formulas), 부울린 연산자로 할 수 있는 것을 자주 이야기한다. 그러나 우리 같은 보통 사람들은 엑셀의 함수를 사용해 강력한 수식을 만드는 방법은 고사하고 자동 합계 기능을 찾는 방법조차 모르는 경우가 많다. 지금부터 스프레드시트에 정통한 전문가 행세를 해도 될만큼 강력한, 하지만 엄청나게 간단한 16가지의 엑셀 함수를 소개한다. =SUM() 첫 번째 함수는 엑셀에 아주 기초적인 ‘산수’ 계산을 수행하도록 명령하는 함수이다. 사실 엑셀을 사용한다면, 누구나 알고 있어야 한다. 셀 C2에서 셀 A2와 셀 B2의 합계를 구하려 한다고 가정하자. C2에 =SUM(A2:B2)를 입력한 후 Enter를 누르면 된다. 그러면 그 즉시 두 셀의 합계가 표시된다. 이 함수를 사용할 때, (여기 소개한 대부분의 함수를 포함)필요한 만큼 많은 셀을 포함시켜 사용할 수 있다. 마우스로 셀을 선택할 수도 있지만, 셀 범위를 입력하는 것이 훨씬 더 간편하다. =AVERAGE() 이름 그대로 평균을 구하는 함수이다. SUM과 유사하게 작동한다. 워크시트의 A2부터 A13까지는 지난 해 매월 소득이다. A14에 =AVERAGE(A2:A13)을 입력하면 월 평균 소득을 구할 수 있다. 마우스 커서를 사용해 끌어서 셀 범위를 선택하거나, Control을 누른 상태에서 클릭해서 개별 셀을 선택할 수 있다. =MEDIAN() 중앙값과 평균을 혼동하는 경우가 많다. 그러나 이 두 가지는 분명히 다르다. 중앙값은 아래 예제의 수 집합인 ‘2, 6, 15, 31, 56’에서 중간 지점을 찾는다. 다시 말해, 절반은 중앙값 위고, 다른 절반은 중앙값 아래이다. 스크린샷에 중앙값과 평균이 비교되어 있다. 차이를 알 수 있을 것이다. 열 E의 집합에서 중앙값을 얻으려면, 셀 E7에 =MEDIAN(E2:C6)라는 수식을 ...

엑셀 함수

2018.08.03

파워 유저들은 엑셀이 얼마나 강력하고 대단한지, 피벗 테이블과 중첩 수식(Nested formulas), 부울린 연산자로 할 수 있는 것을 자주 이야기한다. 그러나 우리 같은 보통 사람들은 엑셀의 함수를 사용해 강력한 수식을 만드는 방법은 고사하고 자동 합계 기능을 찾는 방법조차 모르는 경우가 많다. 지금부터 스프레드시트에 정통한 전문가 행세를 해도 될만큼 강력한, 하지만 엄청나게 간단한 16가지의 엑셀 함수를 소개한다. =SUM() 첫 번째 함수는 엑셀에 아주 기초적인 ‘산수’ 계산을 수행하도록 명령하는 함수이다. 사실 엑셀을 사용한다면, 누구나 알고 있어야 한다. 셀 C2에서 셀 A2와 셀 B2의 합계를 구하려 한다고 가정하자. C2에 =SUM(A2:B2)를 입력한 후 Enter를 누르면 된다. 그러면 그 즉시 두 셀의 합계가 표시된다. 이 함수를 사용할 때, (여기 소개한 대부분의 함수를 포함)필요한 만큼 많은 셀을 포함시켜 사용할 수 있다. 마우스로 셀을 선택할 수도 있지만, 셀 범위를 입력하는 것이 훨씬 더 간편하다. =AVERAGE() 이름 그대로 평균을 구하는 함수이다. SUM과 유사하게 작동한다. 워크시트의 A2부터 A13까지는 지난 해 매월 소득이다. A14에 =AVERAGE(A2:A13)을 입력하면 월 평균 소득을 구할 수 있다. 마우스 커서를 사용해 끌어서 셀 범위를 선택하거나, Control을 누른 상태에서 클릭해서 개별 셀을 선택할 수 있다. =MEDIAN() 중앙값과 평균을 혼동하는 경우가 많다. 그러나 이 두 가지는 분명히 다르다. 중앙값은 아래 예제의 수 집합인 ‘2, 6, 15, 31, 56’에서 중간 지점을 찾는다. 다시 말해, 절반은 중앙값 위고, 다른 절반은 중앙값 아래이다. 스크린샷에 중앙값과 평균이 비교되어 있다. 차이를 알 수 있을 것이다. 열 E의 집합에서 중앙값을 얻으려면, 셀 E7에 =MEDIAN(E2:C6)라는 수식을 ...

2018.08.03

엑셀 백분율 공식 따라잡기··· '개인 사업자라면 주목'

엑셀의 백분율 공식은 세금 결정에서부터 증감분 계산에 이르기까지 일상적인 크고 작은 문제들을 해결해 준다. 분수를 백분율로 변환하기, 총 판매 금액 중 세금 계산하기, 총액 백분율, 백분율 증감분, 완료 백분율 구하기 등 몇 가지 사례를 소개한다. 분수를 백분율로 변환하기 백분율은 100을 기준으로 했을 때 차지하는 부분이다. 백분율을 구하려면 분사(분수 중 위에 있는 숫자)를 분모(분수 중 아래에 있는 숫자)로 나눈 값에 100을 곱하면 된다. 예를 들어, 6/12을 소수로 나타내면 6을 12로 나눈 값인 0.5인데, 여기에 100을 곱하면 50%라는 백분율이 나온다. 엑셀에서 분수를 백분율로 변환하려면 함수는 필요없고 서식 변경만 하면 된다. 예를 들면 다음과 같다. 1. A열(A2~A11)에 분수 10개를 입력한다. 참고로, 엑셀에서는 분수가 기약 분수로 자동 변환된다. 예를 들어, 6/10은 3/5로 자동으로 바뀐다. 엑셀 기본 값은 소수이기에 분수로 나타내려면 해당 범위를 선택한 다음 ‘표시 형식’의 드롭다운 메뉴를 클릭해 ‘분수’ 서식을 지정해야 한다. 2. A열의 분수를 B열로 복사한다. 3. 범위를 선택한 뒤 홈 탭의 ‘표시 형식’에서 드롭다운 메뉴를 선택한 뒤 ‘백분율’을 클릭한다. 총 판매 금액 중 세금 계산 어떤 회사들은 제품 가격에 세금을 포함시켜 판매한 후 나중에 세금을 따로 계산해 국세청에 납부한다. 세전 가격 계산 방법은 판매하는 가격(또는 총 영수액)을 1.0에 세율을 더한 숫자로 나누면 된다. 예를 들어, 지역 판매세율이 9%인 곳에서 50달러에 산 전등의 실제 소매가는 50달러를 1.09로 나눈 값인 45.87달러다. 따라서 이 제품의 세금은 50달러에서 소매가를 뺀 4.13달러다. 두 숫자를 더해서 다시 50달러가 나오면 된다. 판매세만 따로 확인하려면 45.87달러에 9%를 ...

엑셀 함수 백분율

2018.01.19

엑셀의 백분율 공식은 세금 결정에서부터 증감분 계산에 이르기까지 일상적인 크고 작은 문제들을 해결해 준다. 분수를 백분율로 변환하기, 총 판매 금액 중 세금 계산하기, 총액 백분율, 백분율 증감분, 완료 백분율 구하기 등 몇 가지 사례를 소개한다. 분수를 백분율로 변환하기 백분율은 100을 기준으로 했을 때 차지하는 부분이다. 백분율을 구하려면 분사(분수 중 위에 있는 숫자)를 분모(분수 중 아래에 있는 숫자)로 나눈 값에 100을 곱하면 된다. 예를 들어, 6/12을 소수로 나타내면 6을 12로 나눈 값인 0.5인데, 여기에 100을 곱하면 50%라는 백분율이 나온다. 엑셀에서 분수를 백분율로 변환하려면 함수는 필요없고 서식 변경만 하면 된다. 예를 들면 다음과 같다. 1. A열(A2~A11)에 분수 10개를 입력한다. 참고로, 엑셀에서는 분수가 기약 분수로 자동 변환된다. 예를 들어, 6/10은 3/5로 자동으로 바뀐다. 엑셀 기본 값은 소수이기에 분수로 나타내려면 해당 범위를 선택한 다음 ‘표시 형식’의 드롭다운 메뉴를 클릭해 ‘분수’ 서식을 지정해야 한다. 2. A열의 분수를 B열로 복사한다. 3. 범위를 선택한 뒤 홈 탭의 ‘표시 형식’에서 드롭다운 메뉴를 선택한 뒤 ‘백분율’을 클릭한다. 총 판매 금액 중 세금 계산 어떤 회사들은 제품 가격에 세금을 포함시켜 판매한 후 나중에 세금을 따로 계산해 국세청에 납부한다. 세전 가격 계산 방법은 판매하는 가격(또는 총 영수액)을 1.0에 세율을 더한 숫자로 나누면 된다. 예를 들어, 지역 판매세율이 9%인 곳에서 50달러에 산 전등의 실제 소매가는 50달러를 1.09로 나눈 값인 45.87달러다. 따라서 이 제품의 세금은 50달러에서 소매가를 뺀 4.13달러다. 두 숫자를 더해서 다시 50달러가 나오면 된다. 판매세만 따로 확인하려면 45.87달러에 9%를 ...

2018.01.19

엑셀에서 텍스트 대체, 바꾸기 함수를 활용하는 6가지 방법

엑셀의 텍스트 기능은 방대한 양의 데이터, 특히 다른 소스로부터 유입된 데이터와 관련된 작업을 할 때 엄청나게 시간을 아껴 준다. 다행히도 모든 ASCII 데이터의 유입 자체는 쉽게 이루어지지만, 이렇게 유입된 데이터의 형식은 소스에 따라 크기 달라질 수 있다. 예를 들어 필드를 탭, 스페이스, 콤마, 피리오드 등으로 한정할 수 있다. 그 어떤 값도 스페이스보다 선호되는데 그 이유는 스페이스는 필드 간에만 존재하는 것이 아니라 필드 내부의 단어들을 격리시켜 필드를 처리하는 것이 무척 힘들어지기 때문이다. 그리고 텍스팅 기능은 바로 이런 부분에서 큰 도움을 줄 수 있다. 1. 텍스트열 대체할 때 SUBSTITUTE 함수 사용하기 함수 체계: 바꾸기 함수의 체계(또는 문장 구조)은 다음과 같다. =SUBSTITUTE(text, old text, new text, [Instance Num]). 주의: 만일 바꾸려는 숫자의 개수, 즉 몇 번째 텍스트인지를 특정하지 않으면 대상 텍스트 부분의 글자가 모두 새 텍스트(New Text)로 변경된다. 몇 번째 텍스트인지 특정할 경우 특정된 대상 텍스트만 바뀐다. 예컨대, 그 자리에 숫자 1을 넣을 경우 첫 번째 대상 텍스트만 변경되기를 원한다는 의미이다. 1. A열에 구문 입력 ( A2 에서 A13까지). 2. B열에 변경하고자 하는 단어 또는 구문 입력. 3. C열에 대상 텍스트 대체할 단어나 구문 입력. 4. D2셀에서 D7 셀까지 (혹은 데이터베이스 절반에 걸쳐) 다음의 공식 입력: =SUBSTITUTE(A2, B2,C2,1) 이렇게 하면 첫 번째 대상 텍스트만 바꿀 텍스트로 변경/대체된다. 5. 다음으로, 나머지 셀(이 경우 D8에서 D13까지)에 아래의 공식을 입력한다. =SUBSTITUTE(A2, B2, C2). 이렇게 하면 모든 대상 텍스트를 바꿀 텍스트로 변경/대체하게 된다. 주의 : 이 함수는 대문자, 소문자 구별이 중요하다. 이대로 했는데 잘 안 된다면, 모든 텍...

엑셀 함수

2017.12.26

엑셀의 텍스트 기능은 방대한 양의 데이터, 특히 다른 소스로부터 유입된 데이터와 관련된 작업을 할 때 엄청나게 시간을 아껴 준다. 다행히도 모든 ASCII 데이터의 유입 자체는 쉽게 이루어지지만, 이렇게 유입된 데이터의 형식은 소스에 따라 크기 달라질 수 있다. 예를 들어 필드를 탭, 스페이스, 콤마, 피리오드 등으로 한정할 수 있다. 그 어떤 값도 스페이스보다 선호되는데 그 이유는 스페이스는 필드 간에만 존재하는 것이 아니라 필드 내부의 단어들을 격리시켜 필드를 처리하는 것이 무척 힘들어지기 때문이다. 그리고 텍스팅 기능은 바로 이런 부분에서 큰 도움을 줄 수 있다. 1. 텍스트열 대체할 때 SUBSTITUTE 함수 사용하기 함수 체계: 바꾸기 함수의 체계(또는 문장 구조)은 다음과 같다. =SUBSTITUTE(text, old text, new text, [Instance Num]). 주의: 만일 바꾸려는 숫자의 개수, 즉 몇 번째 텍스트인지를 특정하지 않으면 대상 텍스트 부분의 글자가 모두 새 텍스트(New Text)로 변경된다. 몇 번째 텍스트인지 특정할 경우 특정된 대상 텍스트만 바뀐다. 예컨대, 그 자리에 숫자 1을 넣을 경우 첫 번째 대상 텍스트만 변경되기를 원한다는 의미이다. 1. A열에 구문 입력 ( A2 에서 A13까지). 2. B열에 변경하고자 하는 단어 또는 구문 입력. 3. C열에 대상 텍스트 대체할 단어나 구문 입력. 4. D2셀에서 D7 셀까지 (혹은 데이터베이스 절반에 걸쳐) 다음의 공식 입력: =SUBSTITUTE(A2, B2,C2,1) 이렇게 하면 첫 번째 대상 텍스트만 바꿀 텍스트로 변경/대체된다. 5. 다음으로, 나머지 셀(이 경우 D8에서 D13까지)에 아래의 공식을 입력한다. =SUBSTITUTE(A2, B2, C2). 이렇게 하면 모든 대상 텍스트를 바꿀 텍스트로 변경/대체하게 된다. 주의 : 이 함수는 대문자, 소문자 구별이 중요하다. 이대로 했는데 잘 안 된다면, 모든 텍...

2017.12.26

엑셀에서 텍스트 대체, 바꾸기 함수를 활용하는 6가지 방법

엑셀의 텍스트 기능은 방대한 양의 데이터, 특히 다른 소스로부터 유입된 데이터와 관련된 작업을 할 때 엄청나게 시간을 아껴 준다. 다행히도 모든 ASCII 데이터의 유입 자체는 쉽게 이루어지지만, 이렇게 유입된 데이터의 형식은 소스에 따라 크기 달라질 수 있다. 예를 들어 필드를 탭, 스페이스, 콤마, 피리오드 등으로 한정할 수 있다. 그 어떤 값도 스페이스보다 선호되는데 그 이유는 스페이스는 필드 간에만 존재하는 것이 아니라 필드 내부의 단어들을 격리시켜 필드를 처리하는 것이 무척 힘들어지기 때문이다. 그리고 텍스팅 기능은 바로 이런 부분에서 큰 도움을 줄 수 있다. 1. 텍스트열 대체할 때 SUBSTITUTE 함수 사용하기 함수 체계: 바꾸기 함수의 체계(또는 문장 구조)은 다음과 같다. =SUBSTITUTE(text, old text, new text, [Instance Num]). 주의: 만일 바꾸려는 숫자의 개수, 즉 몇 번째 텍스트인지를 특정하지 않으면 대상 텍스트 부분의 글자가 모두 새 텍스트(New Text)로 변경된다. 몇 번째 텍스트인지 특정할 경우 특정된 대상 텍스트만 바뀐다. 예컨대, 그 자리에 숫자 1을 넣을 경우 첫 번째 대상 텍스트만 변경되기를 원한다는 의미이다. 1. A열에 구문 입력 ( A2 에서 A13까지). 2. B열에 변경하고자 하는 단어 또는 구문 입력. 3. C열에 대상 텍스트 대체할 단어나 구문 입력.. 4. D2셀에서 D7 셀까지 (혹은 데이터베이스 절반에 걸쳐) 다음의 공식 입력: =SUBSTITUTE(A2, B2,C2,1) 이렇게 하면 첫 번째 대상 텍스트만 바꿀 텍스트로 변경/대체된다. 5. 다음으로, 나머지 셀(이 경우 D8에서 D13까지)에 아래의 공식을 입력한다. =SUBSTITUTE(A2, B2, C2). 이렇게 하면 모든 대상 텍스트를 바꿀 텍스트로 변경/대체하게 된다. 주의 : 이 함수는 대문자, 소문자 구별이 중요하다. 이대로 했는데 잘 안 된다면, 모든 ...

엑셀 함수

2017.12.19

엑셀의 텍스트 기능은 방대한 양의 데이터, 특히 다른 소스로부터 유입된 데이터와 관련된 작업을 할 때 엄청나게 시간을 아껴 준다. 다행히도 모든 ASCII 데이터의 유입 자체는 쉽게 이루어지지만, 이렇게 유입된 데이터의 형식은 소스에 따라 크기 달라질 수 있다. 예를 들어 필드를 탭, 스페이스, 콤마, 피리오드 등으로 한정할 수 있다. 그 어떤 값도 스페이스보다 선호되는데 그 이유는 스페이스는 필드 간에만 존재하는 것이 아니라 필드 내부의 단어들을 격리시켜 필드를 처리하는 것이 무척 힘들어지기 때문이다. 그리고 텍스팅 기능은 바로 이런 부분에서 큰 도움을 줄 수 있다. 1. 텍스트열 대체할 때 SUBSTITUTE 함수 사용하기 함수 체계: 바꾸기 함수의 체계(또는 문장 구조)은 다음과 같다. =SUBSTITUTE(text, old text, new text, [Instance Num]). 주의: 만일 바꾸려는 숫자의 개수, 즉 몇 번째 텍스트인지를 특정하지 않으면 대상 텍스트 부분의 글자가 모두 새 텍스트(New Text)로 변경된다. 몇 번째 텍스트인지 특정할 경우 특정된 대상 텍스트만 바뀐다. 예컨대, 그 자리에 숫자 1을 넣을 경우 첫 번째 대상 텍스트만 변경되기를 원한다는 의미이다. 1. A열에 구문 입력 ( A2 에서 A13까지). 2. B열에 변경하고자 하는 단어 또는 구문 입력. 3. C열에 대상 텍스트 대체할 단어나 구문 입력.. 4. D2셀에서 D7 셀까지 (혹은 데이터베이스 절반에 걸쳐) 다음의 공식 입력: =SUBSTITUTE(A2, B2,C2,1) 이렇게 하면 첫 번째 대상 텍스트만 바꿀 텍스트로 변경/대체된다. 5. 다음으로, 나머지 셀(이 경우 D8에서 D13까지)에 아래의 공식을 입력한다. =SUBSTITUTE(A2, B2, C2). 이렇게 하면 모든 대상 텍스트를 바꿀 텍스트로 변경/대체하게 된다. 주의 : 이 함수는 대문자, 소문자 구별이 중요하다. 이대로 했는데 잘 안 된다면, 모든 ...

2017.12.19

숙련된 개발자도 저지르는 15가지 초보적 실수

코더는 코딩을 하고 초보자는 초보자다운 실수를 한다. 그러나 가끔은 경험이 풍부한 코더도 초보적인 실수를 한다. 필자는 20년 동안 코딩을 하면서 온갖 실수를 봤지만 대체로 몇 가지 실수가 반복된다. 이런 흔한 실수는 실무에서 다양하게 나타난다. 리비전 제어와 같은 적절한 위생(hygiene) 작업도 필요하지만 그렇게 해도 다른 실무적 실수를 저지르고 그 결과로 힘든 시간을 보낼 수 있다. 초보적 실수 1 : Make 또는 Shell을 빌드 툴로 사용 C 또는 C++로 코딩하지 않는 사람은 Make에 친숙하지 않을 수 있다. Make는 각 파일에 대한 다른 컴파일러 프로세스를 실행한다. 대부분의 현대적 언어는 각 파일에 대해 별도의 프로세스를 시작하도록 설계되지 않는다. 또한 자바와 같은 언어에서 Make를 사용해 종속성을 해결하기란 거의 불가능하다. 필자는 전에 대형 네트워크 장비 업체에서 일하면서 빌드를 앤트(Ant, 자바 빌드 툴, 당시엔 최신이었음)로 변환하는 것으로 빌드 프로세스 시간을 3시간에서 20초로 단축한 적이 있다. 셸 스크립트 역시 좋지 않은 결과를 초래하는 경우가 많다. 필자는 최근 한 실험용으로 셸 빌드 하나를 만들었다. 작은 실험 하나를 실행하자고 모든 사람들이 자바 툴셋 전체를 다운로드해야 하는 것은 비효율적이라고 여겼기 때문이다. 필자는 그게 좋은 방법이라고 생각했지만 사실은 (늘 그렇듯이) 초보적 실수였다. 이 빌드가 종속되는 소프트웨어가 다음 버전으로 올라가면서 (늘 그렇듯이) 모든 것이 뒤엉켰기 때문이다. 그 점을 생각하고 현대적 빌드 툴을 제공했더라면 종속성을 업데이트할 수 있었을 것이다. 초보적 실수 2 : IDE를 빌드 툴로 사용하기 대부분의 IDE에는 빌드/배포와 관련된 편의 기능이 있다. 처음에는 좋아 보이고, 실제로 간단한 코드를 테스트하는 용도로는 훌륭하다. 그러나 결국 종속성이 발생하고 다른 사람들이 내 코드에 손을 대고 작업을 하게 된다. 그러다 보...

실수 프로그래밍 코딩 함수 초보자 객체

2017.08.29

코더는 코딩을 하고 초보자는 초보자다운 실수를 한다. 그러나 가끔은 경험이 풍부한 코더도 초보적인 실수를 한다. 필자는 20년 동안 코딩을 하면서 온갖 실수를 봤지만 대체로 몇 가지 실수가 반복된다. 이런 흔한 실수는 실무에서 다양하게 나타난다. 리비전 제어와 같은 적절한 위생(hygiene) 작업도 필요하지만 그렇게 해도 다른 실무적 실수를 저지르고 그 결과로 힘든 시간을 보낼 수 있다. 초보적 실수 1 : Make 또는 Shell을 빌드 툴로 사용 C 또는 C++로 코딩하지 않는 사람은 Make에 친숙하지 않을 수 있다. Make는 각 파일에 대한 다른 컴파일러 프로세스를 실행한다. 대부분의 현대적 언어는 각 파일에 대해 별도의 프로세스를 시작하도록 설계되지 않는다. 또한 자바와 같은 언어에서 Make를 사용해 종속성을 해결하기란 거의 불가능하다. 필자는 전에 대형 네트워크 장비 업체에서 일하면서 빌드를 앤트(Ant, 자바 빌드 툴, 당시엔 최신이었음)로 변환하는 것으로 빌드 프로세스 시간을 3시간에서 20초로 단축한 적이 있다. 셸 스크립트 역시 좋지 않은 결과를 초래하는 경우가 많다. 필자는 최근 한 실험용으로 셸 빌드 하나를 만들었다. 작은 실험 하나를 실행하자고 모든 사람들이 자바 툴셋 전체를 다운로드해야 하는 것은 비효율적이라고 여겼기 때문이다. 필자는 그게 좋은 방법이라고 생각했지만 사실은 (늘 그렇듯이) 초보적 실수였다. 이 빌드가 종속되는 소프트웨어가 다음 버전으로 올라가면서 (늘 그렇듯이) 모든 것이 뒤엉켰기 때문이다. 그 점을 생각하고 현대적 빌드 툴을 제공했더라면 종속성을 업데이트할 수 있었을 것이다. 초보적 실수 2 : IDE를 빌드 툴로 사용하기 대부분의 IDE에는 빌드/배포와 관련된 편의 기능이 있다. 처음에는 좋아 보이고, 실제로 간단한 코드를 테스트하는 용도로는 훌륭하다. 그러나 결국 종속성이 발생하고 다른 사람들이 내 코드에 손을 대고 작업을 하게 된다. 그러다 보...

2017.08.29

블로그 | 모두가 서버리스 컴퓨팅에 열광하는 이유

주기에 따라 늘 반복되는 일이지만 엔터프라이즈 기술 개발의 폭발적인 기세가 최근 한풀 꺾였다. 업계는 항상 열풍이 지나간 뒤에 남는 실질적으로 새로운 어떤 것에 열광한다. AI와 머신러닝에 대한 열광이 좋은 예다. AI 워싱(AI-washing)을 이미 실컷 경험한 필자에게 지금 가장 흥미를 끄는 새로운 영역은 서버리스 컴퓨팅(Serverless Computing)이다. 서버리스는 아마존이 2년 전 AWS 람다(Lambda)를 내놓으면서 사람들 입에 오르내리기 시작했다. 기본적인 아이디어는 마침내 개발자가 실제 서버나 가상 서버, 심지어 컨테이너에 대해서도 신경 쓸 필요 없이 애플리케이션을 빌드할 수 있다는 것이다. 그냥 함수라고 하는 작은 빌딩 블록에서 서비스를 가져와 조립하면 나머지 복잡한 인프라 관련 작업은 내부에서 알아서 처리된다. 서버는 제거되는 것이 아니라(그런 일은 다른 우주에서나 가능하다) 개발자에게 보이지 않게 숨겨진다는 면에서 서버리스 컴퓨팅보다 “FaaS(Functions as a Service)”라는 용어를 선호하는 사람이 많다. 클라우드 시장의 주요 경쟁업체들이 AWS 람다를 흉내내 내놓은 서비스, 즉 구글 클라우드 펑션(Google Cloud Functions), 마이크로소프트 애저 펑션(Microsoft Azure Functions)의 명명법에도 FaaS의 개념이 반영되어 있다. (IBM이 오픈위스크(OpenWhist)라는 이름을 어디서 가져왔는지는 잘 모르겠다. 애플리케이션을 재빨리 내놓는다(whip up)는 의미인가?) 최근 미국 오스틴에서 열린 서버리스 컨퍼런스 행사에는 시스코 기술 솔루션 설계자인 피터 존슨도 참석했다. 현장에서 존슨은 “아주 열띤 분위기다. 2009년의 클라우드와 같은 정도”라고 말했다. 존슨은 서버리스 컴퓨팅의 주요 매력을 다음과 같이 설명했다. “소프트웨어 아키텍처에 관한 다른 사고 방식이다. 구성 요소를 작은 조각들로 나눈다. 기...

오픈소스 함수 람다 FaaS 서버리스컴퓨팅

2017.05.11

주기에 따라 늘 반복되는 일이지만 엔터프라이즈 기술 개발의 폭발적인 기세가 최근 한풀 꺾였다. 업계는 항상 열풍이 지나간 뒤에 남는 실질적으로 새로운 어떤 것에 열광한다. AI와 머신러닝에 대한 열광이 좋은 예다. AI 워싱(AI-washing)을 이미 실컷 경험한 필자에게 지금 가장 흥미를 끄는 새로운 영역은 서버리스 컴퓨팅(Serverless Computing)이다. 서버리스는 아마존이 2년 전 AWS 람다(Lambda)를 내놓으면서 사람들 입에 오르내리기 시작했다. 기본적인 아이디어는 마침내 개발자가 실제 서버나 가상 서버, 심지어 컨테이너에 대해서도 신경 쓸 필요 없이 애플리케이션을 빌드할 수 있다는 것이다. 그냥 함수라고 하는 작은 빌딩 블록에서 서비스를 가져와 조립하면 나머지 복잡한 인프라 관련 작업은 내부에서 알아서 처리된다. 서버는 제거되는 것이 아니라(그런 일은 다른 우주에서나 가능하다) 개발자에게 보이지 않게 숨겨진다는 면에서 서버리스 컴퓨팅보다 “FaaS(Functions as a Service)”라는 용어를 선호하는 사람이 많다. 클라우드 시장의 주요 경쟁업체들이 AWS 람다를 흉내내 내놓은 서비스, 즉 구글 클라우드 펑션(Google Cloud Functions), 마이크로소프트 애저 펑션(Microsoft Azure Functions)의 명명법에도 FaaS의 개념이 반영되어 있다. (IBM이 오픈위스크(OpenWhist)라는 이름을 어디서 가져왔는지는 잘 모르겠다. 애플리케이션을 재빨리 내놓는다(whip up)는 의미인가?) 최근 미국 오스틴에서 열린 서버리스 컨퍼런스 행사에는 시스코 기술 솔루션 설계자인 피터 존슨도 참석했다. 현장에서 존슨은 “아주 열띤 분위기다. 2009년의 클라우드와 같은 정도”라고 말했다. 존슨은 서버리스 컴퓨팅의 주요 매력을 다음과 같이 설명했다. “소프트웨어 아키텍처에 관한 다른 사고 방식이다. 구성 요소를 작은 조각들로 나눈다. 기...

2017.05.11

엑셀 팁 6종: 숫자 서식 단축키, RAND 함수로 난수 만들기 外

엑셀 작업은 단순하고 빠를 수록 좋은 법이다. 단축키 부터, 비밀번호를 위한 난수 만들기, 범위 내 난수 찾기, 매월 자동차나 주택 담보 대출 지출액 계산 기능 등을 소개한다. 1. 단축키 : 전체 스프레드시트 선택 Ctrl+A를 이용해 전체 스프레드시트, 문서, 이메일 등을 선택할 수 있다. 누구나 알고 있는 방법이다. 그러나 엑셀에는 더 빠른 방법이 있다. 열 숫자와 행 문자가 만나는 부분의 녹색 화살표를 클릭하면 된다. 2. 단축키 : 숫자 서식 마우스가 더 빠를까? 키보드가 더 빠를까? 둘을 모두 사용하는 것이 하나만 사용하는 것보다 빠르다. 바로가기가 있다. 숫자나 숫자 행을 입력한 후, 해당 셀을 선택해 다음을 누르는 방법이다. Ctrl+Shift+$ : 선택한 셀을 통화로 표시 Ctrl+Shift+% : 비율(%)을 표시하는 서식 Ctrl+Shift+~ : 일반 서식 Ctrl+Shift+# : 날짜 서식 Ctrl+Shift+@ : 시간을 표시하는 서식 Ctrl+Shift+^ : 지수를 표시하는 서식 3. 단축키 : 빠른 확대/축소 스프레드시트를 확대/축소하려면 몇 단계를 거쳐야 한다. 먼저 보기(View) 탭을 선택하고, 확대/축소 그룹에서 확대/축소 버튼을 클릭해 대화상자에서 배율을 선택한 후(또는 사용자 지정에 값을 입력한 후) 확인을 클릭해야 한다. 복잡하다. 그러나 아주 단순한 방법이 있다. Ctrl 키를 누른 상태에서 마우스 휠을 이용해 확대/축소를 할 수 있다. 아주 간단하다. 참고: 워드와 아웃룩, 파워포인트, 윈도우, 인터넷 브라우저(IE와 크롬, 모질라 파이어폭스 등)에서도 이용할 수 있는 단축키다. . 4. 대출 상환 금액 계산하기 자동차 대출이나 주택 담보 대출을 받았을 때 매달 얼마를 내야 하는지 알고 싶은가? 엑셀에는 프리우스와 캠리, 주택과 콘도(아파트) 중 자신의 경제력에 맞는 것이 무엇인지 확인할 수 있는 도구가 있다. 30년 상환 기간에 이자 3.2%인 주택 ...

엑셀 단축키 함수 난수

2016.10.18

엑셀 작업은 단순하고 빠를 수록 좋은 법이다. 단축키 부터, 비밀번호를 위한 난수 만들기, 범위 내 난수 찾기, 매월 자동차나 주택 담보 대출 지출액 계산 기능 등을 소개한다. 1. 단축키 : 전체 스프레드시트 선택 Ctrl+A를 이용해 전체 스프레드시트, 문서, 이메일 등을 선택할 수 있다. 누구나 알고 있는 방법이다. 그러나 엑셀에는 더 빠른 방법이 있다. 열 숫자와 행 문자가 만나는 부분의 녹색 화살표를 클릭하면 된다. 2. 단축키 : 숫자 서식 마우스가 더 빠를까? 키보드가 더 빠를까? 둘을 모두 사용하는 것이 하나만 사용하는 것보다 빠르다. 바로가기가 있다. 숫자나 숫자 행을 입력한 후, 해당 셀을 선택해 다음을 누르는 방법이다. Ctrl+Shift+$ : 선택한 셀을 통화로 표시 Ctrl+Shift+% : 비율(%)을 표시하는 서식 Ctrl+Shift+~ : 일반 서식 Ctrl+Shift+# : 날짜 서식 Ctrl+Shift+@ : 시간을 표시하는 서식 Ctrl+Shift+^ : 지수를 표시하는 서식 3. 단축키 : 빠른 확대/축소 스프레드시트를 확대/축소하려면 몇 단계를 거쳐야 한다. 먼저 보기(View) 탭을 선택하고, 확대/축소 그룹에서 확대/축소 버튼을 클릭해 대화상자에서 배율을 선택한 후(또는 사용자 지정에 값을 입력한 후) 확인을 클릭해야 한다. 복잡하다. 그러나 아주 단순한 방법이 있다. Ctrl 키를 누른 상태에서 마우스 휠을 이용해 확대/축소를 할 수 있다. 아주 간단하다. 참고: 워드와 아웃룩, 파워포인트, 윈도우, 인터넷 브라우저(IE와 크롬, 모질라 파이어폭스 등)에서도 이용할 수 있는 단축키다. . 4. 대출 상환 금액 계산하기 자동차 대출이나 주택 담보 대출을 받았을 때 매달 얼마를 내야 하는지 알고 싶은가? 엑셀에는 프리우스와 캠리, 주택과 콘도(아파트) 중 자신의 경제력에 맞는 것이 무엇인지 확인할 수 있는 도구가 있다. 30년 상환 기간에 이자 3.2%인 주택 ...

2016.10.18

리뷰 | 아마존 머신러닝 '필수 기능이 튼실한 범용 서비스'

물리학자로서 필자는 본래 정확한 수식으로 세상을 설명하도록 훈련 받았다. 이후 실험적 고 에너지 입자 물리학자로서 필자는 오류가 있는 대량의 데이터를 다루고 해당 데이터를 설명하는 경쟁 모델을 평가하는 방법을 배웠다. 대량으로 수집된 비즈니스 데이터는 필자가 다룰 수 있는 물리학 데이터보다 모델화하기가 더 복잡하고 어려운 경우가 많다. 쉽게 말해 인간 행동은 복잡하고 일관적이지 않으며 제대로 이해되지 않고 있고 여러 변수에 의해 영향을 받는다. 자신의 의도가 어떤 고객이 새로운 서비스에 가입할 확률이 높은지 예상하고 싶은 것이라면, 누적된 이력 패턴을 토대로 하는 확실한 상관관계 외에도 불확실한 것들과 약간의 무작위성도 존재한다는 사실을 발견하게 될 것이다. 데이터를 그래프화하고 설명적 통계 분석을 해도 현상을 설명하는 모델을 찾지 못한다면 머신러닝이 필요할 수 있다. 아마존 머신러닝(Amazon Machine Learning, AML) 서비스의 접근 방식은 분석가들이 데이터 공학과 머신러닝 알고리즘을 이해하는지 여부에 상관 없이 해결해야 하는 비즈니스 문제를 파악할 수 있도록 개발되었다. 알다시피 이런 의도 덕분에 결과가 유사하긴 하지만 마이크로소프트 애저 머신러닝(Microsoft Azure Machine Learning)과는 다른 서비스와 인터페이스를 갖추고 있다. 두 서비스 모두 누적된 이력 데이터부터 시작해 관찰할 수 있는 것으로부터 예측 대상을 식별하고 관련된 특징을 추출하며 이를 모델에 적용하고 시스템이 모델의 계수를 최적화할 수 있다. 그리고 나서 모델을 평가하고 수용할 수 있다면, 이를 이용해 예측하면 된다. 예를 들어, 은행에서 새로운 신용카드 요금이 합법적인지 아니면 사기인지 예측하는 모델을 구축할 수 있으며, 제조업체가 잠재 고객이 자사 제품에 얼마나 많은 돈을 지불할지 예측하는 모델을 구축할 수 있다. 일반적으로 우선 자사의 데이터를 업로드하고 정리하여 AML(Amazon Machine Learning...

아마존 알고리즘 머신러닝 함수 AML 회귀분석

2016.03.28

물리학자로서 필자는 본래 정확한 수식으로 세상을 설명하도록 훈련 받았다. 이후 실험적 고 에너지 입자 물리학자로서 필자는 오류가 있는 대량의 데이터를 다루고 해당 데이터를 설명하는 경쟁 모델을 평가하는 방법을 배웠다. 대량으로 수집된 비즈니스 데이터는 필자가 다룰 수 있는 물리학 데이터보다 모델화하기가 더 복잡하고 어려운 경우가 많다. 쉽게 말해 인간 행동은 복잡하고 일관적이지 않으며 제대로 이해되지 않고 있고 여러 변수에 의해 영향을 받는다. 자신의 의도가 어떤 고객이 새로운 서비스에 가입할 확률이 높은지 예상하고 싶은 것이라면, 누적된 이력 패턴을 토대로 하는 확실한 상관관계 외에도 불확실한 것들과 약간의 무작위성도 존재한다는 사실을 발견하게 될 것이다. 데이터를 그래프화하고 설명적 통계 분석을 해도 현상을 설명하는 모델을 찾지 못한다면 머신러닝이 필요할 수 있다. 아마존 머신러닝(Amazon Machine Learning, AML) 서비스의 접근 방식은 분석가들이 데이터 공학과 머신러닝 알고리즘을 이해하는지 여부에 상관 없이 해결해야 하는 비즈니스 문제를 파악할 수 있도록 개발되었다. 알다시피 이런 의도 덕분에 결과가 유사하긴 하지만 마이크로소프트 애저 머신러닝(Microsoft Azure Machine Learning)과는 다른 서비스와 인터페이스를 갖추고 있다. 두 서비스 모두 누적된 이력 데이터부터 시작해 관찰할 수 있는 것으로부터 예측 대상을 식별하고 관련된 특징을 추출하며 이를 모델에 적용하고 시스템이 모델의 계수를 최적화할 수 있다. 그리고 나서 모델을 평가하고 수용할 수 있다면, 이를 이용해 예측하면 된다. 예를 들어, 은행에서 새로운 신용카드 요금이 합법적인지 아니면 사기인지 예측하는 모델을 구축할 수 있으며, 제조업체가 잠재 고객이 자사 제품에 얼마나 많은 돈을 지불할지 예측하는 모델을 구축할 수 있다. 일반적으로 우선 자사의 데이터를 업로드하고 정리하여 AML(Amazon Machine Learning...

2016.03.28

'작업 시간을 절반으로!' 워드의 숨겨진 자동화 기능 7가지

워드에는 정말 많은 유용한 기능이 숨겨져 있다. 여기에서 소개하는 7가지 방법은 복잡한 문서 작성 시 자주 접하는 문제를 해결하는데 도움을 줄 것이다. 빠르게 줄 간격 변경하기 키를 두 개만 두드려서 전체 문서, 페이지, 문단의 줄 간격을 바꿀 수 있다. 줄 간격을 바꾸고 싶은 문단으로 커서를 옮긴 후, 다음을 누른다. Ctrl+1: 줄 간격을 1줄로 변경. Ctrl+2: 줄 간격을 2줄로 변경. Ctrl+5: 줄 간격을 1.5줄로 변경. 주: 알파벳 키 위의 수를 사용해야 한다. 키패드의 수는 사용할 수 없는 단축키이기 때문이다. 무작위 텍스트 생성 1. 안내서, 그래픽 디자인, 기타 프로젝트에서 무작위로 텍스트를 생성하는 방법이 있다. 새로 작성하는 문단 앞에 =Rand(2,3)라고 입력한 후 Enter를 누르면 된다. 괄호 안의 첫 번째 숫자는 문단의 수이고, 두 번째 숫자는 각 문단을 구성하는 문장의 수이다. =Rand(2,3) 명령어를 이용하면 다음의 두 문단이 생성된다. 비디오는 자신의 견해를 효과적으로 입증하는 데 도움이 됩니다. [온라인 비디오]를 클릭하면 추가할 비디오에 대한 Embed 태그를 붙여 넣을 수 있습니다. 키워드를 입력하여 문서에 가장 잘 맞는 비디오를 온라인에서 검색할 수도 있습니다. Word에서 제공하는 머리글, 바닥글, 표지, 텍스트 상자 디자인을 활용하여 전문가 수준으로 디자인해 보세요. 예를 들어 비디오에 관련된 표지, 제목, 보조 기사를 추가할 수 있습니다. [삽입]을 클릭한 다음 다른 갤러리에서 원하는 요소를 선택합니다. 2. 라틴어로 임의의 텍스트를 삽입할 수도 있다. =Lorem(2,2)라고 입력하면 다음 텍스트가 생성된다. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, pu...

워드 텍스트 함수 팁코 소프트웨어 MS워드 수직선택 줄간격

2015.10.26

워드에는 정말 많은 유용한 기능이 숨겨져 있다. 여기에서 소개하는 7가지 방법은 복잡한 문서 작성 시 자주 접하는 문제를 해결하는데 도움을 줄 것이다. 빠르게 줄 간격 변경하기 키를 두 개만 두드려서 전체 문서, 페이지, 문단의 줄 간격을 바꿀 수 있다. 줄 간격을 바꾸고 싶은 문단으로 커서를 옮긴 후, 다음을 누른다. Ctrl+1: 줄 간격을 1줄로 변경. Ctrl+2: 줄 간격을 2줄로 변경. Ctrl+5: 줄 간격을 1.5줄로 변경. 주: 알파벳 키 위의 수를 사용해야 한다. 키패드의 수는 사용할 수 없는 단축키이기 때문이다. 무작위 텍스트 생성 1. 안내서, 그래픽 디자인, 기타 프로젝트에서 무작위로 텍스트를 생성하는 방법이 있다. 새로 작성하는 문단 앞에 =Rand(2,3)라고 입력한 후 Enter를 누르면 된다. 괄호 안의 첫 번째 숫자는 문단의 수이고, 두 번째 숫자는 각 문단을 구성하는 문장의 수이다. =Rand(2,3) 명령어를 이용하면 다음의 두 문단이 생성된다. 비디오는 자신의 견해를 효과적으로 입증하는 데 도움이 됩니다. [온라인 비디오]를 클릭하면 추가할 비디오에 대한 Embed 태그를 붙여 넣을 수 있습니다. 키워드를 입력하여 문서에 가장 잘 맞는 비디오를 온라인에서 검색할 수도 있습니다. Word에서 제공하는 머리글, 바닥글, 표지, 텍스트 상자 디자인을 활용하여 전문가 수준으로 디자인해 보세요. 예를 들어 비디오에 관련된 표지, 제목, 보조 기사를 추가할 수 있습니다. [삽입]을 클릭한 다음 다른 갤러리에서 원하는 요소를 선택합니다. 2. 라틴어로 임의의 텍스트를 삽입할 수도 있다. =Lorem(2,2)라고 입력하면 다음 텍스트가 생성된다. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, pu...

2015.10.26

“엑셀 함수 제대로 쓰자!” 계산과 일반적인 작업을 위한 15가지 팁

엑셀은 그 깊고 정교한 공식 기능을 알아갈수록 빠져들 수밖에 없는 프로그램이다. 원하는 결과를 얻는 방법이 여러 가지이므로 현재 상황에 가장 적합한 것을 결정할 수 있다. 예를 들어 삼수를 입력하고 숫자를 계산하는 방법에도 여러 가지가 있다. 함수를 입력하는 5가지 방법 1. 수동으로 엑셀 함수 입력하기 목록이 길 때: =SUM(B4:B13) 목록이 짧을 때: =SUM(B4,B5,B6,B7); =SUM(B4+B5+B6+B7). 또는 목록 맨 아래의 첫 번째 빈 셀에 커서를 올리고(사실 아무 셀이나 상관없음) + 기호를 누른 다음 B4를 클릭한다. 다시 + 기호를 누르고 B5를 클릭한다. 이런 식으로 끝까지 한 다음 Enter를 누른다. 이렇게 하면 마우스로 지정한 목록의 총계를 구할 수 있다. =+B4+B5+B6+B7. 2. 함수 삽입 버튼 클릭하기 수식 탭 아래에 있는 함수 삽입을 사용하면 엑셀 메뉴 목록에서 함수를 선택할 수 있다. =COUNT(B4:B13)는 범위 내에 있는 수의 개수를 센다(빈 셀은 무시함). =COUNTA(B3:B13)는 범위 내에 있는 모든 문자의 수를 센다(빈 셀은 무시함). 3. 그룹에서 함수 선택하기(서식 탭) 재무, 논리 또는 날짜/시간과 같은 함수 라이브러리를 이용하면 검색 범위를 좁힐 수 있다. =TODAY() 오늘 날짜를 삽입한다. 4. 최근에 사용한 함수 ‘최근에 사용한 함수’를 클릭하면 버튼 이름 그대로 최근 사용한 함수가 표시된다. 특히 복잡한 스프레드시트로 작업할 때 이 기능을 사용하면 많은 시간을 절약할 수 있다. =AVERAGE(B4:B13)는 목록의 수를 더하고 값의 개수로 나눈 다음 평균을 표시한다. 5. 자동 합계 버튼 아래의 자동 함수 자동 함수는 아주 빠르다. 필자의 편집 담당자가 가장 좋아하는 기능이다. 셀 범위와 함수를 선택하면 결과가 바로 나온다. 몇 가지 예를 보자. =M...

엑셀 함수 공식

2015.04.10

엑셀은 그 깊고 정교한 공식 기능을 알아갈수록 빠져들 수밖에 없는 프로그램이다. 원하는 결과를 얻는 방법이 여러 가지이므로 현재 상황에 가장 적합한 것을 결정할 수 있다. 예를 들어 삼수를 입력하고 숫자를 계산하는 방법에도 여러 가지가 있다. 함수를 입력하는 5가지 방법 1. 수동으로 엑셀 함수 입력하기 목록이 길 때: =SUM(B4:B13) 목록이 짧을 때: =SUM(B4,B5,B6,B7); =SUM(B4+B5+B6+B7). 또는 목록 맨 아래의 첫 번째 빈 셀에 커서를 올리고(사실 아무 셀이나 상관없음) + 기호를 누른 다음 B4를 클릭한다. 다시 + 기호를 누르고 B5를 클릭한다. 이런 식으로 끝까지 한 다음 Enter를 누른다. 이렇게 하면 마우스로 지정한 목록의 총계를 구할 수 있다. =+B4+B5+B6+B7. 2. 함수 삽입 버튼 클릭하기 수식 탭 아래에 있는 함수 삽입을 사용하면 엑셀 메뉴 목록에서 함수를 선택할 수 있다. =COUNT(B4:B13)는 범위 내에 있는 수의 개수를 센다(빈 셀은 무시함). =COUNTA(B3:B13)는 범위 내에 있는 모든 문자의 수를 센다(빈 셀은 무시함). 3. 그룹에서 함수 선택하기(서식 탭) 재무, 논리 또는 날짜/시간과 같은 함수 라이브러리를 이용하면 검색 범위를 좁힐 수 있다. =TODAY() 오늘 날짜를 삽입한다. 4. 최근에 사용한 함수 ‘최근에 사용한 함수’를 클릭하면 버튼 이름 그대로 최근 사용한 함수가 표시된다. 특히 복잡한 스프레드시트로 작업할 때 이 기능을 사용하면 많은 시간을 절약할 수 있다. =AVERAGE(B4:B13)는 목록의 수를 더하고 값의 개수로 나눈 다음 평균을 표시한다. 5. 자동 합계 버튼 아래의 자동 함수 자동 함수는 아주 빠르다. 필자의 편집 담당자가 가장 좋아하는 기능이다. 셀 범위와 함수를 선택하면 결과가 바로 나온다. 몇 가지 예를 보자. =M...

2015.04.10

'사랑하지만, 그래도' 자바스크립트의 싫은 부분 10가지

우리는 자바스크립트를 좋아한다. 1992년에는 정적 웹 페이지가 보기 좋았지만, 지금의 웹 페이지들은 노래하고 춤추거나 기타 자바스크립트로 작성된 매혹적인 코드로 사용자들을 유혹한다. 우리는 매일, 거의 모든 플랫폼에서, 거의 모든 목적으로 자바스크립트를 쓰지만, 그렇다고 자바스크립트의 모든 면을 좋아한다는 뜻은 아니다. 여기서는 웹의 오랜 언어인 자바스크립트에 대해 우리가 싫어하는 10가지를 살펴보자. 물론 싫다고 해도 서버에 루트킷으로 침투해 엄청난 양의 스팸 메시지를 보내는 사람에 대해 느끼는 적개심만큼은 아니다. 어쩌면 단순한 불평 정도일 것이다. 판단은 여러분 스스로 하기 바란다. editor@itworld.co.kr

개발자 브라우저 자바스크립트 함수 DOM 라이브러리

2014.04.08

우리는 자바스크립트를 좋아한다. 1992년에는 정적 웹 페이지가 보기 좋았지만, 지금의 웹 페이지들은 노래하고 춤추거나 기타 자바스크립트로 작성된 매혹적인 코드로 사용자들을 유혹한다. 우리는 매일, 거의 모든 플랫폼에서, 거의 모든 목적으로 자바스크립트를 쓰지만, 그렇다고 자바스크립트의 모든 면을 좋아한다는 뜻은 아니다. 여기서는 웹의 오랜 언어인 자바스크립트에 대해 우리가 싫어하는 10가지를 살펴보자. 물론 싫다고 해도 서버에 루트킷으로 침투해 엄청난 양의 스팸 메시지를 보내는 사람에 대해 느끼는 적개심만큼은 아니다. 어쩌면 단순한 불평 정도일 것이다. 판단은 여러분 스스로 하기 바란다. editor@itworld.co.kr

2014.04.08

'순식간에 뚝딱!' 고급 사용자를 위한 엑셀 파워팁 11선

두 부류의 마이크로소프트 엑셀(Excel) 사용자가 있다. 작은 표 정도만 깔끔하게 만들 수 있는 사람이 있는가 하면, 정교한 차트와 데이터 분석, 마법처럼 보이는 함수와 매크로 기능을 활용해 동료들을 놀라게 하는 사람이다. 이 글을 읽는 이라면 아마 자신이 후자라고 생각할 것이다. 그런데 정말 그럴까? 다음 11가지 필수 엑셀 노하우를 점검해 확인해보자. 혹여 몰랐던 부분이 있었다면 지금이라도 익히면 된다. - Vlookup - 차트 생성 - If 함수 - 피벗 테이블(PivotTables) - 피벗 차트(PivotChart) - 플래시 필 - 빠른 분석 (Quick analysis) - 파워 뷰 (Power View) - 조건부 서식( Conditional Formatting) - 행과 열 바꾸기 - 필수 단축키 Vlookup Vlookup은 엑셀 사용자라면 누구나 알 가치가 있는 강력한 함수다. 여러 시트와 워크북에 흩어진 데이터를 한 장소에 모아 요약 보고서와 보고서를 생성하는 데 도움을 주는 도구다. 재고 리스트와 같은 대형 데이터 테이블에서 산재한 정보를 발견하기 쉽게 해주는 것이 Vlookup이다. 소매점의 제품 취급 업무를 책임지고 있다고 가정하자. 일반적으로 각 제품마다 고유의 재고 번호를 갖고 있다. 이를 Vlookup의 참조점으로 활용할 수 있다. Vlookup 함수는 이 번호를 다른 시트의 동일한 ID와 대조해, 품목 내용, 가격, 재고 수준, 기타 여러 데이터 포인터를 현재 작업하고 있는 워크북으로 가져올 수 있도록 해준다. 엑셀의 수식(Formula) 메뉴에서 Vlookup 함수를 가져와 참조 번호가 포함된 셀을 입력한다. 그리고 데이터를 불러올 워크북이나 시트의 셀 범위, 찾고 있는 데이터 포인트의 컬럼 번호, 그리고 (가장 가까운 참조 번호를 찾기 원하면) 'True'나 (정확하게 동일한 번호를 원하면) ...

오피스 단축키 엑셀 2013 함수 피벗

2014.03.20

두 부류의 마이크로소프트 엑셀(Excel) 사용자가 있다. 작은 표 정도만 깔끔하게 만들 수 있는 사람이 있는가 하면, 정교한 차트와 데이터 분석, 마법처럼 보이는 함수와 매크로 기능을 활용해 동료들을 놀라게 하는 사람이다. 이 글을 읽는 이라면 아마 자신이 후자라고 생각할 것이다. 그런데 정말 그럴까? 다음 11가지 필수 엑셀 노하우를 점검해 확인해보자. 혹여 몰랐던 부분이 있었다면 지금이라도 익히면 된다. - Vlookup - 차트 생성 - If 함수 - 피벗 테이블(PivotTables) - 피벗 차트(PivotChart) - 플래시 필 - 빠른 분석 (Quick analysis) - 파워 뷰 (Power View) - 조건부 서식( Conditional Formatting) - 행과 열 바꾸기 - 필수 단축키 Vlookup Vlookup은 엑셀 사용자라면 누구나 알 가치가 있는 강력한 함수다. 여러 시트와 워크북에 흩어진 데이터를 한 장소에 모아 요약 보고서와 보고서를 생성하는 데 도움을 주는 도구다. 재고 리스트와 같은 대형 데이터 테이블에서 산재한 정보를 발견하기 쉽게 해주는 것이 Vlookup이다. 소매점의 제품 취급 업무를 책임지고 있다고 가정하자. 일반적으로 각 제품마다 고유의 재고 번호를 갖고 있다. 이를 Vlookup의 참조점으로 활용할 수 있다. Vlookup 함수는 이 번호를 다른 시트의 동일한 ID와 대조해, 품목 내용, 가격, 재고 수준, 기타 여러 데이터 포인터를 현재 작업하고 있는 워크북으로 가져올 수 있도록 해준다. 엑셀의 수식(Formula) 메뉴에서 Vlookup 함수를 가져와 참조 번호가 포함된 셀을 입력한다. 그리고 데이터를 불러올 워크북이나 시트의 셀 범위, 찾고 있는 데이터 포인트의 컬럼 번호, 그리고 (가장 가까운 참조 번호를 찾기 원하면) 'True'나 (정확하게 동일한 번호를 원하면) ...

2014.03.20

IDG 설문조사

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.4.0.6