반응형

이직 8

안드로이드 ANR (Application Not Responding)

1. Android ANR (애플리케이션 응답 없음) 이 무엇인가? Android 앱의 UI 스레드가 너무 오랫동안 차단되면 'ANR(애플리케이션 응답 없음)' 오류가 발생 다음처럼 버튼을 누르면, 무한루프를 실행하는 코드를 작성하면, 무한루프때문에 유저의 버튼 클릭 등의 응답을 할 수가 없다. 따라서 아래 그림과 같이 나오는것을 ANR 이라고 한다. 2. ANR이 발생하는 경우와 그 해결책은 무엇인가? 안드로이드는 Main Thread ( UI Thread ) 가 UI 를 처리한다. UI처리란? 유저가 탭하는 등의 일을 처리한다는 뜻! 만약 UI 쓰레드에서 아래와 같이 오래 걸리는 일을 할 경우는, 다른 쓰레드에서 처리를 해 줘야 한다. 네트워크 통신, DB처리, 파일처리 등의 I/O 와 관련된 일을 ..

VCS (Version Control System) - Git

1. 깃(Git) 이란? 소스코드에 대해서 버전을 관리해 주는 시스템 중 하나입니다. 여러명이 하나의 프로젝트를 공동으로 작업할 때, 코드를 관리해 주는 시스템입니다. 2. 깃을 어떻게 활용하였나? 깃허브 닷컴을 레파지토리로 이용합니다. 그래서, 깃허브 닷컴에 레파지토(Repository)를 만들고, 제 로컬 컴퓨터에 클론(Clone)을 합니다. 안드로이드 스튜디오에 VCS 메뉴와 깃허브를 연동합니다. ( 비주얼스튜디오 코드의 소스 컨트롤에 연동합니다.) 소스코드 개발을 한 후, 커밋(Commit)을 합니다. 커밋이 완료되면, 푸시(Push)를 합니다. 그리고나서, 컨플릭트(Conflict)가 나지 않도록, 집에서 작업하든, 회사에서 작업하든, 풀(Pull) 먼저 하고나서, 작업합니다. 3. 프로젝트 시..

IT 기술 용어 2020.10.06

RDBMS vs NoSQL

1. RDBMS Relational DataBase Management System 관계형 데이터베이스 시스템 트랜잭션 처리가 가능함 MySQL, Oracle, MS-SQL 2. NoSQL 대용량의 데이터를 분산 처리하는 데이터베이스 시스템 오토 샤딩 (Auto Sharding) 기능으로 분산처리가 가능함 Mongo DB, AWS DynamoDB, Firebase Firestore 3. RDB 와 NoSQL의 차이점을 설명하세요. RDB는 스키마를 미리 정의해 줘야 합니다. 그래서 테이블 생성문을 사용해서 스키마를 정의합니다. NoSQL은 스키마 프리(free) 입니다. 따라서 미리 테이블 생성 할 필요가 없습니다. 두번째로, NoSQL은 오토 샤딩 기능이 있어서, 대용량의 데이터를 자동으로 분산 처리합..

IT 기술 용어 2020.10.05

On-Premise 와 Cloud Services 온프레미스 클라우드

온프레미스와 클라우드 1. 온프레미스 (On Premise) 란? 기업이, 자체적으로 보유한 전산실 서버에, 직접 설치해서 운영하는 방식입니다. 클라우드 컴퓨팅 기술이 나오기 전까지, 기업 인프라 구축의 일반적인 방식 이었습니다. 장점은, 정보의 보안성이 높다는 것이고 단점은, 시스템을 증설하거나 구축하는데 시간과 비용이 많이 듭니다. 2. 가장 기본적인 서버의 구조 API 서버와 데이터베이스로 구축합니다. API 서버에는, 웹 프레임워크를 설치합니다. 데이터베이스는 RDBMS를 설치합니다. 3. 스토리지서버 (Storage Server) 는 왜 필요합니까? 스토리지 서버는 파일을 처리하는데 사용합니다. 데이터베이스(RDBMS) 에는 파일을 저장하지 않고, 파일의 경로(주소, 이름, URI, Path)를..

