Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

라이브러리

How-To : 맥에서 여러 사진 보관함을 아이클라우드로 동기화하는 법 

맥OS 사진 앱에서는 여러 보관함(library)을 쉽게 만들 수 있다. 보통 사진과 비디오를 여행, 업무, 개인 용도 등으로 그룹으로 나누거나 너무 많은 이미지와 비디오가 있는 경우 보관함을 여러 개 만든다. 여러 보관함을 사용하면 원하는 위치에 특정 보관함을 저장할 수도 있다.    그러나 하나 이상의 보관함을 사용하려고 한다면 몇 가지 문제가 생길 수 있다. 아이클라우드 사진과 함께 작동하고 여러 기기와 동기화하고 클라우드 저장소에 접근하라면 보관함을 딱 하나만 이용해야 한다. 나중에 수정될 수 있는 기능일 수도 있지만, 아직까지 애플은 이 문제에 대해 고치겠다는 발표는 하지 않았다. 대신 다음과 같은 3가지 방식 중 하나를 선택하면, 여러 보관함을 아이클라우드와 동기화할 수 있다.  보관함 병합 : 가장 쉽게 시도할 수 있는 방법은 분리된 보관함을 하나로 만드는 것이다. 만약 보관함을 분리할 수 없다면, 선택할 수 없는 방법이긴 하다. 애플은 공식적으로 보관함 병합 기능을 지원하지 않는다. ‘파워포토’라는 유료 앱을 다운받으면, 맥에서 쉽게 보관함을 통합할 수 있다.  여러 계정 만들기 : 보관함가 아이클라우드와 동기화될 때는 맥OS 및 애플 ID 계정이 연동된다. 만약 맥OS 및 애플 ID 계정을 여러 개 생성하면 보관함 개수 제한이 풀린다. 계정을 여러 개 관리하느라 불편하겠지만 클라우드 상에서 접근할 수 있다는 장점이 있다. 이 방식의 단점은 아이폰, 아이패드, 맥 등 여러 기기가 있을 경우 계정들이 서로 자동 동기화되지 않는다는 부분이다. 각 보관함에 50GB 이상의 미디어가 있는 경우 높은 용량을 저장하기 위한 구독료를 지불해야 할 수 있다. 다른 클라우드 사진 보관함 앱 사용 : 구글 포토 같은 외부 사진 관리 앱을 이용해볼 수 도있다. 앱 상에서 쉽게 바로 사진을 구경할 수는 없지만 웹 앱을 통해 모든 설정을 관리하기 때문에 이미지에 태그를 지정하여 보관함을 구분하는 등 사진을 ...

아이클라우드 라이브러리 2022.12.19

C++개발자를 위한 최고의 라이브러리 12선

C++는 범용 시스템 프로그래밍 언어로, 1979년에 설계돼 지금까지 40년 이상 사용되고 있다. 오랜 역사 동안 C++에 대한 열기는 식지 않고, 언제나 프로그래밍 언어 인기 순위에서 최상위권을 유지하고 있다. C++ 생태계는 IDE, 편집기, 컴파일러, 테스트 프레임워크, 코드 품질 등을 지원하는 업체가 광범위하게 있다는 장점이 있다. 여기에 C++ 애플리케이션 구축에 도움이 되는 뛰어난 라이브러리도 많다. 아래 내용을 통해 C++ 개발자가 선호하는 12가지 라이브러리 정보를 확인해보자.   액티브 템플릿 라이브러리 액티브 템플릿 라이브러리(Active Template Library, ATL)는 COM(공통 객체 모델) 객체를 구축하기 위한 C++ 클래스 모음이며, 마이크로소프트가 개발했다. 듀얼 인터페이스, 표준 COM 열거자 인터페이스, 연결 포인트, 액티브X 컨트롤과 같은 COM 기능을 ATL에서 지원한다. ATL은 비주얼 스튜디오 IDE에서 바로 제공되며, 싱글 스레드 객체, 아파트먼트 모델(apartment model) 객체, 자유 스레드(free-threaded) 모델 객체 또는 자유 스레드와 아파트먼트 모델 객체 두 가지 모두를 구축하는 데 사용할 수 있다. 아시오 C++ 라이브러리 아시오(Asio) C++ 라이브러리는 네트워크 및 로우레벨 I/O 프로그래밍에 사용되며 일관적인 비동기 모델을 지원한다. 동시성, C++ 네트워킹 및 기타 유형의 I/O를 위한 기본적인 구성요소를 제공하며 스마트폰 앱과 게임부터 상호작용이 많은 웹사이트 및 실시간 거래 시스템에 이르기까지 다양한 분야에서 활용된다. 아시오를 사용하는 프로젝트로는 웹소켓PP(WebSocketPP) 라이브러리와 루아(Lua) 언어를 위한 DDT3 원격 디버거가 있다. 아시오는 부스트 소프트웨어 라이선스에 따라 무료 오픈소스로 제공되며 리눅스, 윈도우, 맥OS, 프리BSD에서 지원된다.    부스트 부스트(Boost)는 피어 리뷰를 거친, 이...

