본문 바로가기

공대남자

[Programming-JAVA] Wrapper class (랩퍼 클래스) java를 조금 공부하다 보면 랩퍼 클래스라는 말을 한번쯤 듣게 된다. 처음 자바를 접했을 때는 랩퍼 클래스가 왜 필요한지 궁금했다. 왜 만들었을까. 이걸 어따 쓰려고. 하지만 조금 공부해보니 이거... 정말 많이 쓰인다! 랩퍼(Wrapper)는 쉽게 생각해서 집에서 쓰는 랩을 생각하면 된다. 뒤집어씌운단 뜻이다. 그럼 뭘 뒤집어 씌우는가? 간단하게 설명하자면 랩퍼 클래스는 기본 데이터형을 객체형으로 뒤집어씌우는 클래스이다. 기본 데이터형 변수를 감싸서 하나의 객체로 취급한다는 것이다. 랩퍼 클래스의 객체는 변수와 같이 사용가능하다. 각 기본 데이터형에는 그에 대응하는 랩퍼 클래스가 존재한다. 기본 데이터형 byte -> 랩퍼 클래스 Byte 기본 데이터형 short -> 랩퍼 클래스 Short int .. 더보기
[Android App] 야구 규칙 어플 - 2011.08.17 개발완료 내가 야구 규칙에 대한 앱을 만들어야 겠다고 생각한 때는 정확히 3개월 전 어느날이다. 사직구장을 갔다가 같이간 애가 "왜 저건 파울이 아니야?" 라고 물어보길래 페어볼에 대해 한참을 설명하다가 문득 그런 생각이 들었다. '왜 손쉽게 야구 규칙을 볼 수 있는 수단이 없지?' 거기서부터 야구 규칙 어플의 개념을 생각하게 되었다. 가장 많이 쓰이는, 일반적이고 친숙한 스마트폰이란 매체를 이용하는 것이지. 해서 탄생한 "야구 규칙" 어플. 안드로이드 플랫폼 전용이다. 8월 29일 현재 다운로드수 1,200명 돌파인데 무엇보다도 활성설치수가 87%를 넘어간다. 활성설치수가 많다는 건 그만큼 사용자가 유용하다고 인식하고 사용중인 것이므로 나름 뿌듯하다. (참고로 이전 작품인 '안드로밴드'는 현재 다운로드수는 20.. 더보기
디자이어 HD 개봉기 심플한 디자인의 박스. 전면에 인쇄된 기기 사진은 실제 기기와 크기가 같다 예전에 쓰던 에버 엑스슬림과 크기 비교. 4.3인치 액정의 위엄 ㄷㄷ 엑스슬림도 잘 썼었는데 망할 버튼... 여튼 화면은 정말 크고 시원하다. 함께 들어있는 물건들. 충전&PC와의 통신 잭, 충전기본체, 220V 충전기, 간단한 설명서, 번들이어폰, 그리고 기기 본체. 번들 이어폰은 아직 뜯어보지 않아 음질은 어떤지 모름. 외형 디자인은 예쁘다. 투박한 느낌이 나긴 하지만 젤커버 씌우니 괜찮음. 뒷면. 외형 불량이 많다는 소리가 있는데 다행스럽게도 양품이 걸렸다. 아래쪽이 유심칩과 SD카드 넣는 부분. 저 틈에서 유격이 많이 발생한다. HTC 로고가 선명하게 새겨져 있다. 화면 오른쪽이 배터리 끼워넣는 부분인데 정말 빼기 힘들다!.. 더보기
레고로 만든 배틀크루저 - 히페리온 보기엔 안그래 보이지만 히페리온이란답시고 만든거다. 저기 앉아있는 애는 짐레이너. 흰색 탁자 클릭하면 싱글미션을 플레이할 수 있다. 멋지다 히페리온! 더보기
열전도 측정을 위한 온도환경 Setting 및 자동 Current 입력. Temperature Controller를 하드웨어적으로 손 한번 대지 않고 원하는 온도환경을 만들어 내는 시스템까지 만들었다. 자동화시스템의 첫 시작인가. LabVIEW에서는 목표 온도 (K) 만 입력해주고 실행시키면 He Compressor Unit에 의해 자동 냉각중인 Cryocooler 내부를 목표 온도까지 설정해줌. 보통 HCU는 4K 정도까지 낮춰버리는 괴물같은 놈이다. 만약 10K으로 목표 온도를 잡으면 자동적으로 계산된 PID에 의해 10K을 맞추는 것이다. 하지만 온도는 10K으로 맞추라고 명령해서 10K 정확하게 맞춰지는 것이 아님. 10.005K이 될 수도 있고 9.995K이 될 수도 있는데 이러한 상황이 이어지면서 10K에 근접한 값이 지속이 되어야 10K의 환경을 만들었다고 할 수.. 더보기
[알고리즘] 세계 프로그래밍 경시대회 문제 - [100] 3n+1 Problem 세계 프로그래밍 경시대회 문제를 풀어보고 실행시간, 등수를 확인하는 것까지가 알고리즘 과제였다. uva.onlinejudge.org 사이트에서 100번과 166번 문제를 풀어보는 것이었는데 100번이 비교적 쉬워서 166번도 쉬울꺼라 예상하고 안풀고 있다가 제출 당일에야 손댔다가 바보같게도 시간이 부족해서 완성을 못시켰다. 아.. 시간이 조금만 더 있었다면 Accepted 받을 수 있었을텐데 아는 아쉬움. 그래도 100번을 풀었으니 ㅋ 100번 문제는 다음과 같다. 100 The 3n+1 Problem Background Problems in Computer Science are often classified as belonging to a certaiin class of problems. ......... 더보기
[Computer Architecture] Instruction Set Architecture Computer Architecture 컴퓨터 구조 수업 교재 "Logic and Computer Design Fundamentals"의 10장 명령어 셋 아키텍쳐 5/20일자 수업 요약한 것. 10. Instruction Set Architecture 10-1 Introduce of Computer Architecture 컴퓨터의 논리 구조를 알려면 일반적으로 어셈블리어 참조 매뉴얼을 참고하면 된다. 매뉴얼은 하드웨어로 실행되는 모든 명령어에 관하여 기록하고 있으며, 각 명령어의 2진 코드 형식과 기호명 등에 대해서도 명확한 정의를 내리고 있다. 과거에는 이 정보가 컴퓨터의 아키텍처 그 자체를 의미하였다. 기술이 발달하여 단일 IC에 많은 기능들이 집적됨에 따라 아키텍쳐, 구조, 하드웨어 사이의 관계를.. 더보기
[LabVIEW] 스트링 이어 붙이기, 정수 카운트 5월 첫째 주 펫돌이 스터디. 문자열 두 부분을 하나로 합치고 중간에 정수 카운트를 하여 하나의 문장으로 만들어주는 VI. 랩뷰에서는 문자열도 손쉽게 합치고 지지고 볶고 할 수 있다. 메인 VI는 다음과 같다. 초기 문자열 컨트롤과 정수형 변수 컨트롤을 문자열로 포맷 함수에 서로 연결시키고 정수형을 문자형으로 형 변환을 시켜준다. 추가 문자열과 연결한 다음, 문자열 길이를 출력하는 함수를 따로 삽입, 인디케이터로 출력한다. 간단한 VI이지만 문자열과 정수를 하나로 합치고, 문자열끼리 합칠 수 있다는 것을 보여준다. 결과 화면은 다음과 같다. 더보기
데이터베이스 개론 기본개념 정리 CH 1. 데이터베이스 관리의 개요 1. DB의 정의 DB - DBMS에 의해 관리되는 Data의 집합. 그냥 데이터. DBL - DB에 저장된 Data를 검색하고 조작하기 위한 언어. SQL - 관계형 DB 표준언어. 객체관계형 DBMS -> ORDB. 관계형 DB와 객체지향 DB의 혼합. - 통합 데이터(integrated data) : 분산된 데이터 통합. 중복을 최소화. - 공유 데이터(shared data) : 다수 이용자가 동일한 데이터 공유. - 저장 데이터(stored data) : 컴퓨터가 접근 가능한 매체에 저장된 디지털 데이타. - 운영 데이터(operational data) : 특정 조직의 고유 업무를 수행하기 위해 항상 유지해야 함. - 의사결정 데이터(decision-making.. 더보기
Process Synchronization, Deadlock OS는 갈수록 범위가 누적이 된다.. 미리미리 해놓지 않으면 나중엔 감당이 안될듯. 주말 내내 푹 쉬다가 이제서야 포스팅을 하다니. 나도 참 게으르다. 1. Process Synchronization 프로세스(쓰레드)의 동기화는 크게 세 가지 방법이 있다. 1) S/W적 동기화 2) H/W적 동기화 3) Semaphore S/W적 동기화 방법은 해당하는 알고리즘이 다 나와있다. 피터슨의 알고리즘과 데커의 알고리즘, 그리고 램포트의 빵집 알고리즘까지. 약 7가지 정도 된다. 그에 해당하는 알고리즘들은 시간나면 올리겠음. H/W적 동기화 방법에는 세 가지가 있는데, 인터럽트, TAS, Swap이 그것이다. 인터럽트적인 방법으로는 인터럽트를 비활성화 시키는 것인데, 하나의 쓰레드가 동작할 때 다른 쓰레드가 끼.. 더보기