객체와 클래스객체(object) OOP는 객체를 이해하는 것이 중요하다. 현실 세계에서 객체의 예를 들어보자. 당신 앞에 있는 컵, 당신이 지금 사용하고 있는 컴퓨터, 당신 자신이 현실 세계의 객체이다. 현실 객체는 다음과 같은 3가지 특징을 가진다. 1. 속성모든 객체는 속성을 가진다. 당신의 속성은 이름, 핸드폰 번호, 허리 둘레 등이 될 수 있다. 2. 행위당신은 달린다, 걷는다와 같은 행위를 한다. 3. 유일성객체는 유일하다. 당신은 유일무이하다. oop란?자바에서 OOP=Object Oriented Programming(객체 지향적 프로그래밍)을 말한다.▷캡슐화 캡슐화(Encapsulation)란 객체(내부)를 캡슐(외부)로 감싸 그 내부를 보호하고 이를 볼수 없게 하는것을 뜻한다. 왜 이런 번..
자바의 특징플랫폼 독립적 자바 컴파일러는 자바 소스 파일(.java)를 컴파일해서 자바 클래스 파일(.class)을 만든다.자바 클래스 파일은 자바 실행 환경(JRE)를 가진 모든 플랫폼에서 실행된다.자바 클래스 파일(.class)은 바이트 단위로 자바 인터프리터가 해석하므로 자바 바이트코드라 부른다. Java Runtime Environment(JRE) JRE는 자바 프로그램을 실행하기 위해 필요한 모든 것을 뜻한다.JRE는 JVM(Java Virual Machine)과 자바 API와 JVM에서 자바 파일을 실행할 때 도움을 주는 파일로 구성된다.사실상 JVM이 자바 바이트 코드를 실행한다. Java Development Kit(JDK)JDK는 JRE와 자바 프로그램 개발에 필요한 도구 프로그램으로 구..
"starting tomcat v7.0 server at localhost has encountered a problem" 해결 방법 1. 일단 detail을 보면 already use port number이라고 나올 것이다. 즉, 다른 곳에서 tomcat의 기본 포트 번호인 localhost:8080 을 다른 곳에서 뺏아간 것이다. 아마 oracle을 같이 쓰고 있는 사용자일 것이다. 지금의 내가 그렇다.. 그러므로 우리는 기본 포트 번호에서 다른 포트번호로 바꿔주는 것이 현명하다. 과정 : tomcat ->conf -> server.xml로 들어감 이 부분에서 8080은 기본 tomcat port number인데 이 번호를 자기가 원하는 번호로 바꾸어 준다. 전 그냥 default값인 80번 포트로 ..
A* 알고리즘 방식 1. 시작사각형에서 검색된 인접사각형들을 열린목록에 넣습니다. 2. 다음의 과정들을 반복합니다. a) 열린목록에서 가장 낮은 F 비용을 찾아 현재사각형으로 선택합니다. b) 이것을 열린목록에서 꺼내 닫힌목록으로 넣습니다. c) 현재 사각형에 인접한 8 개의 사각형에 대해● 만약 인접한사각형이 갈수없는 것 이거나 그것이 닫힌목록상에 있다면 무시, 그렇지 않은것은 다음을 계속합니다.● 만약 이것이 열린목록에 있지 않다면, 이것을 열린목록에 추가하고. 이 사각형의 부모를 현재 사각형으로 만듭니다. 사각형의 F,G,H 비용을 기록.● 만약 이것이 이미 열린목록에 있다면, G비용을 이용하여 이 사각형이 더 나은가 알아보고, 그것의 G비용이 더 작으면 그것이 더 나은 길이라는 것을 의미하므로 부..
memcpy()설명메모리 영역을 복사합니다. 이와 유사한 함수로 memmove()가 있습니다만 이 함수와는 달리 동일 영역, 즉 자기 자신에 대한 복사는 할 수 없습니다. 헤더string.h형태void *memcpy(void *s1, const void *s2, size_t n);인수void *s1복사될 메모리의 포인터void *s2복사할 메모리의 포인터size_t size복사할 바이트 갯 수반환void *s1 포인터를 반환하며 실패하면 NULL을 반환한다.
memcmp설명2개의 메모리 변수에 대해 내용을 비교하여 첫 번째 인수보다 두 번째 인수가 같은지, 큰지, 작은지를 구합니다.헤더string.h형태int memcmp(const void *s1, const void *s2, size_t n);인수void *s1비교 대상 메모리 포인터void *s2비교할 메모리 포인터size_t n비교할 바이트 크기반환int양의 정수 : s1 이 s2보다 크다.0 : s1과 s2가 같다.음의 정수 : s1보다 s2가 크다.
ICOM context diagram (배경도) = 용어 주의!!! Level 0 diagram은 A0 다이어그램이라고 한다. WBS ? http://terms.naver.com/entry.nhn?docId=3532915&cid=58528&categoryId=58528 edit 속성 -> model properties 2가지 1. AS-IS 2. TO-BE [참고] 사용한 Tool은 BPwin2.5 (window 95) WBS(Work Breakdown Structure) Activity를 독립적인 task단위로 그려줘야 된다. project = level 0 Task 1,2,3,4 = level 1 밑으로 갈 수록 level 증가
프로그레시브 웹 앱스(PWA) 프로그레시브 웹 앱스(Progressive Web Apps.PWA)는 구글 크롬 엔지니어 알렉스 러셀이 2015년에 고안한 개념으로 알려져있습니다. PWA는 앱 수준으로 점진적으로 발전해 나가는 웹을 지향합니다. 궁극적으로는 앱 수준과 같은 사용자 경험을 웹에서 제공하는 것이 목적입니다. ■ 프로그레시브 웹앱이란?진화 : 점진적인 개선을 통해 작성되므로, 어떤 브라우저를 선택하든 상관없이 모든 사용자에게 적합하다반응형 : 데스크톱, 태블릿, 모바일 등 모든 폼팩터에 맞다연결 독립적 : 오프라인이나 느린 네트워크에서 작동(로컬 기기의 캐시에서 로드)앱과 유사 : 앱 스타일의 상호작용 및 탐색 기능을 사용자에게 제공최신 상태안전 : HTTPS를 통해 제공됨검색 가능재참여 가능 ..
/*탐욕 알고리즘의 대표적인 문제로 거스름돈을 계산하는 문제가 있는데, 만약 거스름돈을 줄때는 최소의 동전 수로 거슬러 주며, 동전은 1원, 7원, 10원짜리의 동전이 있다고 가정합니다. 그리고 손님에게 14원을 거슬러 주어야 한다고 생각해봅시다. 이 문제를 탐욕 알고리즘으로 풀게되면, 매 순간마다 최선의 선택을 하려고 하기 때문에 10원, 1원, 1원, 1원, 1원으로 총 5개의 동전을 써서 손님에게 거스름돈을 건네줄 수 있을 것입니다. 그러나, 사실은 7원짜리 동전 2개로 거슬러 주게된다면 동전 2개를 사용해 건네주어서 최소의 동전 수로 거스름돈을 건네줄 수 있게 됩니다. 이제야 아실 것 같으신가요? 왜 탐욕 알고리즘이라고 불리냐면, 미래를 보지 않고 바로 앞에있는 것만 바라보기 때문에 붙여진 이름입..
/*가중치 그래프 최단경로 Dijkstra 알고리즘- 음수가 아닌 가중치를 가진 단순 그래프 G에서 임의의 정점 u0(다익스트라 출발점)로부터 다른 모든 정점으로의 최단경로를 찾는 알고리즘 */ #include #define INF 987654321;int V, E;int start, end;int map[1002][1002];int dist[1002];int isVisited[1002]; void input() {scanf("%d %d", &V, &E); for (int i = 1; i