분류 전체보기 532

[알고리즘] 탐욕적 알고리즘 Part 3 - 단일 출발점 최단 경로 문제(Single Source shortest Path Problem)

* 단일 출발점 최단 경로 문제 - 가중치가 있는 방향성 그래프에서 한 특정 정점에서 다른 모든 정점으로 가는 최단 경로를 구하는 것. * 단일 출발점 최단 경로 문제 알고리즘 - 특정 정점에서 모든 정점들로 가는 최단 경로를 찾는다. - 아이디어 : 트리를 만들어서 사용한다. * 슈도코드 V = 모든 노드의 집합 Y = {v1};// 시작하는 노드 F = null; // 트리내의 화살표들의 집합 while(최종해답을 얻을 때까지) - "V-Y"에 속한 정점들중에서 V에서 Y에 속한 정점들만을 거쳐서 최단경로가 되는 정점을 선택한다. - 그 정점을 Y에 추가한다. - V에서 F로 이어지는 최단 경로상의 연결선을 F에 추가한다. - Y = V이면 T=(V,F)가 최단 경로를 나타내는 트리이다. >> 소스코..

[Web 2.0&Mash Up] 웹 2.0과 메쉬 업의 의미

* Web 2.0 - Web 1.0에서 2.0으로의 변화 Web1.0 Web 2.0 정적 동적 폐쇄적 개방적 사업자 중심 사용자중심 통제 참여, 공유 - 특징 > 플렛폼으로서의 웹(웹 자체로 하나의 플렛폼을 형성) > 집단지성(사람들의 의견이 쌓여서 형성)의 활용 > 데이터의 중요성 급증 > S/W릴리즈 주기의 종말 // 지속적인 S/W변화가 바로바로 사용자에게 제공된다. > 가벼운 프로그래밍 모델 > 단일 디바이스를 넘어선 S/W ( PC위주에서 PC, mobile, table, ... ) > 풍부한 사용자 경험을 제공 (Ajax를 통해서...) - 주요 개념 > Folksonomy : Folk(대중) + Taxonomy(분류) = 사용자에 의해서 데이터 분류(ex> blog의 테그) > Collect..

[Ajax] 에이젝스, 아약스

* Ajax(Asynchronous Javascript and XML) - 비동기 자바스크립트 & XML - 비동기 : 응답을 기다리지 않고, 특정 조건의 이벤트 실행 - 자바스크립트 : 자바스크립트를이용하여 통신한다는 뜻 - XML : 주고받는 데이터 형태로 지금은 Text나 JSon이 더 많이 사용되는 추세 * 장단점 - 장점 : reload 없이 서버와 통신하면서 보다 상호적인 환경을 제공 - 단점 : 브라우져간 호환성이 미흡하며, 독립적으로 사용이 힘들다. * Ajax 통신 가능여부 - 보안상의 이유로 현재 페이지와 동일한 프로토콜, 포트번호, 도메인을 가진 곳만 접근이 가능하다. ex) 현재 페이지 http://www.daum.net/main.php http://www,daum.net/main...

[JQuery] 제이쿼리

* 특징 : 가볍다. CSS3호환해준다. 다양한 브라우져에서 사용이 가능하다. * 사용 : find.do 형식 ex) $("div").hide(); - find : css selector와 동일한 방식으로 html에서의 특정 클래스를 지칭한다. - selector를 이용한 결과는 배열로 돌아오는데, JQuery에 제공해주는 each 문으로 쉽게 순회가 가능하다. - do : selector로 선택한 것으로 무엇을 할 것인가? (> 레퍼런스를 참조합세) * JQuery가 Html 문서가 모두 ready가 된 이후에 수행되는 것이 안전하다. - $(function(){ ... }); //...에 다양한 JQuery함수를 사용하는 것이 이상적!! - 예제 소스 - Tab 1 Tab 1 Tab 2 Tab 2

[MySQL] MySQL 기본 사용법

앞으로 나오는 {} 기호는 사용자가 입력해야 되는 것을 말한다. * MySQL 접속 방법 - cmd창을 실행시킨다. - mysql -u {user_id} -p {user_pwd} {database_name}; > mysql -u {user_id} -p {user_pwd} 만 입력하면 database를 따로 선택해줘야한다. > mysql -u {user_id} -p만 입력하면, user_pwd를 입력해달라고 나올 것이다. * Database 사용 - Database 생성 : create database {db_name}; - Database 선택 : use {db_name}; - Database 목록보기 : show databases; * User 생성 - grant all on {db_name}.* to..

[기타] SQL Injection, Cross-site scripting

