목록MyCloud (85)
MyCloud
Daum Maps API 처음 Daum 지도 API를 사용하시게 되면 여러 문제를 만날 수도 있습니다.그래서 Daum 지도 API를 연동하면서 겪은 문제를 정리하려고 합니다. 1.우선 키 발급받는 과정입니다. 간단한 과정이라 API 페이지에 따로 언급이 없습니다. http://developers.daum.net/console/위 링크의 다음 개발자 페이지의 좌측 상단에 앱 만들기 버튼을 눌러 내 프로젝트를 생성해야 합니다.그리고 나면 자동으로 키가 발급됩니다.이 때 안드로이드 패키지 명은 com.company.projectName 형식으로 들어가면 됩니다.* 잘 모르겠다면 AndroidManifest.xml 에 있는 package = " " 부분을 보시면 됩니다. 2.라이브러리를 추가해야 할 때 가이드 ..
TabLayout 과 ViewPager TabLayout은 안드로이드 서포트 디자인 라이브러리에 있는 클래스입니다.이전에는 탭에 대한 애니메이션, 변화, 디자인을 직접 구현했다면 이제 TabLayout 내에 있는 속성만으로 쉽게 컨트롤 할 수 있습니다.자주 사용하는 xml 속성은 다음과 같습니다. XML Attributes Description design:tabGravity 탭의 정렬 방식을 선택 fill : 너비를 모두 같게 표시 center : 가운데 정렬하여 표시 design:tabMode 탭의 표시 방식을 선택 Fixed : 모든 탭을 한번에 표시 Scrollable : 일부 탭만 표시, 나머지 스크롤 design:tabIndicatorColor 현재 선택된 탭에 대한 색 지정 design:ta..
세종대학교 컨벤션홀에서 열린 Google I/O 2016 Extended Seoul 에 다녀왔습니다 ! 입구에 사진을 찍을 수 있는 포토존(?)이 있었습니다.민망해서 배경만 찍는걸로 개인적으로 마음에 들었던 스티커 모음집빨리 소진되서 좀만 늦게왔어도 못 받을뻔 했습니다. 매 시간마다 세 개의 트랙 중 하나를 선택해서 들을 수 있었는데,저는 안드로이드, 파이어베이스, 텐서플로우에 관한 세션을 들었습니다. 몇 가지 메모했던 내용을 정리하자면, ... 안드로이드에서 앞으로 서비스, 브로드캐스트를 명시적으로 사용하는 것은 점차 사라질 것이며,최소한으로 꼭 필요한 경우에만 백그라운드 데이터를 사용하는 방향으로 갈 계획이라고 합니다. 안드로이드 테스트 서포트 라이브러리는 유닛 테스트 담당이라면,에스프레소는 유저 인..
전송계층 프로토콜 TCP와 UDP 프로토콜은 모두 전송계층에서 동작하는 프로토콜입니다.TCP는 Transmission Control Protocol의 약자이고, UDP는 User Datagram Protocol의 약자입니다.두 프로토콜은 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어 있지만,서로 다른 특징을 가지고 있습니다. 지금부터 두 프로토콜을 비교 정리해보겠습니다. TCP - Transmission Control Protocol TCP는 신뢰성있는 데이터 전송을 지원하는 연결지향형 프로토콜입니다.여기에서 어떻게 신뢰성있는 데이터 전송이 가능할까? 라는 의문이 생길 수 있습니다.TCP는 패킷을 성공적으로 전송하면 Acknowledgement(ACK) 라는 신호를..
머신러닝의 배경 올해의 가장 핫한 IT 키워드는 바로 머신러닝 (Machine Learning) 입니다.전문가들은 알파고와의 바둑 대전을 보며앞으로 인공지능 시대가 올 것이라고 예측하고 있습니다. 사실 머신러닝, 인공지능 개념은 예전부터 존재했지만 발전이 없었으며 소수에 연구원들에 의한 주제였기에 대중화 될 수 없었습니다.하지만 빅데이터 확보, CPU 성능향상, 오픈소스 프로젝트로 인해많은 개발자들이 인공지능 연구에 참여하게 되었습니다.앞으로 발전속도는 더 빨라질 것이며 나중에는 API를 가져다 쓰는 것만으로도 구현할 수 있게 될 것입니다. 머신러닝의 개념 머신러닝이란 어떠한 입력(Input)이 들어왔을 때 알고리즘을 통해 출력(Output)해주는 모듈(예측모델)을 구현하는 것을 말합니다. 사진을 보시면..
Oracle SQL Query - Join 오라클에서 지원하는 다양한 SQL 쿼리문에 대해 알아보겠습니다.먼저 JOIN 입니다. JOIN은 둘 이상의 테이블을 합쳐서 하나의 큰 테이블로 만드는 방법입니다.JOIN은 테이블의 Foreign Key를 이용하여 참조하며,정규화된 테이블로부터 결합된 형태의 정보를 추출할 때 사용합니다. 방법1은 여러 DBMS의 SQL 문법을 맞추기 위해 나중에 생긴 편리한 방법입니다.따라서 방법1을 추천하지만 출력결과는 같기 때문에 상관없습니다. 1. JOIN (방법1)// NATURAL JOINSELECT * FROM emp NATURAL JOIN dept;SELECT * FROM emp JOIN dept USING (deptno);SELECT * FROM emp JOIN d..
Oracle DDL DDL 이란, 데이터베이스를 정의하는 언어를 말합니다.데이터를 생성하거나 수정하거나 삭제할 수 있으며,NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK 등의 제약조건을 설정할 수 있습니다. 1. 테이블 생성CREATE TABLE book (bookno NUMBER(5),title VARCHAR2(50),author VARCHAR2(10),pubdate DATE); 2. 테이블 수정// 컬럼 추가ALTER TABLE book ADD (pubs VARCHAR2(50)); // 컬럼 수정ALTER TABLE book MODIFY (title VARCHAR2(100)); // 컬럼 삭제ALTER TABLE book DROP author; 3. 테이블 삭..
support.v7.widget.CardView 안드로이드 CardView 는 support.v7.widget 에 속한 라이브러리 입니다. 리스트 뷰를 보여줄 때 카드 레이아웃을 사용한 형태를 많이 구현했습니다. 하지만, 직접 그림자도 그려야 하고, 틀을 만들어야 하는 어려움이 존재했습니다. 이를 해결하기 위해 SDK 21버전부터 CardView가 추가되었습니다. CardView는 FrameLayout 클래스를 확장한 형태입니다. 둥근 모서리, 배경과 그림자가 추가된 FrameLayout 이라고 보시면 됩니다. 그리고 CardView를 사용하는 가장 중요한 이유, 깔끔하고 이뻐서 ! 일반적으로 CardView는 리스트 형태로 보여주기 때문에뷰에 대해 재사용이 가능한 RecyclerView와 함께 사용됩니..
ViewHolder 패턴의 등장 뷰 홀더(ViewHolder) 패턴은 리스트 뷰의 유연한 동작을 위해 나타나게 되었습니다. 예를 들어, 리스트가 1000개 있다고 생각해보겠습니다. 왼쪽과 같은 리스트 뷰는 TextView 3개로 구성되어 있습니다. TextView를 생성하기 위해 매번 findViewById()를 호출해야 할 것이고, 3000번 호출된다면, 이는 엄청난 성능 오버헤드를 불러오게 됩니다. 아마 스크롤 내릴 때마다 매우 느린 반응속도를 보일 것입니다. 이를 해결하기 위해 ViewHolder 패턴이 나타났습니다. ViewHolder 패턴의 원리는 각 View 객체를 ViewHolder 에 홀드 시키는 것입니다. 이러한 방법으로 리스트 뷰에서의 성능을 개선할 수 있습니다. ViewHolder 패..
임계구역이란? 임계구역이란, 공유 자원에 접근하는 코드의 일부를 말합니다.일반적으로 둘 이상의 프로세스는 공유 자원에 대해 동시에 접근할 수 없습니다.하나가 먼저 실행하고 난 뒤 끝나면 다음 프로세스가 들어가서 실행해야 합니다. do {entry sectioncritical sectionexit sectionremainder section} while (TRUE); 따라서 각 프로세스는 자신의 임계 구역에 들어가려면 들어가도 되는지 요청해야 합니다.이런 요청이 entry section 에서 이루어지게 됩니다.만약, 이미 들어가 있는 프로세스가 있다면 entry section 에서 기다리다가들어가도 된다는 신호가 오면 critical section 으로 들어갑니다.이렇게 잘 돌아가면 좋을텐데 임계구역에는 ..