반응형
반응형

프로그래밍 언어 최근 순위 


http://www.tiobe.com/tiobe-index/


javascript 를 위주로 Python을  공부하며 Go에 관심을 가져야 하는 것이라고. 




더 큰 그림을 보려면 수십 년 전의 톱 10 프로그래밍 언어의 위치를 아래에서 찾으십시오. 이들은 12 개월 동안의 평균 포지션입니다.





.

반응형
반응형

유다시티, 자율주행차 시뮬레이터 오픈소스로 공개


http://www.bloter.net/archives/271788


온라인 교육 업체 유다시티가 자율주행차 시뮬레이터를 오픈소스 기술로 공개했다고 2월8일 밝혔다.


이번에 공개한 시뮬레이터는 유다시티 온라인 강의 ‘자율 주행차 엔지니어링 과정’의 일부 수업 자료다. 자율 주행차 엔지니어링 과정은 유다시티 뿐만 아니라 BMW, 우버, 디디추싱, 메르세데스 벤츠, 엔비디아 등이 함께 협력해 만든 강의로 딥러닝, 컨트롤러, 컴퓨터 비전, 자동차 하드웨어 등을 가르친다. 강의는 유다시티 설립자이자 과거 구글에서 자율주행차 개발을 이끈 세바스찬 스런이 직접 진행하기도 하다. 유다시티는 이 강의를 위해 오픈소스 자율자동차 소프트웨어를 개발하고 있으며, 이와 관련된 소스코드를 깃허브에 전부 공개했다. 여기에는 주행 기록 데이터, 딥러닝 모델, 카메라 마운트 기술 등이 포함돼 있다.



A self-driving car simulator built with Unity 


Welcome to Udacity's Self-Driving Car Simulator

This simulator was built for Udacity's Self-Driving Car Nanodegree, to teach students how to train cars how to navigate road courses using deep learning. See more project details here.

All the assets in this repository require Unity. Please follow the instructions below for the full setup.

Avaliable Game Builds (Precompiled builds of the simulator)

Instructions: Download the zip file, extract it and run the exectution file.

Version 2, 2/07/17

Linux Mac Windows

Version 1, 12/09/16

Linux Mac Windows 32 Windows 64

Unity Simulator User Instructions

  1. Clone the repository to your local directory, please make sure to use Git LFS to properly pull over large texture and model assets.

  2. Install the free game making engine Unity, if you dont already have it. Unity is necessary to load all the assets.

  3. Load Unity, Pick load exiting project and choice the self-driving-car-sim folder.

  4. Load up scenes by going to Project tab in the bottom left, and navigating to the folder Assets/1_SelfDrivingCar/Scenes. To load up one of the scenes, for example the Lake Track, double click the file LakeTrackTraining.unity. Once the scene is loaded up you can fly around it in the scene viewing window by holding mouse right click to turn, and mouse scroll to zoom.

  5. Play a scene. Jump into game mode anytime by simply clicking the top play button arrow right above the viewing window.

  6. View Scripts. Scripts are what make all the different mechanics of the simulator work and they are located in two different directories, the first is Assets/1_SelfDrivingCar/Scripts which mostly relate to the UI and socket connections. The second directory for scripts is Assets/Standard Assets/Vehicle/Car/Scripts and they control all the different interactions with the car.

  7. Building a new track. You can easily build a new track by using the prebuilt road prefabs located in Assets/RoadKit/Prefabs click and drag the road prefab pieces onto the editor, you can snap road pieces together easily by using vertex snapping by holding down "v" and dragging a road piece close to another piece.


Self-Driving Car Simulator





.


반응형
반응형

텐서플로(Tensorflow) 시작하기


https://gist.github.com/haje01/202ac276bace4b25dd3f



소개

텐서플로우(TensorFlow)는 기계 학습과 딥러닝을 위해 구글에서 만든 오픈소스 라이브러리입니다. 데이터 플로우 그래프(Data Flow Graph) 방식을 사용하였습니다.

데이터 플로우 그래프

데이터 플로우 그래프는 수학 계산과 데이터의 흐름을 노드(Node)와 엣지(Edge)를 사용한 방향 그래프(Directed Graph)로 표현합니다.

data flow graph

노드는 수학적 계산, 데이터 입/출력, 그리고 데이터의 읽기/저장 등의 작업을 수행합니다. 엣지는 노드들 간 데이터의 입출력 관계를 나타냅니다.

엣지는 동적 사이즈의 다차원 데이터 배열(=텐서)을 실어나르는데, 여기에서 텐서플로우라는 이름이 지어졌습니다.

텐서(Tensor)는 과학과 공학 등 다양한 분야에서 이전부터 쓰이던 개념입니다. 수학에서는 임의의 기하 구조를 좌표 독립적으로 표현하기 위한 표기법으로 알려져 있지만, 분야마다 조금씩 다른 의미로 사용됩니다. 여기에서는 학습 데이터가 저장되는 다차원 배열 정도로 이해하시면 되겠습니다.