c++ 라이브러리 2022.10.17

"자연어 처리가 필요하다면" 추천 파이썬 라이브러리 8종

파이썬에는 NLP 관련 도구가 정말 많다. 원하는 텍스트 분석 작업에 적절한 파이썬 라이브러리는 어떻게 찾을 수 있을까? 용도별 추천 라이브러리와 장단점을 살펴본다.  NLP(Natural Language Processing, 자연어 처리)는 ‘음성 및 텍스트를 위한 AI’라고 말할 수 있다. 음성 명령, 음성 및 텍스트 번역, 감성 분석, 텍스트 요약, 언어와 관련된 여타 많은 애플리케이션은 그 동안 크게 개선됐다. 분석에 사용되는 NLP의 성능 또한 딥러닝을 통해 획기적으로 향상됐다. 파이썬 언어는 NLP를 포함한 모든 종류의 머신러닝에 유용한 프론트엔드를 제공한다. 하지만 파이썬 생태계에는 고를 NLP가 너무 많아 당황스러운 것도 사실이다. 여기서는 주요 파이썬용 라이브러리의 사용례와 장단점 그리고 인기도를 살펴본다.    CoreNLP 스탠포드 대학(Stanford University)이 만든 CoreNLP 라이브러리는 NLP 예측 및 분석 작업을 대규모로 수행할 수 있게 해주는 실용 단계의 NLP 솔루션이다. CoreNLP는 자바(Java)로 작성됐지만, 이를 위한 API와 여러 파이썬 패키지가 등장해 있는 상태다. Stanza로 불리는 네이티브 NLP 라이브러리가 그 중 하나다. 문법 태깅, 명명 엔티티 인식, 파싱, 구문 분석, 감성 분석 등 많은 언어 관련 도구들이 CoreNLP에 포함되어 있다. 언어별 특성을 타지 않도록 고안되어 있으며, 현재 영어에 더해 아랍어, 중국어, 프랑스어, 독일어, 스페인어(서드파티를 통해 러시아어 및 스웨덴어, 덴마크어)를 지원한다. CoreNLP에는 간편하게 예측을 하는 기능을 제공하는 웹 API 서버도 포함되어 있다. CoreNLP의 파이썬 래퍼(Python wrappers) 이용의 좋은 출발점은 스탠포드 NLP 그룹이 만든 참조 구현체인 Stanza이다. Stanza는 문서화가 잘 되어 있고, 정기적으로 유지 관리되는 것이 장점이다. 다른 CoreNLP 파이썬 라이브러리 ...

파이썬 자연어 처리 NLP 2021.03.25

파이썬 코드 프로파일링에 유용한 라이브러리 5가지

모든 프로그래밍 언어에는 개발 속도와 실행 속도, 두 가지 종류의 속도가 있다. 파이썬은 항상 빠른 실행보다는 빠른 개발을 선호했다. 파이썬 코드의 실행 속도는 대부분 필요한 작업에 충분할 만큼 빠르지만 그렇지 않을 때도 종종 있다. 그런 경우가 발생한다면 속도가 저하되는 지점과 이유를 찾아 조치를 취해야 한다.   소프트웨어 개발, 그리고 전반적인 엔지니어링에서 유명한 격언으로, “짐작하지 말고 측정을 하라”는 말이 있다. 소프트웨어에서 무엇이 잘못되었는지 가정하기는 쉽지만 가정은 좋은 습관이 아니다. 애플리케이션 속도를 높이기 위한 최선의 일차적인 도구는 항상 실제 프로그램 성능에 대한 통계 수치다.   파이썬은 애플리케이션을 프로파일링하고 속도가 느린 부분을 알아내는 데 사용할 수 있는 풍부한 패키지를 제공한다. 표준 라이브러리에 포함된 간단한 한 줄짜리 툴부터 실행 중인 애플리케이션에서 통계 수치를 수집하기 위한 정교한 프레임워크에 이르기까지 종류도 다양하다. 이 기사에서는 그중에서 가장 유용한 5가지를 정리했다. 모두 크로스 플랫폼 툴이며 파이파이(PyPI) 또는 파이썬의 표준 라이브러리에서 바로 사용할 수 있다.   타임(Time)과 타임잇(Timeit) 스톱워치만으로 충분한 경우가 있다. 실행하는 데 몇 초 또는 몇 분이 걸리는 두 코드 스니펫 사이의 시간을 프로파일링하는 것이 목적이라면 스톱워치만으로 충분하다.   파이썬 표준 라이브러리에는 스톱워치 역할을 하는 두 가지 함수가 있다. 타임 모듈의 perf_counter 함수는 운영체제의 고분해능 타이머를 호출해서 임의의 타임스탬프를 구한다. 작업 전과 후에 한 번씩 time.perf_counter를 호출하면 둘 사이의 차이를 확인할 수 있다. 거추장스러운 부분 없이, 낮은 오버헤드로 코드 시간을 측정할 수 있는 방법이다.   타임잇 모듈은 파이썬 코드를 대상으로 실제 벤치마킹과 비슷한 작업을 수행한다. timeit.timeit 함수는 코드 스니펫을 취...

