전체보기 238

[Java]Vector, ArrayList, LinkedList의 차이

vector는 내부적으로 배열의 구조를 지니고 있습니다.그래서 인덱스로 요소에 접근할 경우 상수시간으로 접근 할 수 있죠.하지만, item들이 추가되거나 삭제를 할 때는내부적으로 임시 배열을 생성해서 복사한다음item들을 이동시키게 됩니다. 이런 경우, 비용이 많이 들게 되고 성능이 떨어지죠. 반면, list에서는item들과의 연결이 포인터로 되어 있어item의 추가와 삭제가 빠릅니다.하지만, item들을 검색하는 시간은 o(n)의 비용이 발생하게 됩니다. vector의 경우는 item들을 저장한 이후 변동이 별로 없다면 효과적이고list의 경우 item의 추가 삭제가 많을 경우 유용하다고 할 수 있겠습니다. Vector와 LinkedList가 위의 경우와 같다고 생각할 수 있습니다.단 , ArrayLi..

Programming/Java 2013.04.17

[Pattern]MVC Pattern과 MVP Pattern 그리고 차이

모델-뷰-컨트롤러(Model–View–Controller, MVC)는 소프트웨어 공학에서 사용되는 아키텍처 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC모델(Model)은 애플리케이션의 정보(데이터)를 나타낸다.뷰(View)는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타낸다. 컨트롤러(Controller)는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.=밑의 그림은 스탠포드에서 iOS 프로그래밍을 강연할 때, MVC를 가르치는 그림이다. MVC 참고 : http://en.wikipedia.org/w..

[Smart Phone] 풀HD 스마트폰 스펙 비교

풀HD 스마트폰의 시대가 도래했다. 삼성전자는 갤럭시 S4를 출시했고 LG전자는 옵티머스G 프로, 팬텍은 베가 넘버6를 출시 했다. 갤럭시S4는 5인치 대화면에 1,920X1,080 해상도를 지원하는 풀HD 슈퍼 아몰레드(AMOLED) 디스플레이를 탑재해 초고화질 구현에 성공했다. 인치당화소수(ppi)는 441ppi로 전작인 갤럭시S3의 306ppi 대비 크게 높아졌다. 옵티머스G 프로와 베가 넘버6는 IPS(In Plane Switching) 액정표시장치(LCD) 디스플레이를 채택했다. 옵티머스G 프로는 5.5인치 화면에 풀HD 해상도를 지원해 인치당 화소 수를 처음으로 400ppi 이상으로 높였다. 국내에서 풀HD 스마트폰 경쟁에 포문을 열었던 팬택은 5.9인치 대화면에 풀HD 해상도를 지원해 373..

Engineering/Issue 2013.03.28

[Network]OSI 계층별 프로토콜

물리/데이터 링크 계층어떤 특정프로토콜을 규정하지 않고, 모든 표준과 기술 프로토콜을 지원한고 있다. 네트워크 계층-인터넷 프로토콜(IP) : 데이터그램이라는 패킷안의 데이터를 전송한다. 각 데이터그램을 개별적으로 전송괴며 데이터그램은 서로 다른 경로로 보내질수 있으므로 순서대로 도착하지 않거나 중복되어 도착할 수 있다. IP는 경로를 기억하지 않으며 데이터그램이 도착하자마자 데이터그램을 다시 정렬할 수 있는 기능도 없다. -주소변환 프로토콜(ARP) : IP주소를 물리주소로 변화시킨다. -역주소변환 프로토콜(RARP) : IP주소를 물리주소로 변화시킨다. -인터넷 제어 메시지 프로토콜(ICMP) : 송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘이다. ICMP는 질..

Engineering/Network 2013.03.12

[Network]OSI 7 Layer

계층 1: 물리 계층(Physical layer)물리 계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의한다. 예를 들어, 핀들의 배치나 전압, 전선의 명세 등이 이 계층에 포함된다. 허브나 리피터가 물리 계층의 장치이다. 기계적 구조와 전기적 특성을 규정한다. 물리 계층에서 수행되는 중요한 일들은 다음과 같다.물리적인 정보 전달 매개체에 대한 연결의 성립 및 종료. 여러 사용자들 간의 통신 자원을 효율적으로 분배하는 데 관여. 예를 들어, 경쟁 상태의 해소나 흐름 제어 등. 통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환, 변조. 이 신호들은 구리선이나 광섬유 선을 통해 전달되는 신호들로, 예를 들어, SCSI가 여기에 속한다 네트워크상에..