특징

텐서플로우는 다음과 같은 특징을 가집니다:

  • 데이터 플로우 그래프를 통한 풍부한 표현력
  • 코드 수정 없이 CPU/GPU 모드로 동작
  • 아이디어 테스트에서 서비스 단계까지 이용 가능
  • 계산 구조와 목표 함수만 정의하면 자동으로 미분 계산을 처리
  • Python/C++를 지원하며, SWIG를 통해 다양한 언어 지원 가능

이후의 설명은 Python을 중심으로 진행하겠습니다. (pip를 통한 Python3설치는 개발 중으로, Python2 기반으로 하겠습니다.)

"구글이 텐서플로우를 오픈소스로 한 것은, 기계 학습이 앞으로 제품과 기술을 혁신하는데 가장 필수적인 요소라고 믿기 때문입니다." - Google Brain Team

설치

텐서플로우는 설치가 비교적 쉬운 편입니다만, 다음과 같은 제약이 있습니다:

  • Unix계열 OS(Linux/Mac OSX)만 지원합니다.
  • GPU 버전은 Linux만 지원합니다.

Linux / Mac OSX

Unix 계열 OS를 사용하시는 분들은 공식 페이지의 설치 문서를 참고하시면 쉽게 설치할 수 있습니다.

윈도우

윈도우 사용자 분들은 가상 머신을 이용하거나, 도커 툴박스 설치 후 진행하시기 바랍니다.

이미지를 받고 컨테이너 실행

텐서플로우의 도커 이미지는 소스코드, 예제, 툴도 포함되어 있기에 풀 버전을 받는 것을 권합니다.

Linux / Mac OSX

Unix 계열 OS에서는 아래의 명령을 실행하면 이미지를 받고 컨테이너가 실행됩니다. 컨테이너 실행 후 자동으로 컨테이너 안의 쉘 환경으로 들어가게 됩니다.

docker run -it b.gcr.io/tensorflow/tensorflow-full

컨테이너 안의 /tensorflow 폴더에 소스가 설치되어 있습니다. (주의: 이 폴더에서 모듈을 import 하시면 에러가 발생합니다. )

윈도우

윈도우의 경우 Docker QuickStart Terminal 실행 후(이때 고래 그림 아래의 IP를 기억해 둡니다) 아래와 같이 실행하시기 바랍니다.

winpty docker run -it -p 8888:8888 b.gcr.io/tensorflow/tensorflow-full

이미지를 받은 후 컨테이너가 실행되면, Jupyter 노트북 서버가 자동으로 시작된 상태입니다. 웹브라우저에서 '위의IP:8888'을 입력하면 Jupyter Notebook 환경에 접속됩니다. 여기에서 tensorflow를 사용하실 수 있습니다.

동작 확인

설치가 잘 되었는지 다음의 코드로 확인해봅니다.

$ python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>

.

반응형
반응형

마이크로소프트 엣지


Introducing Microsoft Edge: The New Windows 10 Browser 

지난 2015년 1월21일 마이크로소프트(MS)는 새로운 웹브라우저를 공개했다. 그 전까지만 해도 MS의 새로운 웹브라우저를 두고 소문만 무성했다. MS는 같은해 7월29일 ‘윈도10’과 스마트폰 및 태플릿용 ‘윈도10 모바일’을 출시하면서 기존 인터넷 익스플로러(IE) 외에 새 웹브라우저 ‘엣지’(Edge)를 탑재해 공개했다. MS의 터줏대감으로 불리는 IE를 대신해 불현듯 등장한 ‘엣지’는 어떤 웹브라우저일까.


‘액티브X’를 벗어던지다

MS는 웹표준을 지키는 레이아웃 엔진을 포함하면서도 가벼운 웹브라우저로 ‘엣지’를 설계했다. MS 내부에서는 프로젝트명 ‘스파르탄’으로 출발했다. 기존 MS 서비스와의 확장성과 연계를 고려하면서 ‘액티브X’와 같은 비표준 웹기술은 제거한 게 특징이다.

현재 엣지는 웹브라우저의 이름으로 사용되지만, 원래 ‘엣지’란 이름은 웹브라우저 엔진 이름이었다. IE 웹브라우저에 사용한 렌더링 엔진인 ‘트라이던트(mshtml.dll)’를 하위 호환을 고려하지 않고 새로운 렌더링 엔진인 ‘EdgeHTML(edgehtml.dll)’을 기반으로 개발했다.


엣지는 웹표준 기술을 지향한다. 데스크톱PC나 노트북은 물론 태블릿PC, 스마트폰, X박스 원 등 다양한 윈도10 지원 기기에서 사용할 수 있다.

