프로그래밍 290

생활코딩 - Server Side JavaScript 3

생활 코딩 Server Side Language3강콜백이란? (Callback)쉽게 말하자면, 콜백이란 다른 함수의 인수로 실행 가능한 코드 블럭(이를 테면 함수)을 전달하여 전달 받은 함수에서는 콜백함수를 실행 할 수도 하지 않을 수도 있다. 결론적으로 말하자면, 콜백은 함수를 인수로 넘기는 것을 말한다. 콜백이 가능하려면 언어 자체에서 First-Class(일급 객체)여야 가능하다. Lambda형식으로 인수를 넘기는 것도 결국은 익명함수라 할 수 있다. a = [3,1,2]; function comp(v1, v2){ return v2-v1; } a.sort(comp); console.log(a); a = [3,1,2]; a.sort(function(v1,v2){return v2-v1;}); //sor..

Algorithm Study 1 - 2주차

코딩클럽 알고리즘 2주차 - 탐색, 정렬탐색 수행 능력을 평가하기 위해서는 메모리로부터 자료를 가져오는(fetch) 시간보다 자료들을 비교하는 데 걸리는 시간이 더 많이 소모되므로, 비교횟수( number of comparison )를 탐색 방법의 평가 기준으로 삼는다. 즉, 비교횟수가 적은 알고리즘일수록 좋은 성능을 보여준다고 가정한다.왜????데이터 양이 많아 지면 많을 수록 비교 횟수는 시간 복잡도를 잡아 먹는 원인 중 하나이기 때문에 비교 횟수가 적은 알고리즘이 탐색 및 정렬 알고리즘에 있어서 가장 중요하다. 비교 횟수가 증가 할 수록 시간 또한 증가 된다.탐색탐색이란, 원하는 값을 찾는 행위를 말한다. 컴퓨터 전산학에서는 탐색을 자료 구조에서 보통 값을 찾는 데 사용한다. 물론, 우리가 사용하는..

Algorithm Study 1 - 1주차

Ed외부:활동 티스토리 알고리즘 스터디 - 1일차 4/30(토) 알고리즘 스터디1 자료구조란 무엇일까? A) 일련의 자료를 집합형태로 쌓을 수 있는 구조를 말한다고 생각한다. 실생활에서 장에 그릇을 놓는 다면 찬장, 책을 모아 두면 책장이 되는 것 처럼 ‘틀’이라고 생각 할 수 있다. 그런 의미로 볼 수 있다고 생각한다. 컴퓨터로 치면 데이터 집합인 배열, 리스트 등등도 그러한 경우 결국 어떤 용도로 쓸 것인지가 중요하다. 결국 자료구조의 용도는 무엇을 담을지에 대한 초점이다. 팀원) 사용하기 편하게 & 빠르게 만드는게 자료구조. - 효율성 위주 ( 목적성 위주로 생각해도 될 것 같다.) 자료구조를 왜 사용할까? A) 나는 프로그래머의 편의성인 것 같다. 우선 컴퓨터 프로그래밍에서 자료구조가 생긴 이유는..

Java BigInteger class 사용하기

