전체 글

초보 개발자의 지식 공유의 장
머신러닝 기초지식 머신러닝 기초지식 머신러닝은 크게 3가지 분야로 나누어 볼 수 있습니다. 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning) 지도학습과 비지도학습의 궁극적인 목표는 과거, 현재의 데이터로부터 미래를 예측하는 것입니다. 다만, 두 가지의 차이점은 라벨링이된 데이터인지 아닌지에 따라 결정됩니다. 데이터 종류학습 종류 라벨링된 데이터(labeld data)지도학습라벨링되지 않은 데이터(Unlabeled data)비지도학습 여기서 라벨링된 데이터는 데이터에 대한 답이 존재하는 것을 말합니다. Supervised Learning(지도학습) 만일 내가 가진 데이터가 라벨링되어 있다면 지도학습이라고..
1종객체(함수) 가지고 놀기_1자바스크립트에서 함수는 프로퍼티를 가질 수 있고, 메서드를 가질 수 있고, 변수나 프로퍼티에 할당이 가능하며 일반적으로 평범한 객체들이 할 수 있는 것을 모두 할 수 있다.var obj = {};var fn = function(){};=> 변수에 객체를 할당할 수 있듯이, 함수를 할당하는 것도 가능하다. 이 것은 함수를 객체의 프로퍼티에 할당해서 메서드를 만드는 데도 그대로 적용된다. var obj = {};var fn = function(){};obj.prop = “obj’s property”;fn.prop = “Fn’s property”;=> 일반적인 객체와 마찬가지로 함수에도 프로퍼티를 추가할 수 있다.함수 저장하기만약에 연관성을 지닌 함수들을 컬렉션에 저장하고 싶다고..
callee 프로퍼티재귀호출을 처리하는 방법 중 하나로 arguments 매개변수의 callee 프로퍼티라는 함수에 대해 알아보자. (Callee 프로퍼티는 앞으로 자바스크립트에서 제거될 부분이다. ECMAScript5 “strict” 모드에서 callee 프로퍼티 사용을 금지하고 있다.) 123456789101112131415161718 Document var ninja = { attack : function(n){ return n > 1 ? arguments.callee(n-1) + "-sword" : "sword"; } } console.log(ninja.attack(3)); // sword-sword-sword Colored by Color Scriptercsarguments매개변수는 암묵적으로 ..
익명함수 익명함수는 간단히 말해 이름을 가지고 있지 않는 함수이다.익명함수는 함수를 변수에 저장하거나, 어떤 객체의 메서드로 설정하기 위해, 콜백으로 활요하는 것과 같이 나중에 사용하기 위한 함수를 만들때 주로 사용한다. (함수를 참조하기 위한 용도로 함수의 이름을 가지고 있을 필요가 없다.)아래는 사용 예이다. 123456789101112131415161718192021222324 Document window.onload = function(){ console.log("onload!"); // 변수에 저장 } var ninja = { shout : function(){ console.log("shout!!"); // 메서드로 사용 } } setTimeout(function(){ alert("hi!");..
스타일(CSS) 다루기Style 속성 Style 속성은 엘리먼트의 중요한 속성이다. HTML DOM 엘리먼트에는 style 프로퍼티가 있기 때문에 엘리먼트의 스타일과 관련된 정보를 얻으려면 element.style.color와 같은 식으로 프로퍼티를 사용할 수 있다. 하지만 그 엘리먼트에 지정한 원본 style 스타일 문자열 값을 얻고 싶다면 다른 방법이 필요하다. Color:red 라는 원본 문자열을 얻고싶으면 어떻게 할까? IE => element.style.cssText // 테스트결과 다른 브라우저에서도 사용 가능 대부분의 브라우저 => getAttribute(“style”)를 사용한다. 내 스타일은 어디있지?아래 테스트 코드를 살펴보자1234567891011121314151617181920212..
속성(attribute)와 프로퍼티(property)의 차이속성(attribute)DOM을 어떻게 만들어낼 것인가에 대한 필수적인 항목 프로퍼티(property) 런타임 동안 엘리먼트 정보를 저장해두는 주요 수단이자 해당 정보에 어떤 방식으로 접근해야 하는지를 나타냄 DOM 속성과 프로퍼티엘리먼트의 속성 값에 접근할 때, 두 가지 방식이 존재한다. 하나는 전통적인 DOM메서드인 getAttribute와 setAttribute를 사용하는 방법 두번째는 접근하려는 속성과 대응하는 프로퍼티를 사용하는 방법 이다. test라는 변수를 통해 참조하고 있는 엘리먼트의 id값을 얻으려면 다음과 같은 방법을 사용할 수 있다. test.getAttribute(“id”) // 속성으로 얻어옴 test.id // 속성과 대..
이진 탐색 트리(binary search tree, BST)트리로 구현된 맵의 성능을 시험. MyTreeMap 클래스를 구현하고, 문제점을 알아본 후 자바의 TreeMap 클래스가 어떻게 문제를 해결했는지 알아보자. 내부 class인 Node 클래스를 구현1234567891011protected class Node{ public K key; public V value; public Node left = null; public Node right = null; public Node(K key, V value){ this.key = key; this.value = value; }}cs 노드를 찾는 findNode 메서드 구현1234567891011121314151617181920212223private No..
이진 탐색 트리(binary search tree, BST)요소가 정렬된 Map 인터페이스를 구현할 때 유용하게 쓰임 해싱의 문제점HashMap 클래스의 연산이 상수 시간이더라도 해싱이 느릴 수 있음(상수가 꽤 커질 수 있음)해시 함수를 설계하는 것이 쉬운일이 아니며, 키가 특정하위 맵에 집중되면 성능이 나빠질 수 있음키는 어떤 순서대로 저장되지 않음(테이블이 커지고 키가 재해시될 때 변하기도 함). 어떤 응용 프로그램에서는 키를 순서대로 유지하는 것이 필요하거나 유용할 때가 존재 Java에서는 TreeMap클래스를 제공TreeMap은 해시 함수를 사용하지 않음. 해싱 비용과 해시 함수를 고르는 어려움을 피할 수 있음키는 이진탐색트리에 저장되는데, 선형시간으로 키를 순서대로 순회할 수 있음핵심 메서드는 ..
객체 생성을 막을 때는 private 생성자를 사용하라때로 정적 메서드나 필드만 모은 클래스를 만들고 싶을 때가 있다.자바의 기본 자료형 값(primitive value) 또는 배열에 적용되는 메서드를 한군데 모아둘 때 유용하다. (java.lang.Math 나 java.lang.Array)특정 인터페이스를 구현하는 객체를 만드는 팩터리 메서드 등의 정적 메서드를 모아놓을 때도 사용할 수 있다. (java.util.Collections) 이런 유틸리티 클래스(utility class)들은 객체를 만들 목적의 클래스가 아니기 때문에 private 생성자를 클래스에 넣어 객체 생성을 방지해야 한다.(생성자를 생략하면 컴파일러는 자동으로 인자 없는 기본 생성자를 생성한다.)
JAVA 설치톰캣을 설치하기 위해 JDK가 설치되어 있는지 확인해야 한다.java -version미설치시, java8 설치apt-get install openjdk-8-jre0headless Tomcat 설치apt-get updateapt-get install tomcat8http://서버ip:8080 으로 접속하여 톰캣이 실행되있는지 확인AWS에서 Inbound(8080)을 열어줘야 확인이 가능하다.tomcat의 기본 경로는/var/lib/tomcat8/webapps/ROOT 이며/etc/tomcat8/server.xml 에서 경로 설정을 할 수 있다.
깡냉쓰
평범한 개발자 노트