분류 전체보기271 [정보처리기사 필기 요약] 객체지향 설계원칙 (SOLID) 구분 내용 단일 책임 원칙 (SRP, Single Responsibility Principle) - 객체는 단 하나의 책임만을 가져야 함 - 어떤 클래스를 변경해야 하는 이유는 단 한 가지여야 함(책임 = 변경사유) - 같은 이유로 변화하는 것 끼리 묶고, 다른 이유로 변화하는 것 끼리는 분리 - 산탄총 수술 : 하나의 책임이 여러 클래스로 분산되어 있는 경우 발생 가능 개방 폐쇄 원칙 (OCP, Open-Closed Principle) - 기존 코드 변경하지 않으면서 기능 추가할 수 있도록 설계 되어야 함 - SW 개체(Classes, Modules, Functions 등) 확장에는 열려있고 수정 시에는 닫혀있어야 함 --> 추상화 - 클래스 변경하지 않고도 그 클래스 둘러싼 환경 변경할 수 있는 설계.. 2021. 3. 2. [정보처리기사 필기 요약] 객체지향 * 객체지향 개념 : 실세계 개체(Entity)를 속성(Attribute)과 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념. 구현 대상을 하나의 객체로 보고 객체와 객체들 간 관계로 모델링 하는 방법 * 구성요소 구분 내용 클래스 (Class) - 같은 종류 객체들 집합에 공통 속성과 행위 정의 - 객체지향 P/G 기본적인 사용자 정의 데이터형 객체 (Object) - 클래스 인스턴스 (실제로 메모리 상에 할당된 것) - 자신 고유 데이터 가지며 클래스에서 정의한 행위 수행 속성 (Attribute) - 객체 데이터 메소드 (Method) - 객체 행위 (함수, 메소드) - 클래스로부터 생성된 객체 사용하는 방법 메시지 (Messsage) - 객체 간 통신 * 기법 특징 상세내.. 2021. 3. 2. [정보처리기사 필기 요약] 코드의 기능 구분 설명 표준화 다양한 종류 데이터를 일정한 기준으로 통일하여 관리 간소화 데이터 간략하게 표현 가능 분류 데이터 분류 쉽게 가능 식별 대량 데이터들에서 서로 구분 가능하고 쉽게 식별 가능 배열 데이터 정의한 순서대로 나열 가능 연상 정보 표현하고자 하는 데이터 뜻과 의미가 코드에 내포되게 표현 가능 암호화 데이터 외부 표현 감추고자 암호화 가능 오류 검출 데이터 입/출력 시 잘못된 정보 검출 가능 2021. 3. 2. [정보처리기사 필기 요약] SW 아키텍처 4+1 View * 시스템의 여러 가지 측면 고려하기 위한 다양한 관점 바탕으로 정의. UML 4+1 View가 표준. * 고객 요구사항 중심으로 4가지 관점으로 SW 아키텍처 설계하는 기법 * SW 아키텍처 4+1 View 구성 구분 설명 사용사례관점 (Use Case View) - 시스템 외부 사용자 관점에서 사용 사례들 간 관계 정의 논리 관점 (Logical View) - 상위 수준에서 시스템 논리적인 구조/행위를 클래스 인터페이스, 협력관계(Collaboration)로 정의 구현 관점 (Implementation View) - 독립적으로 실행되는 컴포넌트와 이들 간 관계 정의 프로세스 관점 (Process View) - 시스템 병렬처리 및 동기화 처리 위한 스레드와 프로세스 정의 배치 관점 (Deployment.. 2021. 3. 2. [ANDROID] Activity View 구하기 1. id를 이용하여 구하기 setContentView(R.layout.activity_main,null); View view = findViewById(R.id.layout); 2. View 객체에 담기 View view = getLayoutInflater().from(this).inflate(R.layout.activity_main,null); setContentView(view); 2021. 2. 18. [ANDROID] byte array rotate 앱을 landscape로 실행시켰더니 카메라도 같이 돌아가버렸다... camera.setDisplayOrientation(90); 위와 같이 설정을 해도 보이는 화면만 돌아가있지 막상 bitmap을 찍어서 보면 적용이 안되어있어서 골머리를 썩히다가 방법을 찾았다 ! 카메라 onPreviewFrame에서 들어오는 byte array 데이터를 돌리면 된다 ! public static byte[] rotateNV21(byte[] input, int width, int height, int rotation) { byte[] output = new byte[input.length]; try { if (rotation == 0) { System.arraycopy(input, 0, output, 0, input.le.. 2021. 1. 27. [ANDROID] react-native 설치 & 프로젝트 생성 cmd 창을 열어서 nodeJS가 설치되어있는지 확인해보기. 설치가 되어있지 않다면 따로 설치하고 시작하기 바람 >node --version v12.16.2 다음과 같이 [ npm install -g react-native-cli ] 명령어를 실행해준다. -g : global. 전역 범위에서 설치, 사용 하겠다는 의미 >npm install -g react-native-cli ...\AppData\Roaming\npm\react-native -> ...\AppData\Roaming\npm\node_modules\react-native-cli\i ndex.js + react-native-cli@2.0.1 added 79 packages from 28 contributors in 3.189s npm으로 설치.. 2021. 1. 18. [ANDROID] onKeyDown KeyEvent 변경 작업을 하다가 화면을 90도 회전해서 처리해야하는 작업들이 생겼다. 리모콘에서 상하좌우 key event도 90도 회전시킨 evnet로 처리해야 하는데 방법을 몰라 몇시간을 헤맸다. public boolean onKeyDown(final int keyCode, final KeyEvent event) 에서 다음과 같이 처리를 해줬다. if(keyCode == KeyEvent.KEYCODE_DPAD_LEFT) { new Thread(new Runnable() { @Override public void run() { try { inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP); } catch (Exception e) {} } }).start(); return true; }.. 2021. 1. 15. 장고 프로젝트 생성 $ django-admin startproject mysite mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py 이 파일들은, The outer mysite/ root directory is a container for your project. Its name doesn’t matter to Django; you can rename it to anything you like. manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다. manage.py 에 대한 자세한 정보는 django-admin and manage.py 에서 확인할 수 있습니다. mysite/ 디렉토리 내부에는.. 2021. 1. 6. python3.9 ubuntu 18.04에 설치 1. sudo add-apt-repository ppa:deadsnakes/ppa 2. sudo apt update 3. apt install python3.9 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음의 추가 패키지가 설치될 것입니다 : libpython3.9-minimal libpython3.9-stdlib python3.9-minimal 제안하는 패키지: python3.9-venv python3.9-doc binfmt-support 다음 새 패키지를 설치할 것입니다: libpython3.9-minimal libpython3.9-stdlib python3.9 python3.9-minimal 0개 업그레이드, 4개 새로 설치, 0개 .. 2021. 1. 4. 이전 1 ··· 21 22 23 24 25 26 27 28 다음