파이썬 코드프로파일 라이브러리 2020.12.18

'속도를 높이는' 병렬 처리를 위한 6가지 파이썬 라이브러리

파이썬(Python)은 편의성과 프로그래머 친화성으로 유명하지만 속도 측면에서는 크게 내세울 것이 없는 프로그래밍 언어다. 파이썬의 속도 제약은 기본 구현인 c파이썬(cPython)이 싱글 스레드라는 점에도 일부 기인한다. 즉, c파이썬은 한번에 2개 이상의 하드웨어 스레드를 사용하지 않는다.   파이썬에 내장된 threading 모듈을 사용해 속도를 높일 수 있지만, threading은 병렬성(parallelism)이 아니라 동시성(concurrency)을 제공할 뿐이다. CPU에 종속되지 않는 여러 작업을 실행하는 용도로는 효과적이지만 각각 전체 CPU를 요구하는 여러 작업의 속도를 높이는 데는 아무 효과가 없다. 그러나 파이썬에도 여러 CPU에 걸쳐 파이썬 워크로드를 실행하기 위한 본연의 방법이 포함돼 있다. multiprocessing 모듈은 각각 별도의 코어에서 여러 개의 파이썬 인터프리터를 구동하며 여러 코어에 걸쳐 작업을 분할하기 위한 프리미티브를 제공한다. 그러나 multiprocessing으로도 충분하지 않을 때가 있다. 여러 코어뿐만 아니라 여러 머신으로 작업을 분산해야 하는 경우도 있는데, 이런 경우 유용한 6개 파이썬 라이브러리와 프레임워크가 있다. 이번 기사에서 소개하는 파이썬 툴킷 6개는 모두 기존 파이썬 애플리케이션에서 여러 코어, 여러 머신으로 작업을 분산시킬 수 있다. 레이(Ray) 미국 캘리포니아 버클리 대학 연구팀이 개발한 레이는 다수의 분산 머신러닝 라이브러리를 보강한다. 레이의 원래 사용사례는 머신러닝이지만 그 외의 용도로도 사용할 수 있다. 레이를 사용하면 많은 파이썬 작업을 분할해 여러 시스템으로 분산할 수 있다. 레이의 구문은 최소화하기 때문에 기존 앱의 많은 부분을 재작업하지 않고도 병렬화가 가능하다. @ray.remote 데코레이터는 해당 함수를 레이 클러스터의 가용 노드 전반으로 분산할 수 있으며, 사용할 CPU 또는 GPU의 수를 나타내는 매개변수를 옵션으로 지정할 수 있다. 각 분산 함수의...

병렬처리 파이썬 라이브러리 2020.05.20

구글 고의 위력을 보여주는 10가지 오픈소스 프로젝트

세상에 나온지 10년째인 구글 고(Go) 프로그래밍 언어는 그동안 확고한 입지를 다졌다. 구글 고가 큰 인기를 끈 이유는 가볍고 빠른 컴파일 속도와 함께 동시 및 분산(즉, 클라우드) 애플리케이션 개발을 쉽게 해주는 풍부한 라이브러리와 추상화에 있다. 그러나 프로그래밍 언어의 성공을 판가름하는 진정한 척도는 개발자들이 그 언어로 만드는 프로젝트다. 구글 고는 네트워크 서비스, 소프트웨어 인프라 프로젝트, 다양한 종류의 컴팩트하고 강력한 툴을 위한 빠른 개발에서 가장 유력한 언어임을 입증했다.   여기서 소개하는 오픈소스 프로젝트는 모두 구글 고로 작성되었으며, 이 중 상당수는 구글 고 언어 자체보다 더 유명해졌다. 10가지 모두 각각의 영역에서 중대한 성과를 거뒀다. 여기 나온 모든 프로젝트는 깃허브에 호스팅되므로 구글 고 언어에 대해 알아보고자 하는 사람이라면 누구나 코드를 살펴볼 수 있다.   도커(Docker) 도커만큼 구글 고의 성공을 잘 보여주는 사례를 찾기는 어렵다. 소프트웨어 컨테이너화 기술인 도커는 약 1년 전부터 대규모 분산 소프트웨어 프로젝트에서 구글 고의 적합성을 보여주는 대표적인 사례로 부상했다. 도커 팀은 종속성 없는 정적 컴파일, 강력한 표준 라이브러리, 완비된 개발 환경, 최소한의 번잡함으로 여러 아키텍처에 맞는 빌드 기능 등 많은 혜택을 제공한다는 이유로 구글 고를 선택했다.   쿠버네티스(Kubernetes) 도커를 필두로 다른 여러 클라우드 지향 컨테이너 프로젝트 역시 구글 고로 만들어졌다. 구글의 컨테이너 오케스트레이션 프로젝트인 쿠버네티스와 그 하위 구성 요소 및 생태계의 대부분도 구글 고로 만들어졌다. 대표적인 예가 기본적인 쿠버네티스만 필요하고 그 외에는 일체 필요 없는 사람들을 위한 초경량 쿠버네티스 스핀오프인 k3s다. 구글은 쿠버네티스를 만들 때 C/C++, 자바, 파이썬을 포함한 다른 언어도 고려했다. 그러나 쿠버네티스의 공동 창립자이자 전 기술 리드이며 현재 VM웨어의 수석 엔지...

