반응형

전체 312

[자바] 객체지향언어2 기초정리 (반복문, continue, break, 배열, 비트연산, OR, AND, XOR, NOT)

[자바] 객체지향언어2 기초정리 (반복문, continue, break, 배열, 비트연산, OR, AND, XOR, NOT) 1. 자바에서 반복문은 c와 마찬가지로 for문 while문 do-while문이 있다. 반복문에서 continue는 반복문을 끝내지는 않고 다음반복을 진행하는 것이다. break 문은 반복문을 종료시킨다. 중첩 반복문일 경우 자신이 속해있는 반복문 하나만 종료시킨다. 2. 자바에서 입력받을때 Scanner을 사용한다. 자바에서 비교할때 equals 를사용한다. ex) if(temp.equals("abc")); 3. 배열(array)에서 인덱스는 0부터 시작하며, 같은 타입인 데이터들을 순차적으로 저장한다. ex) int array[] = new int[100]; 배열 인덱스에서 음..

안드로이드 알림기능 관련내용 (알림,알림채널)

안드로이드 알림기능 관련내용 (알림,알림채널) 1. 안드로이드에 있는 알림기능은 UI와 별로도 앱과 관련한 정보를 제공하는 기능으로서, 보통 단말기 상단에 표시된다. 2. 알림채널이란 알림을 그룹화하여 알림 활성화 및 방식변경을 할수있으며, 안드로이드 8.0 이상부터는 알림을 만들기전에 알림채널을 먼저 만들어야한다. 3. 알림을 만들기위해서는 NotificationCompat.Builder 객체의 알림에 대한 정보를 지정해야한다. setContentTitle(): 제목 setContentText(): 텍스트 setSmallcon(): 작은아이콘 NotificationCompat.Builder.build()를 호출하면 Notification 객체를 반환하고 NotificationManagerCompat.n..

Programming/Android 2021.09.14

오픈소스소프트웨어 기초 (OSS 라이선스, LGPL, GPL, MPL, BSD, Apache)

오픈소스소프트웨어 기초 (OSS 라이선스, LGPL, GPL, MPL, BSD, Apache) 1. OSS라이선스는 SW에 대한 사용 허가권으로서, 허용범위 및 의무사항을 준수한다면 자유롭게 사용가능하다. 2. OSS라이선스의 공통적인 준수사항으로는 저작권관련문구유지, 제품명중복방지 등이 있다. 3. 라이선스에 따른 의무사항으로는 소스코드공개, 특허, 사용여부명시가 있다. 4. GPL라이선스는 강력한 제약조건을 가지고 있으며, SW를 수정 하거나 라이브러리를 링크할 경우 개발된 SW를 공개및 GPL로 배포해야한다. a GPL V2: 저작권고지, 소스공개, 저작권표기유지, 소프트웨어 유료판매시 소스코드 무료공개를 해야한다. GPV V3: V2의 항목을 유지하면서 소스에 대한 설치정보를 함께 제공해야하며, ..

데이터 통신 기초 정리2 (회선교환방식, 패킷교환방식, Sequencing, 흐름제어, 혼잡제어, 에러정정, TCP, IP, Buffering)

1. 데이터 통식의 교환방식에서 교환방식은 정보를 주고받는 경로를 정해주는 방식이다. 2. 회선 교환방식(circuit)은 데이터를 전송하기전 물리적 회선을 결정한 후 독점적으로 사용하는 방식이다. 전송이 끝나면 돌려준다. ex) 전화 (독점적O) 3. 패킷 교환방식(packet)에서 패킷이란 전송정보에 주소 및 제어신호가 부가된 데이터 전송단위이며, 패킷교환방식은 경로가 물리적으로 정해지지 않은 상태에서 패킷마다 다른선로를 이용하는 방식이다. 인터넷에서 이용하는 방식으로 빠르고 신뢰성이 높다. (인터넷망이라고 생각하면된다.) (독점적X) 4. 패킷교환방식안에서 연결지향과 비연결형이 존재하는데, 연결지향은 송신과 수신프로세스와의 논리적인 경로를 설정한다. ex) TCP 비연결형은 경로없이 각각의 데이터 ..

알고리즘 기초 정리 1 (트리, 노드, 이진트리, 링크표현법, 이진탐색트리)