Engineering/Network 2013.03.09

[Smart Phone] 타이젠-우분투-파이어폭스 플랫폼 비교

모바일 운영체제(OS) 시장이 요동친다. iOS, 안드로이드의 뒤를 잇기 위한 출사표들이 속속 날아들었다. 지난주 스페인 바르셀로나에서 막을 내린 모바일월드콩그레스(MWC)서 화제가 된 것도 HTML5에 기반을 둔 새 OS들이었다. 삼성전자-인텔이 주도하는 타이젠, 모질라재단의 파이어폭스, 캐노니컬의 우분투를 탑재한 스마트폰들이 저마다 첫 선을 보이며 치열한 전쟁을 예고했다. 각각의 OS를 탑재한 스마트폰을 비교해봤다. 첫 인상만으로는 타이젠, 파이어폭스가 미완성이라는 느낌인데 반해 우분투 터치는 상대적으로 가장 최적화된 듯 보였다. 인터페이스(UI)의 경우에도 우분투는 다소 독창성을 추구한 듯 느껴졌지만 타이젠, 파이어폭스는 기존 iOS, 안드로이드와 유사한 아이콘 배열이었다. 파이어폭스는 MWC 현장..

Engineering/Issue 2013.03.06

오픈 소스를 활용한 빅데이터 활용 방법 - 정재화

Hadoop : 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크1. Distributed File System2. Distributed/Parallel Computing Framework3. Open Source Project Hadoop 에코 시스템Avro : 멀티 플랫폼간 데이터 호환 Serialization 도구Cassandra : DHT기반의 분산 데이터 관리 시스템. Hadoop은 사용하지 않고 로컬디스크 이용Chukwa : 분산 환경에서 로그를 수집하기 위한 시스템. 저장소로 HDFS를 이용하고 로그분석을 위해 Map/Reduce를 이용Hama : Map/Reduce 방식이 아닌 BSP(Bulk Synchronous Parallel) 방식의 컴퓨팅 플랫폼HBase : H..

[Samsung] 타이젠 탑재 스마트 기기 출시 임박

타이젠은 지난 2011년부터 인텔과 삼성전자, 리눅스재단이 손잡고 만들기 시작한 리눅스 기반의 오픈소스 운영체제(OS)다. 인텔 '미고', 리눅스재단의 '리모' 프로젝트의 장점을 이어받는 목표로 출발했다. 삼성은 여기에 '바다' 플랫폼을 통합했다. 인텔과 삼성의 타이젠이 바로 '웹기술을 앱 구동 플랫폼으로 채택한 OS'다. LG전자가 참여할 것으로 알려진 모질라 파이어폭스OS도 그런 종류다. 즉 iOS 앱을 만들어온 개발자가 앱포터툴과 웹기술을 능숙하게 다룬다면 그는 타이젠이나 파이어폭스OS 생태계에 참여할 수 있다. 타이젠 개발자 영입에 서툰 삼성에겐 이상적인 시나리오다. 앱포터툴을 간단히 표현하면 "iOS앱 소스코드를 넣고 돌려 HTML5, CSS, 자바스크립트 라이브러리로 짠 웹앱을 자동 생성하는 ..

Engineering/Issue 2013.02.28

[LG] webOS 관련 기술 문서 및 인력 인수

LG전자는 웹OS를 스마트TV 플랫폼에 접목시킬 계획이라고 밝혔다. 양사 간 인수 협의는 1년 이상 진행된 것으로 알려졌다. LG전자가 부족한 소프트웨어 개발력을 보강하기 위한 특단의 조치를 감행했다. 리눅스 기반의 웹OS는 지난 2009년 1월 최초로 발표됐지만 과거 PDA 운영체제로 유명한 팜OS에 뿌리를 두고 있다는 점에서 사실상 17년이나 된 장수 OS다. 특히 웹OS는 완벽한 웹 2.0 기술을 바탕으로 오픈소스, 멀티태스킹, 쉬운 사용 등으로 업계의 높은 주목을 받았다. 이후 HP가 웹OS를 인수하면서 스마트폰 및 태블릿 용도로 발전을 거듭해 지금은 3.0.5 버전까지 개발이 이뤄졌다. 그러나 LG전자가 정작 웹OS 인수를 통해 얻고자 하는 노림수는 따로 있어 보인다. 단순히 웹OS를 스마트TV..

Engineering/Issue 2013.02.28