프로그래밍 라이브러리 컨테이너 2019.10.11

텐서플로우용 스위프트, 고성능 머신러닝 노린다…파이썬 호환도 강점

텐서플로우(TensorFlow)용 스위프트(Swift)를 만드는 구글 개발팀이 최근 프로젝트의 로드맵 정보를 공개했다. 이들은 애플이 설계한 개발 언어 스위프트를 머신러닝 애플리케이션에 맞게 개조하고 있다. 텐서플로우용 스위프트의 향후 계획에는 C++ 상호호환성이나 개선된 자동 미분법, 분산 학습 지원 등이 포함되어 있다.   구글이 주도하는 텐서플로우용 스위프트 프로젝트는 아직 초기 단계로, 구글의 텐서플로우 머신러닝 라이브러리와 애플의 현대적인 범용 개발언어 스위프트를 통합하고자 한다. 개발팀에 따르면, 스위프트를 사용함으로써 좀 더 강력한 알고리즘을 새로운 방식으로 표현할 수 있으며, 범용화된 미분 API를 통해 함수의 미분이 쉬워진다. 프로젝트 웹사이트는 오픈소스 스위프트를 쉽고 우아한 개발언어로 소개하면서 강력한 타입 시스템 등으로 오류를 조기에 발견할 수 있고 좋은 API 설계를 촉진한다고 설명했다. 텐서플로우를 기반으로 하는 텐서플로우용 스위프트 API는 저수준 텐서플로우 운영자에게 투명한 액세스를 제공한다. 텐서플로우용 스위프트는 두 범주의 사용자에 중점을 두고 있다. 현재의 머신러닝 프레임워크에 갇혀있는 첨단 연구원과 이제 막 시작한 머신러닝 학습자이다. 스위프트 개발언어에 확장 프로그램을 추가해 스위프트와 머신러닝에서 가장 많이 사용되는 파이썬과의 호환성을 제공한다. 파이썬은 스위프트 주피터 노트북으로 가져올 수 있으며, 텐서플로우 자체는 파이썬 친화적이다. 이를 통해 개발자는 별도의 래퍼나 추가 부하없이 스위프트 코드를 작성해 파이썬 라이브러리를 호출할 수 있다. 텐서플로우용 스위프트는 깃허브에서 다운로드할 수 있으며, 튜토리얼, 문서화, 커뮤니티 참가자를 위한 정보 등은 텐서플로우 사이트에서 찾을 수 있다.  editor@itworld.co.kr

라이브러리 스위프트 파이썬 2019.09.17

모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

파이썬 프로그래밍 언어의 대성공을 이끈 힘은 무엇일까? 물론 답은 네이티브와 서드파티 라이브러리를 가리지 않는 풍부한 파이썬용 라이브러리다. 문제는 파이썬 라이브러리가 워낙 많은 탓에 유용한 라이브러리가 사람들의 관심을 받지 못하고 묻히는 부작용도이다. 또한 한 영역에서만 작업하는 프로그래머들은 다른 종류의 작업에서 사용할 수 있는 라이브러리에 대해서는 잘 모르는 경우가 많다.   여기서는 파이썬 프로그래머라면 관심을 가질 만한 20가지 파이썬 라이브러리를 선정했다. 파일 시스템 액세스, 데이터베이스 프로그래밍, 클라우드 서비스 작업과 간단한 웹 앱 구축, GUI 생성, 이미지, 전자책, 워드 파일 작업에 이르기까지 다양한 작업을 간소화하는 유용한 라이브러리다. 이 중에는 유명한 라이브러리도 있고 잘 알려지지 않은 라이브러리도 있지만, 모두 파이썬 개발자 툴박스의 한 자리를 차지할 가치가 있다는 점만은 확실하다.   아파치 Libcloud Libcloud의 기능 : 하나의 일관된 통합 API를 통해 여러 클라우드 서비스 업체에 액세스한다. Libcloud를 사용하는 이유: 아파치 Libcloud에 대한 위의 설명을 보고 환호하지 않는다면, 아마 여러 클라우드로 작업한 적이 없는 사람일 것이다. 클라우드 서비스 업체는 모두 각자의 방법을 선호한다. 따라서 10여 개의 업체를 아우르는 통합 메커니즘이 있다면, 많은 시간을 절약하고 골치아픈 문제를 피할 수 있다. 컴퓨팅, 스토리지, 로드밸런싱, DNS를 위한 API가 있으며 파이썬 2.x와 파이썬 3.x, 그리고 파이썬을 위한 고성능 JIT 컴파일러인 파이파이(PyPy)를 지원한다.   애로우(Arrow) 애로우의 기능 : 파이썬에서 날짜와 시간을 깔끔하게 처리한다. 애로우를 사용하는 이유 : 시간대, 날짜 변환, 날짜 형식 등을 다루는 일만 해도 이미 충분히 골칫거리다. 여기에 날짜/시간 작업을 위한 파이썬의 표준 라이브러리가 더해지면 골칫거리가 하나 더 늘어난다. ...