1. 리스트, 스택, 큐는 선형구조이며, 트리는 계층적인 구조의 비선형 자료구조이다. 2. 트리는 부모와 자식관계의 노드(트리의구성요소)들로 만들어 진다. 루트는 부모가 없는 노드이다. 3. 트리에서 레벨은 각층의 번호이며, 높이는 최대 레벨이다. 차수는 자식 노드의 개수이며, 트리의 차수는 노드의 최대 차수이다. 4. 트리는 이진트리와 비이진트리가 존재한다. 이진트리는 모든노드가 2개의 서브트리를 가지고 있는 트리이다. (최대2개) 5. 노드의 개수가 n개이면 간선의 개수는 n-1 이다. (루트노드를 제외하고 모두 부모노드를 가지기때문이다.) 6. 이진트리에서 최소노드의 개수는 높이이며, 최대는 2^h -1 개의 노드이다. 7. 링크표현법: 포인터를 활용하여 부모노드가 자식노드를 가르키는 표현법이다. ..

백준 1789 수들의합 [c++]

#include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); long long S;//입력받을 자연수의합 선언 long sum = 0;//자연수의합과 비교할 변수 int count = 0;//더해지는 자연수를 count할 변수 long num = 1;//더해질 변수 cin >> S;//S를 입력 while (1)//무한루프 { sum += num;//num의값을 sum에 더한다 count++;//값을 더했으니 count에 1더한다 if (sum > S)//sum의 값이 자연수의 합보다 커진다면 { count--;//count에서 1을빼고 반환한다. 문제에 나온 예시인 합 200을보면 1씩더해서 200이 딱나오지 않는다.이 ..

자바 기초 정리 [객체지향언어2] (식별자,데이터타입,var,final,증감연산)

1. 식별자(identifier)는 변수, 클래스 등에 붙는 이름이다. 특수문자, 공백은 사용할수없지만 $와 _는 가능하다. 그리고 첫번째 문자에서 숫자는 사용할수없다. 대소문자를 구별해야한다.(temp 와 Temp는 다르다.) 2. 자바의 데이터 타입은 8개로 short(2바이트), int(4바이트), byte(1바이트), char(2바이트), boolean(참거짓 1비트), long(8바이트), float(4바이트), double(8바이트)가 있다. 3. 문자열은 기본 타입이 아니며, String 클래스로 문자열을 표현한다. 4. 변수선언 ex) int temp; char temp2; 5. 리터럴은 프로그램에서 직접 표현한 값으로서 그 예로 34, %, true 등이 있으며 정수, 실수, 문자, 논리..

안드로이드 커스텀뷰 기초 (onDraw, Invalidate, Canvas)

1. Canvas (그림그릴때 사용되는도화지) 와 Paint를 사용하여 안드로이드 스튜디오에서 도형,선 등을 그릴 수 있다. 2. view를 상속하여 터치이벤트 처리와 그래픽 요소들을 만들 수 있다. 3. 안드로이드의 UI요소는 모두 view를 상속한다. 4. onDraw(): 호출하여 외형을 그릴수 있다. onTouchEvent(): 터치 이벤트를 처리할수있다. 5. Canvas 메소드 종류: drawColor(배경색지정) drawCircle(원그리기) drawText(글자출력) drawPath(경로그리기) 등이 있다. 6. Invalidate(): 원하는 때 다시그릴때 활용되며, View의 화면을 갱신한다. (전체뷰의무효화) 커스텀뷰 활용예제 2021.09.08 - [android] - 안드로이드 커..

Programming/Android 2021.09.08

안드로이드 커스텀뷰 랜덤도형출력 (CustomView, Myview, onTouchEvent)

안드로이드 커스텀뷰 랜덤도형출력 (CustomView, Myview, onTouchEvent) 화면을 터치하면 터치한 위치에 랜덤으로 사각형,원,삼각형이 나타난다. Myview.kt package com.cookandroid.customview01 import android.content.Context import android.graphics.* import android.graphics.drawable.shapes.OvalShape import android.util.AttributeSet import android.view.MotionEvent import android.view.View import kotlin.random.Random class Myview : View { var rect = R..

Programming/Android 2021.09.08

오픈소스 소프트웨어 1장 기초 정리 (OSS,Open Sourece Software)

1. Free Software는 상업적이용에는 엄격하지만 사용자 권리에 중점을 둔다. 2. Open Sourece Software는 저작자의 권리를 보호하며 소스코드를 공개한다. 상업화가 가능하며, 사용,복제,수정,재배포를 허락한다. 3. OSS는 소스코드는 공개하지만 지적재산권으로 보호된다. 조건의 범위를 명시한 라이선스로 권리를 보호한다. 4. OSS는 개발언어, 개발도구, 프레임워크, OS 등 다양한 형태로 제공되고 있다. 5. OSS는 자체적으로 수정 및 기술변화가 가능하기 때문에 고착 현상을 탈피할 수 있으며, 개발 생산성이 높아지고 비용절감 효과를 얻을 수있다. (집단지성을 이용한 발전) 6. OSS의 단점으로는 품질에 대한 보증이 부족할 수 있으며, 지속성이 중단되는 경우가 발생할 수도 있다..

반응형