현재 엣지는 윈도10과 윈도 서버 2016만 지원한다. 그 이하의 윈도 버전은 지원하지 않는다. MS는 현재 웹 환경과의 호환성 및 사용자 편의를 위해 윈도10에 엣지와 IE11 웹브라우저를 모두 탑재했다.


메모·필기 지원하는 웹브라우저


엣지는 웹페이지에서 바로 필기, 낙서, 강조 등을 해서 노트처럼 쓸 수 있는 유일한 웹브라우저다. 마음에 드는 내용이나 강조하고 싶은 내용을 표시해 이메일이나 ‘마이크로소프트 원노트’로 한번에 보낼 수 있다. 오른쪽 상단의 ‘웹 메모 작성’ 아이콘을 클릭하면 펜 메뉴가 나와 펜이나 마우스로 필기하거나 하이라이트, 타이핑 할 수 있다.

다른 웹브라우저처럼 엣지 역시 검색 사이트로 갈 필요 없이 주소창을 바로 검색창으로 쓸 수 있다. 이전 웹 방문 및 검색 기록 등을 참조해 나에게 가장 알맞은 추천 검색 결과를 보여준다.


상단 오른쪽 바의 ‘별’ 모양 아이콘을 누르면 웹서핑을 하다 마음에 드는 페이지나 나중에 다시 읽고 싶은 페이지를 저장할 수 있다. 저장된 목록은 ‘허브’ 아이콘에서 볼 수 있으며 구독 리스트, 검색 히스토리, 최근 다운로드 등도 한데 모아 볼 수 있다.

엣지는 윈도10 디지털 개인비서 서비스인 ‘코타나(Cortana)’와도 연결돼 있다. 사용자의 사용 패턴을 분석해, 이에 기반한 검색 결과를 보여준다. 정보 검색, 예약, 장소 안내 등 다양하게 활용할 수 있다. 누구나 똑같은 검색 결과를 제공받는 것이 아니라 나에게 맞춤 결과를 보여주는 덕분에 이용자는 개인화된 컴퓨팅 환경을 경험할 수 있다.

반응형
반응형

구글, iOS용 ‘크롬’ 오픈소스로 공개  http://www.bloter.net/archives/271370

 

구글이 iOS용 ‘크롬’ 앱을 오픈소스 기술로 1월31일 공개했다.

크롬은 구글의 오픈소스 웹 기술 ‘크로미엄

‘ 프로젝트를 기반으로 만든 웹브라우저다. 과거 구글은 애플이 만든 오픈소스 웹브라우저 엔진 ‘웹킷‘을 활용해 크롬을 만들었으나 2013년부터 웹킷을 버리고 독자적인 웹브라우저 엔진 ‘블링크새로운 엔진이긴 하나 웹킷을 기반으로 만든 엔진이기도 하다.close‘를 개발해 크롬에 적용하고 있다.

 

PC용 크롬은 주로 블링크 기반으로 개발됐으나, iOS용 크롬만큼은 그 플랫폼 특징상 웹킷과 블링크를 둘다 지원해야 했다. 구글은 “iOS 플랫폼이 가진 제한 때문에 모든 웹브라우저는 웹킷 렌더링 엔진을 이용해야 했다”라며 “이 과정에서 복잡성이 추가돼 소스코드를 공개하고 싶지 않았다”라고 iOS용 크롬만 오픈소스 기술이 아니었던 이유를 밝혔다.

 

 

이번 공개로 크롬은 안드로이드, 맥, 윈도우, 리눅스, 크롬OS 버전과 더불어 iOS용 크롬까지 모두 소스코드가 공개됐으며, 앞으로 오류 및 개선사항 등 외부 피드백을 더 쉽게 받을 수 있게 됐다. 구글은 공식 블로그를 통해 “향후 크롬 관련 개발 속도는 더욱 빨라질 것”이라고 밝혔다. <더버지>는 “앞으로 크롬 iOS 기술을 기반으로 한 새로운 iOS 웹브라우저도 볼 수 있을 것”이라고 기대했다.

반응형
반응형

input type number max length



<input name="myinput_drs"
oninput="maxLengthCheck(this)"
type = "number"
maxlength = "3"
min = "1"
max = "999" />

<script>
  // This is an old version, for a more recent version look at
  // https://jsfiddle.net/DRSDavidSoft/zb4ft1qq/2/
  function maxLengthCheck(object)
  {
    if (object.value.length > object.maxLength)
      object.value = object.value.slice(0, object.maxLength)
  }
</script>


<input name="somename"
    oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
    type = "number"
    maxlength = "6"
 />


$("input[name='minutes']").on('keyup keypress blur change', function(e) {
    //return false if not 0-9
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
       return false;
    }else{
        //limit length but allow backspace so that you can still delete the numbers.
        if( $(this).val().length >= parseInt($(this).attr('maxlength')) && (e.which != 8 && e.which != 0)){
            return false;
        }
    }
});


반응형

+ Recent posts