스크립트 라이브러리 파이썬 2019.03.15

“웹브라우저에서 머신러닝을” 텐서플로우 자바스크립트 라이브러리 Tensorflow.js

구글 텐서플로우 오픈소스 머신러닝 라이브러리가 자바스크립트로 확장됐다. 주인공은 Tensorflow.js로, 이 자바스크립트 라이브러리는 머신러닝 모델을 웹 브라우저에서 배치하는 데 사용한다. WebGL 가속화 라이브러리인 Tensorflow.js는 또한 Node.js 서버용 자바스크립트 런타임에도 사용할 수 있으며, 텐서플로우 생태계의 일부이기도 하다. 머신러닝을 웹 브라우저에서 바로 배치할 수 있기 때문에 별도의 드라이버가 필요없으며, 개발자는 코드를 실행하기만 하면 된다. 자바스크립트 툴 생태계를 내세운 이 프로젝트는 브라우저 기반 머신러닝용 Deeplearn.js 라이브러리에서 진화한 것으로, Deeplearn.js는 Tensorflow.js 코어로 알려져 있다. Tensorflow.js API는 저수준 자바스크립트 선형대수 라이브러리나 고수준 계층 API를 사용해 머신러닝 모델을 구축할수 있다. 또 Tensorflow.js 모델 컨버터는 기존 모델을 브라우저나 Node.js에서 에서 구동할 수 있는데, 기존 모델을 브라우저와 연결된 센서 데이터를 사용해 재훈련할 수도 있다. 텐서는 중앙 데이터 유닛 역할을 한다. 또한 신경망 구축용으로 케라스 영향을 받은 고수준 API가 포함되어 있다. Tensorflow.js는 텐서플로우의 파이썬 API와 유사한 API가 있다. 하지만 이 자바스크립트 API는 아직 파이썬 API의 모든 기능을 다 지원하지는 못한다. Tensorflow.js 측은 합리적인 수준에서 파이썬 API와 동일한 수준을 구현할 것이라 약속하지만, 한편으로는 개성적인 자바스크립트 API를 제공하고자 한다. Tensorflow.js는 AVX 라이브러리를 사용한 텐서플로우 파이썬 API의 50~60% 속도로 동작한다. Tensorflow.js에서 향후 개선할 계획인 기능은 다음과 같다. - 모델과 데이터의 신속한 가상화를 수행하기 위한 가상화 라이브러리 - 브라우저에서의 성능 향상 - WebGL 최적화 ...

웹브라우저 라이브러리 자바스크립트 2018.09.12

iOS, 맥OS, 아이클라우드의 사진 동기화 해결하기 "정답은 스마트 앨범"

컴퓨터는 보통 계산에 능해야 한다. 그러나 ios 사진이 기기마가 다른 이유는 무엇일까? 많은 Macworld 독자들이 다음과 같은 질문을 던진다.  “맥과 아이폰에 저장된 사진이 각각 다르다. 내 사진 스트림으로 아이튠즈 동기화를 하고 기기를 서로 같게 유지하는데도 뭔가 잘못된 것 같다. 아이튠즈가 이미지를 동기화할 때 이미지 수가 기기기마다 다른 상황을 해결하고 싶다. 문제가 실제로 존재하는지 판단하는 법과 해결 방법은 무엇일까?” 애플 포럼에서는 아이튠즈 싱크가 맥OS와 iOS용 아이포토, 사진(Photo) 앱의 사진 숫자가 일치하지 않는 문제에 대해 오랜 기간 토론이 이루어지고 있다. 이 불일치는 사진을 삭제할 때 이루어지는 것으로 보이며, 삭제된 사진의 축소된 썸네일이 라이브러리 데이터베이스에 남아있는 것이다. 이럴 때 아이포토 라이브러리를 재구성하고 사진 라이브러리를 복구하는 방법을 쓸 수 있다. 그러나 심지어 필자가 쓰고 있는 아이클라우드 사진 라이브러리에서도 사진 불일치가 일어난다. iOS용 사진 앱, 맥OS용 사진과 아이클라우드닷컴에서 필자의 라이브러리를 살펴보니 다음과 같았다. •iOS 용 사진은 3만 4,928 장의 사진, 653 장의 동영상 및 1 개의 "항목"(총 3만 5,582장) •맥OS 용 사진은 5만 4,808 장의 사진, 2,503 개의 동영상(총 5만 7,311). 그러나 "이 Mac에서만 사용할 수 있는 항목”이 2만 1,729개이므로 순수 사진은 3만 5,582개에 그친다. •아이클라우드닷컴은 사진과 영상을 합쳐 3만 5,583개. 혼란스러운 것은 사실이지만, 어느 정도 일관성은 있다. iOS와 맥OS와 달리 아이클라우드닷컴의 사진 저장 개수가 1개 더 많은 이유는 무엇인가? iOS용 사진의 ‘1개 항목’은 무엇을 의미하는가? (애플은 여기에 대답을 제공하지 않는다) 명...