Edit 주로 int 형 타입을 사용하게 되는데, 이 정수형 타입은 허용 가능한 범위가 존재합니다. 그럴때는 Java 언어에서 지원하는 BigInteger Class, BigDecimal Class를 사용할 수 있습니다. 해당 클래스 또한 표현 가능한 범위가 있는 것으로 알고 있는데, 대략 100억은 가볍게 표현 가능합니다.사용하는 방법은 간단합니다. (참고로 Class가 무엇인지, API가 무엇인지는 알고 계셔야 합니다.) 1. public void longNumberSum(long x, long y) 2. { 3. BigInteger a = BigInteger.valueOf(x); 4. BigInteger b = BigInteger.valueOf(y); 5. BigInteger result = a.a..

생활코딩 - Server Side JavaScript 2

생활 코딩 Server Side Language2강인터넷의 동작 방법클라이언트 서비스 요청서버 서비스 응답쉽게 말해 웹 브라우저가 설치 된 컴퓨터가 클라이언트로 정의 할 수 있다. 그리고 사용자가 특정 웹 싸이트를 요청하게 된다. 서버는 사용자가 요청한 서비스에 대해 응답하는 역할을 한다.서버 컴퓨터에 안에는 여러 서버 어플리케이션(예를 들어 채팅 서버, 웹서버, 게임 서버)이 동작 중이다. 그렇다면, 서버 어플리케이션 중 누가 ? 응답 해줄지 결정 하는지에 대해 알아보자.컴퓨터에 0 ~ 65535개의 문이 있다. 문을 Port라고 부른다. 서버 어플리케이션은 특정 포트를 Listen 하고 있다.요청을 하게 되면, 웹 브라우저는 주소를 이용해 서버를 찾아가고, 서버는 포트를 이용해 응답할 어플리케이션을 ..

생활코딩 - Server Side JavaScript 1

생활 코딩 Server Side Language1강웹의 역사1990년 팀버너스리 웹을 창시 1994년 마크 앤드리슨 - 넷스케이프를 개발로인해 대중화의 지평을 열게 됨 1995 브랜든 아이크 - 자바스크립트 개발 자바스크립트의 개발로 인해 정적인 웹의 기능이 어플리케이션의 측면을 포함하는 동적인 웹을 지향토록 환경을 만들어 줌 몇 몇 특성에 의해서 자바스크립트는 오랜 시간 프로그래머에게 천대를 받아 왔다. 2004년 구글의 GMAIL 서비스 시작 구글이 1GB를 지원해준 것이 순수한 웹 기술을 잘 활용하여 웹으로 구현함 2005년 구글의 GoogleMaps 서비스를 오픈함. 순수 웹의 시대를 여는 터닝 포인트가 되었다라고 할 수 있겠다. 2008년 자바스크립트의 대변화 V8 엔진을 구글에서 발표 - 크롬..

JavaScript 핵심가이드 정리 1

자바스크립트 핵심 가이드 정리객체자바스크립트에서 단순한 데이터 타입(Primitive data type)은 숫자, 문자열, 불리언, null, undefined가 있다. 단, 여기서 숫자와 문자열 그리고 불리언은 메소드가 존재하기에 유사 객체라고도 할 수 있으며 Immutable 성격을 지닌다. 즉, 단순 데이터 타입 이외의 다른 값들은 객체라고 말한다.자바스크립트에서 말하는 객체란?! 변형 가능한 속성들의 집합이라고 할 수 있다.배열, 함수, 정규 표현식 또한 객체이다.이름과 값이 있는 속성들을 포함하는 컨테이너라고 할 수 있다. 속성의 이름은 문자열이면 모두 가능하다.(빈문자열도 포함)속성의 값은 undefined를 제외한 자바스크립트에서 사용되는 모든 값이 사용 될 수 있다. 자바스크립트의 객체는 ..

예외처리 관련 기본기

예외 블랙홀try{ }catch(SQLException e){ //예외를 잡고는 아무것도 하지 않는 경우 } 위 코드도 좋지 않는 경우이지만, 아래 코드 또한 좋지 않은 습관이다.}catch(SQLException e){ System.out.println(e); } }catch(SQLException e){ e.printStackTrace(); } 예외처리 할 때 반드시 지켜야 할 핵심 원칙은 한 가지다. 모든 예외는 적절하게 복구 되든지 아니면 작업을 중단시키고 운영자 또는 개발자에게 분명하게 통보 되어야 한다. 위의 코드 보다는 아래의 코드가 훨씬 나은 예외처리라고 한다.}catch(SQLException e){ e.printStackTrace(); System.exit(1); } 물론, 실제로 이렇..

Java언어에서의 중첩 클래스

중첩 클래스Nested class : 다른 클래스 내부에 정의 되는 클래스를 말함. static class: 독립적으로 오브젝트로 만들어 질 수 있는 것을 말함.inner class: 자신이 정의된 클래스의 오브젝트 안에서만 만들어질 수 있는 것을 말함. member inner class: 멤버 필드처럼 오브젝트 레벨에서 정의 됨.local class: 메소드 레벨에 정의 됨.anonymous inner class: 익명 내부 클래스라고 불리며, 이름이 없는 클래스이고, 범위는 선언 위치마다 접근 할 수 있는 범위가 다르다. Anonymous inner class이름을 갖지 않는 클래스이며, 클래스 선언과 오브젝트 생성이 결합된 형태로 만들어지며, 상속할 클래스나 구현할 인터페이스를 생성자 대신 사용하고..

반응형