목록분류 전체보기 (212)
개발자 끄적끄적
- Flow control at the data link layer - The date-link layer at the sending node tries to push frames toward the data-link layer at the receving node - If the receving noce can not process and deliver the packet to its network at the same rate that the frames arrive, it becomes overwhelmed with frames - Buffers(완충기) - One of the solutions is to use two buffers; one at the sending data-link layer ..
- 시각적 이미지 분석에 많이 활용되는 심층신경망(Deep NN)의 일종으로 합성곱(Convolution) 신경망이라고 한다 - 아키텍처는 인간 두뇌의 뉴련 연결 패턴과 유사하며 '시각' 피질조직(Visual Cortex)의 구성에서 영감을 받았다 - 네트워크가 Convolution이라는 수학적 연산을 사용함을 나타낸다 - 컨볼루션은(디지털 '필터링(특정부분을 걸러냄)'에 주로 사용되는) 특수한 종류의 선형 연산이다 - 개별 뉴런은 수용 영역으로 알려진 시야의 제한된 영역에서만 자극에 반응한다 이러한 필드 모음은 전체 가시 영역을 덮기 위해 겹쳐진다 Stimulus -> Visual area of brain -> Visual Cortex Receptive fields size : V1 -> V2 -> V..
- a group of one or more attributes that uniquely identifies a row - ACTIVITY relation - Combination of two attributes become a key - must consult the users to decide a key - Every relation has at least one key - Unique Attribute may not be the key of the table 2. 유일성을 갖는 속성(예를 들어 주민등록번호)을 키 값으로 정하는 직관적 방식이 부적절한 이유에 대해 간단히 설명 Sol) 유일성을 갖는 속성일지라도 그 속성이 여러 개의 다른 속성을 결정하는 관계(다중값 결정)가 있는 경우 키 값으로서 역..
- data rate : the number of data elements(bits) sent in 1s[bps] = bit rate - signal rate : the number of signal elements sent in 1s[baud] = baud rate - 주파수 대역폭(width)이 넓어질수록 데이터 전송속도가 떨어지고, 주파수 대역폭이 좁아질수록 데이터 전송속도가 빨라진다 - BW 는 1/bit rate에 비례 - Goal : increasing the data rate while decreasing the signal rate - Digital data bit(pulse shape)를 전송하기 위해서는 이상적으로는 무한대의 통신 채널 대역폭이 필요하다 -> 현시적으로 불가능. 즉, 항..
CPU(중앙처리장치) : 연산, 제어장치 - 실제로 일을 한다 -> 계산(연산) 및 논리연산 - 일거리는 메모리(주기억장치)하고 communication - Input/Output/Controll로 이루어져있다(0,1bit밖에 모른다) 주기억장치 : Main Memory(DRAM, Dynamic random-access memory : 동적막기억장치), Power가 off되면 다 날아감 보조기억장치 : Power off가 되도 여전히 남아있다 - 단위 : File - ex) 'sys.c(보조기억장치)'이라는 파일을 만들 때 -> CPU가 못알아들음 - CPU가 알아듣게 바꿔야한다 -> 번역 -> sys.out(보조기억장치) -> sys.out(주기억장치) *주기억장치에 있을 때 sys.out는 proce..
- Parent 프로세스 아이디 - 부모 프로세스 : 0번 프로세스를 제외한 모든 프로세스에는 자신을 생성하는 프로세스 - 부모 프로세스의 PID를 검색하려면 getppid() 함수를 사용 - 함수 원형 #include #include pid_t getppid(void); - 프로세스 아이디 - 메인메모리에 올라가 있는 프로세스 아이디 - '파일'로 존재 -> (메인메모리 올라가면) '프로세스'로 존재 - PID는 0번부터 시작 - 0번 프로세스는 스케쥴러 : 프로세스에 CPU 시간을 할당하는 역할 수행 -> 각각의 프로세스에게 CPU에게 쓸 수 있는 시간을 할당\ - 커널의 일부분이므로 별도의 실행 파일은 없다 - 1번 프로세스 : init로 프로세스가 새로 생성될 때마다 PID와 중복되지 않은 번호가..
- Digital Original - Transmission medium - Attenuated - Amplifier -> Amplified - Attenuated = signal + noise - Attenuated + Amplifier = regenerator(재생) *Amplifiers : 증폭기 *Repeater : 중계기 - 신호의 모양이 변경(signal changes its form or shape) - Each signal frequency component has its own 'propagation(전파) speed' -> 신호가 이동하면서 신호의 모양이 변경 - 위상(phase)이 발생(Components out of phase) -> 시간차이 때문 - 원래신호(Compositive ..
- We use a few criteria such as 'size, geographical coverage, and ownership' to make this distinction - LAN에 대해서 설명하시오 - A local area network (LAN) is usually privately owned and connects some hosts in single office, building or campus -> 컴퓨터 갯수가 적고, 짧다 - Each host(컴퓨터) in a LAN has an identifier, and address, that uniquely defines the host in the LAN *IP address, MAC address, 휴대폰번호 - A packet s..
- DB technology : One of the hottest career paths - Enjoyable, interesting and challenging - DB desing(설계) and development(구축) : art(창의적) and engineering(공학) - User Requirement(사용자의 요구조건 or 업무정의서) -> Art -> DB Design(ER -> 정규화) -> Engineering -> Physical Database - User DB Application DBMS DB - Desing and development of Database vs Design and development of Database application - Overlap between..
- When we communicate, we are sharing information. This sharing can be local(지역) or remote(원격) - The term telecommunication(통신), which includes telephony, telegraph, and television, means communication at a distance - Data communications are the exchange of data between two devices(장치) via some form of transmission(전달) media(매체) *Communication(통신) : Broadcasting(방송) - 통신 : 양방향으로 데이터를 주고받음 - 방송 :..
- 시스템이나 다른 앱이 방송하는 메시지를 받는 리시버 - 시스템 이벤트시 방송 - 시스템 부트 완료, 충전 시작, 네트워크 연결 변경, 문자 수신 등의 이벤트 - 문자 수신과 같은 민감한 정보는 권한을 필요로 한다 - 사용 방법 - 1. BroadcastReceiver 상속한 클래스, onReceive() 재정의 - 2. registerReceiver()로 1번의 클래스 객체 등록 - 이 때 수신할 방송 종류를 IntentFilter로 정의하여 포함 - 3. 더 이상 수신할 필요가 없을 때 unregisterReceiver() 호출 - 안드로이드에서 보통은 다른 앱에 데이터를 제공해주기 위해 - 표준화된 인터페이스, 적절한 데이터 은닉과 보호 기능을 제공 - ContentProvider에 접근하기 위한..
- 인공신경망(artificial neural networks)으로도 불리는 신경망(neural networks)모형은 분류와 예측을 위해 사용되는 모형이다 - 신경망은 노의 뉴련들이 상호작용하고 경험을 통해 배우는 생물학적 활동을 모형화 한 것이다 - 신경망은 인간 전문가가 배우는 방식을 흉내 낸다 신경망의 학습 및 기억 특성들은 인간의 학습과 기억의 특성을 닮앗고 특정사건으로부터 일반화하는 능력도 또한 갖고 잇다 - 일반적으로 신경망의 가장 큰 장점은 높은 예측 성과에 있다 신경망의 구조는 다른 분류모형에서는 불가능한 입력변수와 출력변수 사이의 매우 복잡한 관계를 파악한다 - 입력정보를 복잡하고 변경이 용이한(flexible)신경망 "모델"과 결합 - 신경망 모델의 "계수"는 반복 과정(iterati..
- 무손실 및 손실 압축 - 손실 압축 : VQ(Vector Quantization), JPEG - 무손실 압축 : Huffman, DPCM(Differential Pulse Coded Modulation), RLE(Run Length Encoding) - 영상에서 그레이 값들을 표현하는데 고정길이코드(8비트)를 사용하지 않고 가변길이코드를 사용하는데, 영상 내에서 그레이 값들이 확률적으로 자주 나오는 값일수록 보다 짧은 코드를 사용하는 것이다 - 즉, 발생빈도가 많이 나오는 코드는 짧게 표현하고 발생빈도가 적게 나오는 코드는 길게 표현 -> 가변길이(Variable Length Coding) Gray value Probability Fixed code Variable code 0 0.2 00 000 1..
- 코틀린에서 병행(비동기) 수행을 프로그래밍하는 방법 - 병행 수행은 언제 ? - 네트워크나 I/O 등 비동기 처리가 필요한 경우 - 스레드를 직접 다루기보다는 코루틴을 사용하는 것이 편리하고 효율적 - 특징 - 가볍다 - 취소 가능 - 다양한 Jetpack에서 코루틴을 이용한 API 제공 - build.gradle - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1' - Coroutine 1은 Coroutine2의 작업을 시작하고 Non-Blocking 상태로 계속 실행 - Coroutine 2는 Coroutine 1에 대해 비동기(Asynchronous)로 수행 - Coroutine 1과 Coroutine 2는 병행(co..
- 일반 응용 프로그램의 구성 - 명령어들의 집합(함수나 클래스 단위로 구성) - 데이터베이스 응용 프로그램의 구성 - 업무처리에 관련된 세부 프로그램 단위 - 세부 프로그램들은 데이터베이스에 대한 연산(검색/삽입/삭제/수정)으로 구성 - 예를 들어 은행에서 계좌이체, 대출, 예금, 출금 등의 업무 - 트랜잭션 - 논리적인 작업 단위를 구성하는 연산들의 집합 - 실행 중 멈추거나 중단되지 않는 최소 작업 단위 - 데이터베이스 응용 프로그램은 트랜잭션의 집합 - 대부분의 DBMS들은 이러한 상황을 방지하기 위한 기능을 갖춘다 - 데이터베이스 개발자는 작업 단위들을 트랜잭션으로 적절히 정의해야 한다 - 즉, 트랜잭션을 정의하는 것은 전적으로 개발자의 의무 - ACID 특성(ACID property) - 원자..
- 영상에 구멍(hole) 등 특정 물체의 수 또는 존재 여부에 관심을 가지는 경우, 한 영상의 이들 기본적 성절의 조사를 '디지털위상기하학' 또는 '영상위상기하학(image topology)라고 한다 >>nt=~im2bw(n,0.5); //black과 white를 서로 뒤집는다 >>n2=imopen(nt,strel('disk',5)); *strel('disk',5) //structural element(matlab 함수) - 화소 P가 4개의 이웃이 있는 경우 : 4-인접 - 화소 P가 8개의 이웃이 있는 경우 : 8-인접 -오브젝트 사이의 연결 - ex) - Distance=6(4연결) - Distatnce=4(8연결) - object 갯수를 count, default=8연결 - 목적(foregrou..
- 새로운 레코드를 '분류'하거나 '예측'할 때 사용 - 분류되어야 할 주어진 레코드에서 근접(유사) 레코드를 찾는다(k개를 선정) - "근접(nearby)"은 비슷한 예측변수 값을 가진 레코드를 뜻한다 - 근접한 레코드들("neighbor")이 주로 속한 클래스(우세한 클래스)로 해당 레코드의 클래스를 결정한다 - 특징 - 데이터에 근거한 추론 - 데이터에 대한 어떠한 가정도 없다 - 소속 클래스와 예측변수들간의 관계에 대한 가정이 없다(비모수적 : nonparametric) - 레코드들간의 유사성은 예측변수들로부터 얻는다 - 가장 많이 쓰이는 근접 측정방법은 '유클리드 거리'이다 - 예측변수의 척도를 균등하게 하기 위해 '표준화' - 새로운 레코드를 표준화 할 때는 '학습데이터의 평균과 표준편차'사용..
- 앱 전용 파일 - 내부 저장소 또는 외부 저장소 사숑 - 다른 앱에서 접근 불가, 앱 삭제 시 함께 삭제 - Preference - 키 : 값 형식으로 저장, 사용 - 내부 저장소 사용, 다른 앱 접근 불가, 앱 삭제 시 함께 삭제 - 공유 파일 - 미디어나 문서 파일 - 외부 저장소 사용, 다른 앱과 공유 가능 - 공유 데이터 블롭(Shared Data Blobs) - 안드로이드 11부터(API 30) - 기계학습이나 미디어 재생 등에 사용할 매우 큰 공유 가능한 파일 생성/사용 - 데이터베이스 - Room 라이브러리를 이용하여 구조화된 형태로 데이터 저장 - 예전엔 SQLite로 사용, 지금은 Room 권장 - 내부 저장소(Internal Storage) - 파일 소유한 앱에서만 액세스, 다른 앱..
- 실행 예 S(S#, SNAME, STATUS, CITY) //제품 PRIMARY KEY(S#) P(P#, PNAME, COLOR, WEIGHT, CITY) //공급자 PRIMARY KEY(P#) SP(S#, P#, QTY) PRIMARY KEY(S#, P#) FOREIGN KEY(S#)REFERENCES S FOREIGN KEY(P#)REFERENCES P SCP 테이블 S# CITY P# QTY S1 LONDON P1 100 S1 LONDON P2 100 - R을 릴레이션이라고하고 X와 Y를 R의 속성 집합의 임의의 부분 집합이라고 하자 그러면 'X가 Y에 함수적으로 종속' 되기 위한 필요 충분 조건은 R에 있는 각각의 X 값이 R에 있는 정확히 하나의 Y값과 관련을 갖는 것이다 - 이를 기호로 표..
- 초기에 항목을 나열하는 컨테이너로 ListView가 있었다 - 효율적인 Recycler View가 등장하고 ListView는 사용 지양 - 구성요소 - RecyclerView.Adapter - ViewHolder를 생성 - ViewHolder와 데이터 연결 - RecyclerView.ViewHolder - 뷰를 담아두는 상자 - LayoutManager - 항목 뷰들의 배치를 결정, 리스트, 그리드 등 - RecyclerView - Adapter로부터 ViewHolder를 가져와서 LayoutManager에 의해 뷰를 배치 - RecyclerView.Adapter를 상속하여 CustomAdapter를 생성 - 일반적으로, 사용할 ViewHOlder를 같이 정의 class CustomAdapter(pr..