사진 라이브러리 아이클라우드 2017.11.27

머신러닝을 마스터하는 데 필요한 13가지 프레임워크

작년 한 해 동안, 머신러닝은 성공적으로 주류로 부상했다. 머신러닝의 갑작스러운 도래가 저렴한 클라우드 환경과 예전에 비해 더욱 강력해진 GPU 하드웨어 덕분이라고만 치부될 수는 없다. 이는 머신러닝의 가장 까다로운 부분들을 추상화하고 각종 기법들을 폭넓은 개발자들이 사용할 수 있게 해주도록 설계된 오픈소스 프레임워크의 폭발 덕분이기도 하다. 작년 한 해 동안 갓 만들어지거나 개정된 13가지 머신러닝 프레임워크를 소개한다. 이들은 각 툴의 유래, 문제 영역에 대한 참신한 단순성, 머신러닝과 관련된 특정 과제에 대한 해결 방안, 또는 이 모든 사항들로 주목을 받았다.  editor@itworld.co.kr

프레임워크 라이브러리 인공지능 2017.08.23

구글, 텐서플로우 서빙 라이브러리 릴리즈

구글이 프로덕션 환경에서의 머신러닝 전용 오픈소스 라이브러리인 텐서플로우 서빙 릴리즈에 들어갔다. 텐서플로우는 지난 2월 베타 버전으로 공개됐다. 텐서플로우 머신러닝 프로젝트의 일부인 텐서플로우 서빙 1.0 라이브러리는 서버 아키텍처와 API를 동일하게 유지하면서 알고리즘과 실험의 배포를 지원하기 위한 것이다. 텐서플로우 서빙은 시간이 지남에 따라 다양한 모델 버전으로 확장하고 롤백하는 기능도 지원한다. 물론 텐서플로우 서빙 라이브러리는 텐서플로우 학습 모델과 통합되며, 다른 모델 유형에도 확장할 수 있다는 장점이 있다. 또, 사전 빌드된 바이너리를 소프트웨어에 사용할 수 있고, 비 리눅스 시스템의 서버 바이너리를 설치할 때 도커 컨테이너를 사용할 수 있다. 텐서플로우 서빙 1.0의 3가지 특징은 다음과 같다. - 텐서 플로우 모델, 텐서플로우가 아닌 다른 일반 핵심 플랫폼의 서비스와 학습에 대한 표준 지원을 제공하는 C++ 라이브러리 - 도커 컨테이너와 튜토리얼 레퍼런스 하는 바이너리 총합적 모범 사례 - 구글 클라우드 ML 플랫폼 호스팅 서비스, 구글 제품에 사용되는 인터널 인스턴스 텐서플로우 서빙의 주요 개념은 다음과 같다. - 텐서플로우의 연산이나 중앙 추상화용 클라이언트가 사용하는 기초 오브젝트 서버블(Servables) - 서버블 주기를 관리하기 위한 로더(Loaders). API는 서버블 로드/언로드에 표준화된다. - 서버블을 만들어내는 플러그인 모듈인 소스(Sources) - 서버블 주기를 관리하는 매니저(Managers) 텐서플로우 서빙 1.0 릴리즈는 기존의 세션번들(SessionBundle) 모델 포맷을 텐서플로우 1.0에서 도입된 세이브드모델(SavedModel) 포맷으로 교체했다. 구글은 현재 800개 이상의 활발한 텐서플로우 서빙 프로젝트가 프로덕션 단계에 있다고 밝혔다. editor@itworld.co.kr 

오픈소스 라이브러리 머신러닝 2017.08.10

“과거는 잊어라” 소프트웨어 개발의 본질을 바꾸는 21가지 기술