IT 기술 용어 2020.09.29

자바 클래스와 객체 (Class , Object / Instance )

1. 클래스란 사물의 특성을 소프트웨어적으로 추상화하여 모델링 한 것으로서, 멤버변수와 메서드의 집합이다. 2. 객체란 (Object / Instance) 객체란 오브젝트 또는 인스턴스라고도 부릅니다. 객체는 클래스를 힙(heap) 메모리 영역에 할당한 것입니다. 자바에서는 new 키워드를 사용하면 됩니다. 3. 자바의 클래스가 메모리에 올라가는 실제 코드 예시 4. 위의 코드를 실행했으 시, 메모리의 상태 5. OOP 란? Object-Oriented Programming 의 약자다. 자바에서는 클래스가 OOP의 단위다. 사물의 특성을 소프트웨어적으로 추상화하여 모델링 한 것이다. 장점은, 클래스는 재사용이 가능하고, 그래서 협업하기 쉽고, 클래스의 내부 구조를 알 필요없이 사용만 하면 쉽게 소프트웨어..

IT 기술 용어 2020.09.28

Data Structure ( JAVA Collections )

1. Data Structure 데이터 스트럭쳐 란? 데이터는 2개 이상을 의미하고, 2개 이상의 데이터를 저장하는 구조를 데이터 스트럭쳐라고 한다. 데이터를 입력할 수 있고, 수정할 수 있고, 삭제할 수 있고, 억세스 할 수 있어야 한다. (CRUD) 2. 큐 Queue 란? 먼저 입력된 데이터를 먼저 처리하는 자료구조( Data Structure )다. 오래된 데이터를 먼저 사용한다. FIFO (Fisrt In First Out) 3. 스택 Stack 이란? 나중에 입력된 데이터가, 먼저 사용된다. LIFO (Last In First Out) 예를들면, 안드로이드의 화면처리에 사용된다. 4. JAVA 에서의 자료구조 - Collections ( Java의 자료구조 설명 / 자바의 컬렉션 설명 ) 자바..

IT 기술 용어 2020.09.25

REST API

1. REST 란 무엇? 서비스에 존재하는 모든 자원(Resource : 이미지, 유저 정보, 포스팅정보, 동영상 등) 에 대해서 고유의 URI를 부여해서 활용하는 것 2. API 란 무엇? 운영체제(윈도우즈, 리눅스, 맥)에서 돌아가는 프로그램을 만들기 위해서 함수가 필요하고, 이 함수는 운영체제가 제공해 준다. 즉 이렇게 운영체제가 제공해 주는 함수를 API라고 한다. 현재는, 서비스에서 다른 프로그램이나 서비스로 기능을 제공해 주는 인터페이스를 API 라고 한다. 3. REST 의 구성에 대해서 말씀하세요. 3가지로 구성되어 있습니다. 첫번째, Resource (자원) 은 http://service.com/api/v1/users URI 형태로 표시합니다. 두번째, Method (행동) 는 행동에 따..

IT 기술 용어 2020.09.25

프로세스, 쓰레드, 쓰레드풀, 캐시 Process Thread Thread Pool Cache

1. 프로그램(Program)이 실행되는 과정 프로그램은 하드디시크(PC) 또는 플래시메모리(폰)에 저장되어 있다. PC의 경우 더블클릭, 폰의 경우는 탭 하면 저장되어있는 프로그램이 메모리로 올라온다(로딩된다) => 프로세스(Process)라고 한다. CPU가 메모리에 올라온 프로세스를 실행시킨다. (그림은 recipes-4dev.tistory.com 에서 참조) 2. 쓰레드 ( Thread ) 에 대해서 설명하세요. 하나의 프로세스는 기본적으로 한개의 쓰레드를 가집니다. 쓰레드는 동시에 작업할 수 있는 일이 단위입니다. 예를들면, 웹브라우저 에지 프로그램을 실행시키면 1개의 쓰레드가 생성되고, 이미지를 가져오는 작업, 유투브 음악을 듣는 작업 등의 여러 작업은 해당되는 쓰레드가 여러개 생성되어 실행됩..

IT 기술 용어 2020.09.24
반응형