IT 18

JAVA

1. 메소드 오버로딩(Overloading) 함수의 이름을 똑같이 하여 사용하기 편하게 한다 파라미터의 데이터 타입이 달라야 한다 파라미터의 데이터 타입이 같으면 갯수가 달라야 한다 2. 메소드 오버라이딩(Overriding) 부모 클래스에서 물려받은 함수를 자식 클래스에서 변형하여 사용할 수 있다 -상속 겹치는 것을 하나의 클래스로 묶고 상속받게 한다 - 다형성 상속받은 기본 형질에 서로 다른 변화을 준다 3. 생성자(Constructuor) 생성자는 객체 생성시 자동으로 호출되는 메소드이다 객체가 생성되자마자 실행해야 할 코드이다 함수타입(리턴값)이 없다 이름은 항상 클래스와 동일해야 한다 객체를 생성할 때, 클래스 밖에서 호출할 수 없다는 점을 제외하면 일반 메소드와 동일하다 오버로딩이 가능하므로 ..

IT 2020.10.20

Android Studio - Git 연동

1. Android Studio에서 File - Setting 선택 2. Github 에서 Add account 선택 3. Github 계정 로그인4. Git 항목 확인 - 테스트 버튼 선택 5. 현재 프로젝트가 열려있으면 이 프로젝트를 깃허브에 Share Project on Github 선택 6. Repository 이름 설정 후 share 선택 7. 파일 추가 창이 나오면 add 선택 8. 성공하면 아래쪽에 링크가 표시된다. 선택하면 Github로 이동 9. 연동 완료 Commit, Push, Pull 등의 작업을 하면 된다!

IT 2020.10.16

안드로이드 ANR (Application Not Responding)

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

IT 2020.10.16

Node.js Express - S3설정

1. AWS S3에 버킷 만들기 다음 선택 퍼블릭 억세스 허용 후 다음 버킷 만들기 완료(버킷 URL 확인.버킷명으로 시작하며, 이 URL이 이미지 파일 경로로 사용된다) 2. S3에 업로드 하기 위해 Package설치 npm에서 aws-sdk검색하여 설치한다 3. express-fileupload Package이용했던 파일 업로드 변경 aws-sdk 를 require 만들었던 S3의 버킷 이름과 AWS의 csv파일의 정보 입력 S3에 파일 업로드를 위한 파라미터를 퍼블릭으로 설정해야 읽어올 수 있다 S3에 파일을 업로드 하고, 성공하면 DB에 파일명 저장 Postman으로 실행 S3콘솔에 접속하여 확인 맨 아래 객체 URL선택 이미지가 나오면 성공

IT 2020.10.16

AWS Serverless - Express 설정 방법

※ Express 서버는 이미 개발된 상태에서 진행한다 1. AWS Cli설치 AWS의 IAM으로 이동하여 사용자 로 이동 사용자 추가 기존 정책에서 admin권한 설정 전부 next하여 사용자 생성 완료(★csv파일 다운로드) AWS 명령을 콘솔에서 사용할 수 있도록 OS에 맞는 AWS Command Line Interface(AWS CLI) 설치 2. Serverless 설정 Serverless에 접속 후 nodejs express.js 선택 이름 설정 sudo npm i -g 입력하여 설치 차례로 실행 디플로이 한 화면 서버리스 웹에서 확인 3. 이미 만들어진 Express 앱을 Copy하여 옮긴다 작업한 터미널에서 VS실행 후 .gitignore파일에 conf/ 추가(만든 express를 여기에 ..

IT 2020.10.16

Node.js CI/CD on AWS(github, codepipeline, eleaticbeanstalk)

1. Github setting 새 repository 생성 로컬 컴퓨터에 새로 올릴 서버 폴더 생성 생성한 repository 설명 부분을 생성한 폴더 안에서 실행 각자 만든 서버 소스코드를 위의 폴더에 복사 git push 하여 Github에 소스코드 올리기 AWS에 올릴 프로젝트(서버) 선택 후, .gitignore파일 설정 확인 2. AWS ElasticBeanstalk ElasticBeanstalk 검색 Node.js 선택(프리티어 확인 후 어플리케이션 생성) 3. CodePipeline(Github에 연동) CodePipeline검색 파이프라인 생성 선택 이름 설정 소스 공급자로 Github 선택 후 연동할 repository 선택 빌드 스테이지는 건너뛴다 배포 공급자로 생성한 ElasticB..

IT 2020.10.16

콜백함수 Callback Function

1. 함수(Function) 반복되는 코드들의 집합 반복되는 코드들을 Copy&Paste 할 때 번거로움을 줄이기 위해 함수로 만든다 2. 함수와 메모리 함수의 코드부분은 메모리에 따로 저장이 된다 함수의 이름부분은 변수로 처리되기 때문에 함수의 이름은 함수의 코드부분을 가르킨다. 따라서 함수가 호출될 때, 함수의 이름을 찾아 그 이름이 가르키는 메모리의 주소로 이동하여 실행한다 자바스크립트에서 변수는 함수도 저장할 수 있기 때문에, 다른 이름의 변수에 이 함수의 코드를 동일하게 가르키도록 할 수 있다 3. 콜백함수(Callback Function) 함수의 파라미터로 함수를 보내는 것 어떤 함수 안에서 내가 작성한 함수의 코드가 실행되게 할 수 있다(함수가 호출될 때 내가 원하는 작업으로 동작) 만든 함..

IT 2020.10.13

자바스크립트(JavaScript) - Hoisting, let, const, Dynamic Typing

1. 자바스크립트에서 데이터를 저장하는 3가지 키워드 let : 자바스크립트에서 변수를 저장하는 유일한 키워드(ES6 문법에서 처음 사용되었다) var : ES6 문법 이전에 사용되던 방식으로, 글로벌 변수로 선언되기 때문에 지금은 사용하지 않아야 한다 const : 상수를 저장할 때 사용 2. 호이스팅(hoisting) 기존의 변수 이름만 저장하는 방식은 var로 처리되기 때문에 모두 글로벌 변수로 처리된다. 따라서 글로벌 변수는 변수를 어디에 선언했는지 상관없이 파일의 가장 위쪽에 올라가서 글로벌 변수로 처리되는 것 3. 상수(const)를 사용하는 이유 상수는 한번 저장되면 바뀌지 않으므로 보안에 좋다 여러 쓰레드가 동시에 접근해도 안정성을 보장한다 사람이 실수로 값을 바꾸는 것을 방지할 수 있다 ..

IT 2020.10.12

VCS(Version Control System) - Git

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

IT 2020.10.06