아주 오래 전에 개발자들은 빠르고 가벼운 어셈블리 언어로 개발했다. 코드를 입력하기 위해 기계 전면의 스위치를 조작해 줄 사람을 고용할 수 있을 정도로 예산이 많은 적도 있었고, 상황이 좋지 않을 때는 개발자가 직접 그 일을 했다. 복잡할 것이 전혀 없었다. 당시의 소프트웨어는 메모리에서 데이터를 읽어 들여 약간의 연산을 한 뒤 결과물을 내놓는 것이 전부였다. 오늘날의 개발자는 전 세계 출신의 다양한 언어를 구사하는, 무엇보다 제각기 다른 버전의 컴파일러를 사용하는 팀원들과 함께 일해야만 한다. 게다가 어떤 코드는 새로 개발된 것이고, 어떤 코드는 소스 코드가 제공되지 않는, 10년도 넘은 라이브러리를 활용한 것일 수도 있다. 오늘날 개발자가 되기 위해서는 협동심과 인내력부터 키워야 한다. 불과 5년 전과 비교하더라도 컴퓨터에 작업을 지시하는 것에는 대단한 차이가 있다. 지난 10년 동안 영화 ‘올드보이’의 오대수처럼 어딘가에 납치됐다 풀려난 개발자가 있다면, 오늘날의 컴퓨팅 세계에서 아무것도 할 수 없을지도 모른다. 모든 것이 그 어느 때보다 빠르게 변하고 있다. 프로그래밍의 본성을 바꾸어 놓는 21가지 기술을 살펴본다. 이 기술들로 인해 개발자의 협업 방식, 고객 지원 방식, 코딩 방식이 바뀌고 있다. 개발자라면 정신을 바짝 차리기 바란다. 지속적인 통합(Continuous Integration) 과거에는 리포지토리(Repository)에 코드를 커밋하고 나면 보통 커피를 마시며 한숨 돌리거나 점심을 먹을 여유가 있었다. 하지만 더 이상은 아니다. 오늘날의 리포지토리는 지속적인 빌드 시스템과 밀접하게 연결되어 있기 때문이다. 지속적인 빌드 시스템은 코드를 다시 컴파일하고, 아키텍처를 검사하고, 코드에 수백 가지 테스트를 수행해 오류의 가능성을 표시해 준다. 이 때문에 개발자는 지속적인 빌드 시스템이 보내는 작업 수정 요청 메일과 문자 메시지 때문에 책상에서 한치도 벗어나기 어렵다. 지속적인 빌드 시스템은 개발...

데이터베이스 프레임워크 통합 2017.08.07

“암호화 제대로 구현 안된다”…전문 교육 부족과 라이브러리 복잡성이 주원인

최근 몇 년 동안 보안 침해에 대응하기 위해 암호화를 사용하자는 움직임이 활발했음에도 불구하고 개발자들의 전문 지식 부족과 너무 복잡한 라이브러리로 인해 기업 애플리케이션에 암호화를 폭넓게 적용하는 것은 실패한 것으로 나타났다. 문제의 정도는 심각하다. 애플리케이션 보안 업체 베라코드(Veracode)가 최근 발표한 보고서에 따르면, 암호화 문제는 전 산업군에서 애플리케이션에 영향을 미치는 가장 보편적인 결함 중 두 번째를 차지했다. 이번 보고서는 기업에서 사용되는 약 20만 개 이상의 상용 또는 자체 개발 애플리케이션의 취약점 분석에 기반을 둔 것이다. 암호화 문제는 크로스 사이트 스크립팅이나 SQL 인젝션, 디렉토리 접근 공격 등 일반화된 취약점보다 더 널리 퍼져 있는 것으로 나타났다. 이들 암호화 문제에는 부적절한 TLS(Transport Layer Security) 인증서 유효성 확인이나 민감한 정보의 평문 저장, 민감한 데이터의 암호화 비적용, 하드 코딩된 암호화 키, 부적절한 암호화 수준, 불충분한 동일성, 임의의 초기화 벡터 비적용, 암호화 서명의 부적절한 확인 등이 포함되어 있다. 가장 영향을 많이 받는 애플리케이션은 웹 기반 애플리케이션이지만, 모바일 앱 역시 상당한 비율을 차지했다. 개발자들은 상당히 많은 암호화 기능을 코드에 추가하고 있으며, 특히 의료나 재무 서비스 등은 암호화를 적극적으로 적용하고 있다. 하지만 엉성하게 처리하고 있다는 것이 베라코드 CTO 크리스 와이소팔의 지적이다. 많은 기업이 데이터 보호 규제 때문에 암호화를 사용해야 하지만, 보고서는 개발자들이 이를 적절하게 구현하는 데 필요한 교육을 받지 못하고 있다고 밝혔다. 와이소팔은 “암호화를 올바르게 구현하는 것이 얼마나 어려운 일인지를 보여주는 것”이라며, “이는 많은 사람이 생각하지 못하는 암호화 특유의 문제이다”라고 설명했다. 와이소팔은 많은 개발자가 암호화를 구현할 줄 안다고 생각하지만, 암...

암호화 라이브러리 2015.06.29

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

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

브라우저 라이브러리 함수 2014.04.07

윈도우 8.1에서 없어진 기능 8.1가지