■ 서 론 최근 우리나라는 다른 나라로부터 웹 서버 공격을 받은 적이 많다. 이는 예전의 서버의 약점이 절실히 들어난 것도 있지만, 우리가 해킹과 그에 대한 대안에 대해서 무감각했던 면을 보여주었다고 생각한다. 이번 조사를 통해서 여러 가지 해킹법에 대해서 알아보고, 그에 대한 대안을 조금이나마 알기를 원한다. 그렇다면 SQL Injection부터 알아보도록 하자. ■ SQL Injection 공격법 SQL Injection을 알아보기 전에 SQL에 대해서 알아보도록 하자. SQL이란, 관계형 데이터베이스에서 정보를 얻거나 갱신하기 위한(자료의 검색이나 관리) 데이터베이스 관리언어이다. SQL Injection이란, 데이터베이스로 전달되는 SQL의 Query값을 변경시키기 위해서 Web Applicati..

[잡담] 23번째 생일을 보내며...

1989년 12월 9일에서 어느덧 23년이 지나서 생일을 맞게되었습니다. 시험의 중간에 있어서... 생일을 누군가와 즐기거나 하진 못했습니다. 매년 그랬지만, 제 생일은 기말고사 중간에 있더군요... 항상 ㅠ 슬슬 종강이 되는 과목도 많아지면서, "이제야 한 한기가 끝나는 구나..."라는 생각이 무지 많이드네요~ 군대 갔다오고 처음 시작하는 학기지만 나름 괜찮았다고 생각합니다. (아직 시험은 다 보지 않았지만요 ㅠㅠ) 알고리즘과 웹 프로그래밍 과목에 대한 기말고사를 준비하면서 밀렸던 블러깅도 하려고합니다... 이제 새해가 다가오면서 내년 계획도 차츰 새워 나가야 할거 같더라고요... (내년 계획 이전에 이번 방학계획 부터 새워야 하겠지만 ㅠ) 학기중이야 열심이 학교 다니겠지만... 그외는 뭐할지 참 고민..

Cloud Travel 2011.12.09

[프로그래밍 언어론] OOP (객체지향 프로그래밍론) Part 2 - Design Issue

1. The Exclusivity of Object? (객체를 얼마나 배타적으로 취급할 것인가?) - Everything is an object : 모든 것을 객체로 만들어서 정의(모든 타입(primitive type 포함)의 객체화) > 장점 : 순수하고 우화하다. 모든것이 객체이다. > 단점 : Message protocol을 이용하여 모든 것을 수행하여 느리다. Dynamic Binding과 Type check때문에 느리다. ex) small talk - Add objects to a complete typing system(명령형 언어에 객체 개념이 추가된 언어가 취하는 형식) > 명령형언어에서 가지고 있는 모든 것을 수용하였다. record, struct, primitive type, ... +..

[프로그래밍 언어론] OOP (객체지향 프로그래밍론) Part 1

* OOP Language의 탄생형태 ⓐ 이미 존재한 언어에 객체 지향 개념을 Add ex) C++ - C언어에 객체 지향 개념 Add Ada96 - Ada에 객체 지향 개념 Add CLOS - Lisp에 객체 지향 개념 Add ⓑ 객체 지향을 목적을 태어난 언어중 구조가 이전에 있던 언어와 비슷하게 만들어진 경우 ex) Java - C++에 기초를 두어 만듬 ⓒ 객체 지향을 목적으로 태어난 언어중 새로운 형태로 나온 언어 ex) small Talk * 프로그램언어의 개발 관점 변경 이건 앞에서도 필자가 한번 정의한 것 같지만, 한번더 정리 해보겠다. - 1950~70 : procedural > Sub Program에 중점을 둠 - 1980 초 : Data-Oriented > Data에 중점을 두었다. ..

[프로그래밍 언어론] Abstract Data Types(추상화 타입)

* Abstract Data Type의 시작 - 복잡한 부분을 가리는 역할을 한다. - 1980년대 이전 : Process Abstraction은 이미 존재하였다.(서브프로그램) - 1980년대 이후 : 언어개발의 관심사가 Process에서 Data로 이동되었다. > module, package, class라는 것을 이용하여 각각의 언어에서 ADT(Abstract Data Types)을 정의하기 시작 - Built - in Type이 아니다. > Built - in Type 또한 이미 누군가 정의해 놓은 ADT중 하나이다. 하지만 ADT란 Built-in Type이 아닌 사용자가 정의한 User-Defined Type이다. * Abstract Data Type를 만족하기 위해서는... - Data rep..