반응형

분류 전체보기 69

안드로이드 ANR (Application Not Responding)

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

Node.js 콜백 함수 Callback Function

1. 함수란 반복되는 코드들의 집합이다. 이러한 반복되는 코드들을 Copy & Paste 할때, 귀찮다. 반복되는 코드를 함수로 만들어 준다. 2. 함수와 메모리 함수의 코드부분은 메모리에 따로 저장이 됩니다. 함수의 이름부분은 변수로 처리되기 때문에, 함수의 이름은 함수의 코드부분을 가리킵니다. 따라서 함수가 호출될때에는, 함수의 이름을 찾아서, 그 이름이 가르키는 메모리의 주소로 이동하여 실행합니다. 자바스크립트에서 변수는 함수도 저장할 수 있기 때문에, 다른 이름의 변수에 이 함수의 코드를 동일하게 가르키도록 할 수 있습니다. 3. 콜백 함수란 함수의 파라미터로, 함수를 보내는 것이다. 따라서, 어떤 함수든, 그 함수 안에서, 내가 작성한 함수의 코드가 실행되게 할 수 있다. 결국, 내가 만든 함수..

IT 기술 용어 2020.10.13

자바스크립트 Hoisting(호이스팅), let, const, Dynamic Typing

1. 자바스크립트에서 데이터를 저장하는 3가지 키워드 let : 자바스크립트에서 변수를 저장하는 유일한 키워드다. ES6 문법에서 처음 사용되었습니다. let는 중괄호 { } 로 구성된 코드블럭 안에서 사용하는 경우에는, 코드블럭이 끝나면 메모리가 해제되기 때문에, 메모리 낭비가 일어나지 않습니다. var : ES6문법 이전에 사용되던 방식으로서, 글로벌 변수로 선언되기 때문에, 프로그램 종료할때까지 메모리에 남아있게 됩니다. 따라서 지금은 사용하지 않아야 합니다. const : 상수를 저장할때 사용합니다. 한번 저장하면, 다른 값으로 바꿀 수 없습니다. 2. 호이스팅(Hoisting)은 무엇입니까 기존의 변수이름만 저장하는 방식은, var로 처리되기 때문에, 모두 글로벌 변수로 처리됩니다. 변수를 어디..

IT 기술 용어 2020.10.12

안드로이드 스튜디오 Git 연동 (Android studio Git / Github.com)

1. File - Settings 로 이동 2. Github 에서 Add account 클릭 3. 깃허브 계정 로그인 4. Git 항목 확인 - 테스트 버튼 5. 현재 프로젝트가 열려있으면, 이 프로젝트를 깃허브에 Share Project on Github 한다. 6. 리파지토리 이름 설정하고, share 클릭 7. 파일 추가할거냐고 나오면 add 한다. 8. 성공하면 아래쪽에 링크가 나온다. 그 링크는 깃허브의 링크다. 클릭하면 깃허브가 나온다. 9. 이제 깃허브와 연동되었으니, 커밋 푸시 풀 등의 작업 하면 된다.

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
반응형