데스크톱 개선과 빙 스마트 검색은 접어두자. 윈도우 8.1의 가장 큰 장점은 아마도 상당수의 새로운 기능과 숨겨진 기능일 것이다. 하지만 마이크로소프트는 이들 신선한 새 기능을 위해 공간을 비워야 했던 것으로 보인다. 기존 윈도우 8의 보조 기능 중 상당수가 없어진 것이다. 일부는 눈에 띄는 반면에 다른 것들은 그렇지 않지만, 결국 모두 윈도우 8.1에서는 삭제되었다는 공통점이 있다. 주요 기능을 살펴보자. 1. 메시지 앱 윈도우 8.1의 IM 기능은 라이브 타일이 적용된 시작 화면의 한 가운데 자리잡고 있던 핵심 앱 중 하나로, 이름도 ‘메시지’였다. 하지만 더 이상은 그렇지 않다. 마이크로소프트는 출시된 지 1년이 채 되지 않은 이 윈도우 8 네이티브 앱을 스카이프로 대체했다. 대체물이 워낙 뛰어나기 때문에 손해라고 보기는 어렵다. 기존 메시지 앱은 꽤나 심심했으며 스카이프의 핵심 기능과 중복되는 부분이 많았다. 한편, 스카이프의 통신 서비스는 엑스박스 원(Xbox One)과 아웃룩닷컴에도 적용되고 있다(윈도우 폰은 제외). 한 가지 실망스러운 점이 있다. 기존 메시지 앱은 페이스북 채팅을 지원했지만 스카이프는 그렇지 않다는 것. 2. 윈도우 체험 지수(Windows Experience Index, WEI) 윈도우 비스타 이후로 윈도우는 내 컴퓨터의 속성에서 "윈도우 체험 지수" 점수를 제공해 왔다. WEI 점수는 PC의 성능을 나타내는 지표로, 고성능 PC일수록 더 높은 점수를 받았다. 하지만 WEI의 점수 기준은 명확하지 않았으며 받을 수 있는 최고점이 인위적으로 한정되어 있는 느낌마저 들었다(윈도우 7의 최고점은 7.9였던 반면에 비스타는 5.9였다.) 이유야 어찌되었든, WEI는 인기를 끌지 못했던 것으로 보이며, 윈도우 8.1에서는 자취를 감추었다. 3. 사진 앱의 페이스북과 플리커 아쉽게도 윈도우 8.1의 사진 앱은 더 이상 페이스북과 플리커 이미지 통합기능을 제...

라이브러리 메시지 체험지수 2013.10.28

모바일 웹 프로그래밍을 위한 12가지 필수 도구

모바일 기기를 위한 앱을 프로그래밍할 때는 선택의 딜레마에 빠진다. 아이폰 시장을 타겟으로 하고 점점 커지는 안드로이드는 포기하느냐? 네이티브로 가느냐, 모바일 웹 코딩으로 가느냐? 물론 다양한 플랫폼과 폼팩터에서 최적의 성능으로 실행되는 단일 코드 스택이 있다면 이상적이겠지만, 현실적으로 모바일 시장은 여러 갈래로 단편화되어 있어서 기초적인 프로그래밍도 어렵다. 다행히 뛰어난 실력을 갖춘 개발자들이 모바일, 특히 모바일 웹을 타겟으로 하는 개발자들을 돕기 위한 유용한 모바일 도구와 라이브러리를 만들고 있다. 모바일 웹을 위한 앱 개발의 어려움을 덜어 주는 프로젝트를 모아봤다.  editor@itworld.co.kr

개발자 젭토 j쿼리 2012.02.10

소니 e-리더가 킨들을 넘어설 수 있는 다섯 가지 이유

소니가 자사의 e-리더 제품군을 공격적으로 확대하고 있다. 이달 초 디지털 리더 포켓 에디션과 터치 에디션을 발표한 데 이어, 터치스크린과 3G 기능을 갖춘 하이엔드 모델인 데일리 에디션을 내놓기에 이르렀다.   물론 소니의 이런 접근이 사람들의 마음을 휘어잡고 있지는 못하지만, 소니는 현재 아마존의 킨들을 이길 수 있는 가장 유리한 위치에 있다고 볼 수 있다. 그 이유는 다음과 같다.   넓어진 선택의 폭 단순하게 말해서 소니는 최신 e-리더 세 가지를 판매하고 있고, 아마존은 두 가지를 판매하고 있다. 많다고 다 좋은 것은 아니지만, 소니가 발표하는 각각의 모델은 기존 제품과 비교해 확실히 향상된 요소들을 가지고 있다. 특히 필요없는 기능을 버리고 사용자의 주머니 부담을 덜어줬다는 것이 강점이다.   터치 기능 보수주의자들은 e-리더에는 인쇄된 책을 넘기는 촉감이 없어졌다는 점을 가장 슬퍼한다. 하지만 터치 스크린은 이에 대한 위로를 제공하기에 충분하다. 소니의 제품 중 2가지는 이런 터치 기능을 제공하는 반면, 킨들은 여전히 버튼으로 조작해야 한다. 어떤 것이 더 책에 가깝겠는가?   더 싸다 300달러에 킨들의 3G 기능과 소니 터치 에디션의 터치 기능을 비교하면 효과는 같다고 볼 수 있다. 하지만 소니는 더 비싼 가격도, 더 싼 가격도 제공한다. 포켓 에디션은 200달러에 1세대 킨들보다 더 매력적이며, 400달러의 데일리 에디션은 7인치 터치 스크린에 3G 기능도 갖추고 있다. 9.7인치 킨들 DX보다 화면이 크지는 않지만, 89달러나 더 싸다.   공개 포맷 소니는 공개 파일 포맷이 독점 포맷보다 훨씬 선호된다는 것을 확실히 배운 것 같다. ePub 포맷을 지원하면서 소니는 사용자의 디지털 장서가 어디에서건 사용될 수 있다는 것을 보장하고 있다.   훌륭...

소니 라이브러리 터치스크린 2009.08.27

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

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

Copyright © 2023 International Data Group. All rights reserved.