목록분류 전체보기 (212)
개발자 끄적끄적
- RC4는 바이트 단위 스트림 암호로서, 평문 1바이트(8비트)와 키 1바이트가 XOR되어 암호문의 1바이트를 생성한다 - 상태(State) - RC4는 상태 개념을 사용한다 S[0]. S[1], S[2], ... , S[255] - 초기화(Initialization) //S값과 K값는 256 - 초기화는 2단계로 수행된다 for(i=0 to 255) { S[i]
- 기본 개념 - 수학적 형태학의 이론은 여러 가지 방법으로 발전될 수 있다 점들의 집합으로 연산되는 한가지 표준 방법을 채택한다 - 화면의 오브젝트(object)를 일정한 양만큼 가로축(x) 또는 세로축(y)으로 이동시킨다 *직각좌표계 : 왼쪽 아래쪽이 0점(x축이 가로, y축이 세로) 영상좌표계 : 왼쪽 위에쪽이 0점(x축이 세로, y축이 가로) - 오브젝트(object)를 기준점을 기준으로 거울에 비치듯이 반사시킨다 - 팽창과 침식은, 여러 가지 연산들이 이들 2가지 결합으로 이루어지는 형태학의 기본 연산이다 - 마스크(Mask) 내에 있는 오브젝트의 좌표 만큼 모두 이동시킨 다음 합쳐주는 것 - hole(구멍)을 매꿔주는 역할(물체의 크기를 증가시키는 효과) -> 원래의 object보다 확장 - ..
- 다중 : 예측변수가 여러개 - 정량적인 종속변수(목표번수, 출력변수 또는 반응변수) Y와 예측변수(설명변수, 독립변수, 입력변수, 회귀변수, 공변량)인 X1, X2, ..., Xp 사이의 선형관계를 적합하기 위해 사용 - 다중 선형 회귀분석은 분석대상에서 다음과 같은 관계가 있다고 가정 Y(outcome) = B(0) + B(1)x(1) + B(2)x(2) +... + B(p)x(p) + ε - B(0) : constant, B(1),...B(p) : coefficients, x(1),...,x(p) : predictors, ε : error(noise) - We assume a linear relationship between predictors and outcome - Data are used t..
- 앱의 상단에 표시 - 타이틀, 액션아이콘, 옵션메뉴를 표시 - AppBar 또는 Action Bar라고 불린다 - 주의 : 테마에서 NoActionBar를 쓰면 App Bar가 나타나지 않는다 - 참고 : Toolbar - Jetpack 라이브러리로 제공되며, 레이아웃 내에 한 위젯처럼 취급 - 안드로이드 레이아웃 디자인에서 Toolbar(ID가 toolbar)를 추가 - Theme에서 parent를 NoActionBar로 변경 - Activity에서 setSupportActionBar(findViewById(R.i.toolbar)) - App Bar보다 더 유연하게 커스터마이즈 할 수 있다 - App Bar에 액션아이콘, 옵션메뉴를 하나의 메뉴로 관리 - App Bar에 타이틀 표시하고 남은 공간에..
- 사회연결망(Social Network) - 개체(개인, 조직, 혹은 webpage)간의 관계를 표현한 상회적 관계 구조 - 개체는 노드로 그들 간의 관계는 에지(링크)로 표현 - SNA는 노드의 관계성을 중심으로 구조를 분석 - 시각화, 노드의 특성, 네트워크 특성, 연결 예측 - 6개의 노드와 노드를 연결하는 선으로 구성 - 무방향 네트워크 #build a dataframe that defines the edges and use to build the graph df = pd.DataFrame([ ("Dave", "Jenny"), ("Peter", "Jenny"), ("John", "Jenny"), ("Dave, "Petter"), ("Dave", "John"), ("Peter", "Sam"), (..
- 대칭키 암호화 기법은 현대 블록암호를 기반으로 수행 - DES와 AES라고 불리는 현대 블록 암호는 고정된 길이의 텍스트 블록을 암호화하거나 복호화한다 Modes of operation 1. ECB(Electronic codebook) 2. CBC(Cipher block chaining) 3. CFB(Cipher feedback) 4. OFB(Output feedback) 5. CTR(Counter) C(N-1)=E(K)(Y) - CBC모드에서 각각의 평문 블록은 암호화되기 전에 이전 블록의 암호문과 XOR된다 - 암호화와 복호화 과정은 서로 역관계이다 - 초기벡터(Initialization Vector(IV)> - 초기벡터(IV)는 송신자와 수신자 간에 공유되어야 하지만 반드시 비밀일 필요는 없다 ..
- 영역분할은 영상을 부분을 구분하거나 물체를 분리하는 처리이다 - 단일 문턱치 처리 - 그레이 영상을 먼저 원 영상에서 그레이레벨 T를 선택하여 이진(흑백과 백색)영상으로 변환하고, 모든 화소에 대하여 T보다 작으면 흑색으로 T보다 크면 백색으로 치환 A pixel becomes white if its gray level is > T, black if its gray level is >r=imread('rice.tif'); >>imshow(r), figure, imshow(r>110) //모든 데이터를 벡터로 처리하기때문에 r은 전체 영상을 뜻한다 -> 벡터화 결과 영상은 이후에 쌀의 개수나 평균 사이즈를 구하는데 이용할 수 있다 >>b=imread('bacteria.tif'); >>imshow(b),..
- 비선형 구조 가운데 하나인 그래프 - 정점(node)와 간선(edge)으로 이루어진다 - 컴퓨터, 수학, 공학 등의 많은 분야(최단거리 분석, 연구계획/공정분석, 회로 분석 등)에서 객체 사이의 관계를 표현하는 도구로서 사용 - 기판, 컴퓨터 설계 : 수 만개 구멍을 레이저드릴로 천공 - 그래프(Graph)는 정점(vertex)와 간선(edge)의 집합으로 정의 - 정점의 집합 V는 정점들의 유한집합이고 간선의 집합 E는 정점들을 연결하는 선의 집합 - 그래프의 표기 : G=(V,E) - 하나의 간선 E는 (Vi, Vi)로 두 개의 정점으로 표현된다 - 그래프는 간선의 양끝 정점사이의 순서를 고려에 따라 - 방향 그래프(directed graph) - 무방뱡 그래프(undirected graph) -..
- 사용자의 요구사항(requirements)으로부터 현실세계를 반영한 데이터베이스 구조 도출해내는 과정 - 어떠한 필드로 구성된 테이블을 어떠한 물리적 형태의 데이터베이스로 구성할 것인가를 결정 - 요구사항 분석 - DB 사용환경 분석 후 대상 및 제한 조건 도출 - 개념적 설계(conceptual schema) - 분석 결과를 추상화한 표현 방식으로 기술 -> 개념적 스키마 생성 - 논리적 단계(logical schema) - 논리적 데이터베이스 구조에 맞는 스키마 생성 -> 논리적 스키마 생성 - 물리적 설계 - 실제 컴퓨터에 저장되는 방식 설계 - 사용자의 요구사항 분석 후, 컴퓨터에 표현방식보다는 추상적인 형태로 설계 - 사용자가 이해하기 쉬운 형태로 표현 - 개념적 모델을 이용하여 개념적 스키..
- 2001년 미국 국립기술표준원에서 공표한 대칭키 암호 알고리즘 - AES의 선정 기준은 1. 안정성(security) 2. 비용(cost) 3. 구현 효율성(implementation) - AES는 128비트 평문을 128비트 암호문으로 출력하는 알고리즘으로 non-Feistel 알고리즘(모든 구성요소가 역이 존재)에 속한다 - 10. 12, 14 라운드를 사용하며 각 라운드에 대응하면 키 크기는 128, 192, 256비트이다 그러나 마스터 키(128, 192, 256)의 크기가 달라도 라운드 키는 모두 128비트이다 Nr 10 MixColumns -> State -> AddRoundKey -> State Note 1. One AddRoundKey is applied before the first ..
- 영상 복원은 영상을 획득하는 과정에서 발생되는 열화(화질의 저하)를 방지하거나 감소시키는 처리를 의미한다 이러한 화질의 저하는 화소의 값에 오차를 발생하는 잡음을 포함하고, 초점의 흐림 또는 카메라의 움직임에 의한 떨림 현상과 같은 광학적 오차를 포함한다 - 공간영역에서, 영상 f(x, y)와 공간필터 h(x, y)가 회선처리에 의해 어떤 결과 영상 g(x,y)를 생각하자 만일 h(x,y)가 라인형태로 구성된다면 회선처리의 결과는 라인방향으로 움직이는 흐림이 생긴다 g(x,y) = f(x,y)*h(x,y) 여기서 *는 회선을 표시한다 그러나 모두가 그런 것은 아니며, 회선처리에 부가되는 함수로 모델화 될 수 있는 잡음을 고려해야한다 따라서 발생 가능한 불규칙한 오차를 n(x,y)로 표현하면, 열화 영..
- 사회연결망(Social Network) - 개체(개인, 조직, 혹은 webpage)간의 관계를 표현한 상회적 관계 구조 - 개체는 노드로 그들 간의 관계는 에지(링크)로 표현 - SNA는 노드의 관계성을 중심으로 구조를 분석 - 시각화, 노드의 특성, 네트워크 특성, 연결 예측 - 6개의 노드와 노드를 연결하는 선으로 구성 - 무방향 네트워크 G = nx.from_pandas_edgelist(df, 'from', 'to', create_using=nx.DiGraph()) //Digraph : 방향 그래프 //from : 소스, to : 타겟 nx.fraw(G, with_labels=True, node_color='lightblue', node_size=1600) - Edge weight(thickne..
- 테이블과 레코드들은 HDD에 저장 - 운영체제가 관리하는 파일 시스템 이용 - 기본 저장 구조는 파일 - 입출력 단위는 블록(block) - 블록(block) - 하나 이상의 레코드들이 저장 - 각 블록은 하나의 테이블에 속한다 - 파일 - 하나 이상의 테이블들이 저장 - 자주 검색되는 필드를 기준으로 관련 레코드들을 같은 블록에 저장 - 왜 사용할까? - 파일 내 레코드의 위치를 빨리 찾기 위해 - 인덱스가 없으면 순차 검색해야 한다 - 인덱스의 예 - 도서관의 책 정렬 - 사전의 단어 정렬 - 전화번호부의 이름 정렬 - 레코드에 대한 물리적 저장위치를 별도로 기록 - 인덱스의 구조 - 인덱스 엔트리 : (검색키, 주소) - 검색키 : 테이블에 속한 한 개 이상의 필드 - 기본키 - 레코드의 검색,..
- 트리구조는 일종의 색인구조로서 데이터의 검색(인덱스:Index)이 주요 목적 *색인구조 : 문서에서 키워드를 찾아보기 쉽도록 정렬/나열한 목록 일반적으로 책 뒷편에 색인, 인덱스, 찾아보기와 같은 이름으로 정돈된 목록을 의미 - 신속한 데이터의 검색은 시스템의 성능에 결정적 영향 - 검색 속도는 원하는 데이터를 찾을 때까지의 경로 상 노드 숫자에 비례 - 노드의 크기에 따라 검색 속도가 변화 - ex) 실제 상황에서의 AVL 트리의 높이는 아래와 같다(n은 입력된 데이터의 개수) O(log2n) = log2(n+1)+0.25 - 따라서 데이터의 개수가 약 1000개라면 트리의 높이는 10이되고, 데이터를 검색할 때 최악의 경우라도 10개의 노드를 거치면 찾을 수 있음을 의미한다 - 실제로 운영되는 트..
- DES의 핵심은 DES함수이다 - DES함수란 라운드 함수에 사용된 f(Rl-1, Kl)를 기리킨다 - DES함수는 32비트 출력 값을 산출하기 위하여 가장 오른쪽의 32비트(Rl-1)에 48비트를 적용한다 - DES는 2^56개의 원소로 이루어진 키 집합을 의미한다 - Rl-1는 32비트 입력 값이고, Kl는 48비트 라운드 키이기 때문에 우선 32비트 Rl-1을 48비트 값으로 확장할 필요가 있다 - 확장치환을 적용한 이후에, DES는 확장치환의 출력 값에 라운드 키를 XOR 연산한다 - 이 때, 확장치환의 출력 값과 라운드 키 값 모두 48비트이다 - 라운드 키는 이 연산에서만 사용된다 - S-박스는 실제로 섞어주는 역할을 수행한다 즉, 혼돈(confusion)역할을 수행한다(암호문과 키의 문을..
- 앱 구성 요소, 사용자와 상호작용할 수 있는 화면 제공 - 안드로이드 앱 구성 요소 - 액티비티, 서비스, 브로드캐스트 리시버, 컨텐프 프로바이더 - 앱의 시작은 보통 액티비티에서 시작한다 - 앱에서 2개 이상의 액티비티가 포함될 수 있다 - 액티비티 AppCompatActivity(또는 Activity)를 상속하여 만든다 - AppCompatActivity는 androidx(Jetpack) 라이브러리에 포함된 것 - 안드로이드 SDK 버전에 상관 없이 동일한 기능을 제공해준다 - Activity는 안드로이드 SDK에 포함된 것 - 앱 호환성을 높이기 위해 AppCompatActivity 사용 권장 - setConetentView()를 이용하여 액티비티의 View를 draw - ex) class Ma..
- 목표 - 데이터 세트에 대한 통찰력을 생성할 목적으로 비슷한(동질적) 레코드들의 그룹(군집)형성 - 비슷한 고객 그룹으로 '시장을 세분화하는 데' 사용된다 - characterize the clusters useful for the aims of the analysis - marketing strategy is tailored for each segment - 원소 주기율표 : Mendeleev - 생물 종 분류 - 주식 포트폴리오 그룹화 : balanced portforlios - 경제 구조분석을 위한 회사 그룹화 - 육군 군복 크기 : 20 sizes with 5 measurements - 마케팅 : 고객 정보를 이용한 시장 세분화 - 인터넷 검색엔진 : 사용자들이 검색한 검색어를 군집화하여 검색..
- TextView는 텍스트를 출력하기 위한 위젯 - EditText는 텍스트를 입력받기 위한 위젯 - EditText는 TextView를 상속하기 때문에 TextView의 속성을 그대로 사용 - 텍스트 외형을 속성을 사용해 변경할 수 있다 - android:text 실제 표시될 텍스트 - android:textSize 텍스트 크기, 단위는 'sp'(dp보다는 sp를 권장) - android:textStyle 굵은글씨(bold), 기울임글씨(italic) - android:textColor 텍스트 색 - android:textAlignment 좌, 우, 중앙 정렬 - android:singleLine 강제로 한 줄 표시 - android:ellipsize 텍스트 출력할 공간이 부족할 경우 '...' 표시..
- 최근접 보간법 - 순방향(x1~x4)->(x1'~x8') : 원영상 4개의 pixel로부터 확대된 8개의 pixel의 좌표값을 구하는 것 - 역방향(x1'~x8')->(x1~x4) : 확대된 8개의 pixel 좌표에 원영상 4개의 pixel로부터 data를 가지고 와서 8개의 pixel의 data를 생성하는 과정 - Matlab은 imresize 함수를 가지고 있는데, 아래와 같이 처리할 수 있다 - resize(A,k,'method') - A = 영상의 형식, k=척도계수, 'method'=최근법 또는 양선형 중 하나 - resize(A, [m,n], 'method') - [m,n]은 출력의 척도 사이즈 - ex) Matlab으로 구현 >>c=imread('cameraman.tif'); //카메라맨..
- 현대 블록암호의 중요한 구성요소는 배타적 논리합(Exclusive-Or) 연산이다 - GF(2^n)상에서의 배타적 논리합 연산의 다섯 가지 성질은 이 연산이 블록 암호에 사용될 경우 매우 흥미로운 구성요소가 된다 - 닫힘(closure) - 결합법칙(associativity) - 교환법칙(commutativity) - 항등원 존재성(existence of identify) - 역원의 존재성(existence of inverse) - 암호 알고리즘의 구성요소가 단일연산(하나의 입력과 하나의 출력)으로 표현될 수 있다면 각 구성요소에 대한 역을 설명할 수 있다 - 예를 들어, 역연산이 가능하도록 키가 없는 P-박스 혹은 키가 없는 S-박스를 만들 수 있다 왜냐하면 이들은 하나의 입력과 출력을 갖기 때문이..