이제 교육 들은지 4개월 정도 됐는데 블로그에 기록을 위해 뒤늦게라도 올려본다.. Notepad++ 로 작업했고 cmd 창으로 컴파일, 실행했다. > > 기억 공간을 확보하는 방법 변수 선언 이름을 이용하게 된다. 위의 코드에서 i 가 이름이다. int
자바에서 실수의 대표는 double 이고, 정수의 대표는 int.double + double = doubleint + int = int위의 결과는 true 가 나올수도 false 가 나올수도 있다.왜냐?실수형 변수는 정확한 값이 아니라 "컴퓨터가 표현 가능한 최고 근사
java 는 boolean 이라는 별도의 자료형이 존재한다.boolean 값은 다른 자료형의 값으로 형변환이 불가능하다 ( 자동 강제 모두 ) 100 > 50 이러한 종류의 연산의 결과는 true / false 로 나타나고 그 값을 담는 변수는 boolean 으로 선언
변수 > c #include int main(){ int i; float j; // i = 100; i = i + 1; printf("%d\n", i ); // 101 // j = 3.1416; printf("%f\n", j ); // 3.141600 /
배열형 변수는 포인터 변수에 대입 가능하다java 에서는 문자열을 다룰때 String 을 사용했다. C에서는 char\[] 와 포인터를 사용한다.문자열 이용시 배열에 할당된 공간 옆의 쓰레기값까지 보여질 수 있기에 모든 문자열은 반드시 \\0 으로 끝나게 "" 안에 명
typedef : 사용자가 정한 자료형 ( struct abcd 를 Node 로 줄여서 쓰는 효과 )모든 포인터 변수에는 NULL 이 대입가능. '아무것도 가리키지 않는다'매개변수가 int, int 이고 리턴타입이 int 인 함수를 가리킬 수 있다.구조체 안에 함수는
포인터가 가리키는 기억공간의 주소는 &head, &tail 로 나타내야 하므로 이중 포인터를 사용한다.이중 포인터가 a 가 head를 가리키고 head가 Node 를 가리키게 된다.포인터 a가 가리키는 공간 => \*a포인터 a가 가리키는 공간의 값 => \*\*aad
위의 그림은 add 에 대한 그림이고 아래의 그림은 delete에 대한 그림이다. ( 포인터의 이동을 잘 보자 )this : 호출된 함수가 속해있는 인스턴스를 가리킨다.큐 : 먼저 들어간 것을 먼저 빼낸다. ( 선입선출 )스택 : 나중에 들어간 것 부터 먼저 꺼낸다.
상속성 - 클래스를 상속받아 클래스를 만든다. \- extend은닉성 - 감추고자 하는 것들을 감출 수 있어야 한다. ( 존재하지만 접근할 수 없는 ) \- private, protected, public다형성 - 하나의 심볼(이름 - 변수명 함수명 )이 다양한 대상에
java 는 명시하지 않으면 extends Object 를 자동으로 붙인다. 따라서 Object 는 모든 클래스의 조상이 된다.Object 타입의 변수는 모든 인스턴스를 가리킬수 있다는 얘기가 된다.toString() 은 뭐다? Object 에서 상속받았다. ( 클래스
인터페이스는 다중상속을 지원한다인터페이스의 메서드들은 선언되었지만 정의되지 않기 때문에 함수 포인터가 동시에 두개의 함수 선언을 가리키는 일은 발생하지 않는다. Command Pattern 동작하나를 인스턴스로 만들어서 활용하는 기법동작 하나를 인스턴스로 만들어서 미리
java 안에는 기본적으로 많이 사용하는 자료구조들이 제공된다.크게 3가지 인터페이스를 상속받아 만들게 된다.List ( ArrayList LinkedList ) : 순서개념있고 중복허용Set ( HashSet TreeSet ) : 순서개념없고 중복불허Map ( Has
static 이 붙은 멤버함수는? 인스턴스 없이 클래스명.함수명으로 호출이 가능하다. ( 참조형변수도 불필요 )'C에서 보던 보통함수와 동일 개념'C 은 클래스 밖에서 함수선언이 가능하지만 java 는 불가능하다.해서 클래스 안에서 선언하면서 멤버함수와 구별되도록 st
Annotaion : 일종의 인터페이스. 클래스, 멤버함수, 멤벼변수 위에 지정 가능cls.getAnnotation( Annot.class ) 클래스에 Annot 이라는 이름을 가진 어노테이션이 지정되었는지 파악지정이 되었으면 Annot의 인스턴스에 대한 포인터 리턴안
상속과 생성자 함수로 같은 동작 구현Canvas : 선을 긋고 그림을 그리고 이미지를 보여주는 등의 역할을 수행하는 클래스.연료의 상황을 체크하는 코드를 넣되 유연하게 교체가능하도록 만들 수 없을까?연료계 역할의 클래스를 등록하면 Car 와 연동되다가 필요 없을 경우
예외처리 : 프로그램 동작시의 오류를 처리하는 방법함수가 호출될때 오동작은 발생한다.각종 예외상황은 클래스로 정의된다. ( extends RuntimeException )예외상황이 발생되면 해당 예외상황에 해당하는 클래스의 인스턴스를 만들고 그것을 던진다. ( thro
Stream단위는 byte순서 개념이 있다.사용이 끝나면 반드시 close() 호출read 에는 두가지 오버로딩된 함수가 있다.int read( ) : 한 바이트를 읽어서 그 내용을 리턴한다.int read( byte\[] ) : 읽어서 byte\[] 에 내용을 복사하
Thread : a light-weighted processProcess : a running program ( 동작하는 프로그램 )Thread 는 Process 안에서만 존속할 수 있다 모든 Thread 가 종료된 시점에서 Process 는 종료된다. Progra
설거지를 예로 들자면 그릇에 거품을 묻히는 사람과 씻는 사람은 동시에 일을 하고 있다. 이때 서로의 속도를 맞춰서 일하도록 설정한다. wait() 거품을 칠하는 사람은 그릇이 5장이 쌓이면 멈추고 씻는 사람은 그릇이 0장이 되면 씻을 것이 없기 때문에 기다려야 한다.
InputStream / OutputStream : byte 단위 전송Writer / Reader : 1char 전송( 한문자 전송 )char 는 2byte!!write / read 할때 에러가 나도 close() 는 반드시 호출되어야 한다.finally 는 에러가 나
import static static 하게 선언된 함수를 호출한다.재귀 호출 ( recursive call ) : 함수 안에서 자기 자신을 다시 호출, 적절한 종료 시점이 없으면 무한 반복한다.이진트리 : 포인터 2개를 가지고 아래로 이어붙이는 형태의 자료구조이므로
루트노드의 왼쪽 자식노드가 null 이 아니면 Node b 가 가리키게 한다. 그리고 루트노드 왼쪽 자식노드가 Node b의 오른쪽 자식노드를 가리키게 하고 Node b의 오른쪽 자식노드는 매개변수의 node 를 가리키게 된다.루트노드의 오른쪽 자식노드가 null 이
지점과 지점이 얽혀 있는 문제를 풀어내는 자료구조배열을 이용하여 구현하는 방법 List 를 이용하여 구현하는 방법spot : 지점4개의 spot 의 관계를 표현하기 위해서 4\*4 크기의 배열을 필요로 한다.int 4개를 요소로 가진 배열을 4개 가지고 있는 배열jav
login -> password 입력cd tomcat - tomcat 폴더로 이동cd binsh shutdown.sh - 서버 끄기sh startup.sh - 서버 켜기mysql -u ... -p : mariadb 접속show databases;use 우리가 사용하는
auto_increment PRIMARY KEY : 자동 일련번호 지정, 입력시에 default 를 이용 부여된 일련번호중에 도중에 삭제되는 레코드가 생겨도 비어있는 번호를 채우는 일을 벌어지지 않는다.레코드와 레코드를 구분하는 기준이 되는 필드1\. NOT NULL
ASC : 오름차순 정렬( 생략가능 )DESC : 내림차순 정렬같은 stId 값을 가진 것들끼리 묶어서 평균을 낸다.실제로 테이블이 생긴 것은 아니고 복잡한 SELECT 문을 편하게 쓰기 위한 객체VIEW 가 테이블을 볼 수 있는 창이라면 위의 코드는 실제 테이블을 생
datetime : 날짜+시간 을 저장할때 쓰는 자료형date : 날짜용 자료형time : 시간용 자료형NOW() : 문장이 실행되는 시점의 시간날짜에 시간, 분, 날짜, 달, 년을 더하고 뺄 수 있다.
MariaDB 와 JDBC 연동 > : 해당 이름의 클래스를 메모리에 로딩 conn 이 가리키는 인스턴스는 의 인스턴스이고, 패키지가 위에랑 같다. 은 실은 인터페이스다. 그것을 상속받아 mariadb 에 접속을 수행하는 클래스가 MariaDbConnec
executeUpdate > 의 리턴값은 변경된 레코드의 갯수를 의미한다. 문장을 실행시킬 때 사용한다. executeQuery > 1 부터 순서를 줄 수도 있고 위의 코드처럼 필드명을 줄 수도 있다. : SELECT 할때 사용한다. : 현재 flag 가 가리키는 가로 , no 에 해당하는 세로 , 교차점의 값을 int 로 리턴한다 : 교...
DAO Pattern실전에서는 data 를 읽고/쓰고/수정/삭제 하는 역할을 하는 함수는 DAO 라는 클래스에 모아서 함수 형태로 만들어 준다. ( Data Access Object )DAO 패턴의 원칙 DAO 안에는 DB 또는 데이터와 관련된 코드로만 채운다O-R M
AUTOCOMMIT : INSERT/ DELETE/ UPDATE 문장을 수행했을때 LOG 를 거지지 않고 곧바로 반영한다. AUTOCOMMIT 을 FALSE 로 지정하면 INSERT/ DELETE/ UPDATE 한 내역은 Table 에 반영되지 않고 LOG 에 쌓이게
$$ 로 끝날때 해당 SQL 을 컴파일하고 실행한다. 프로시저를 만들때 프로시저 안에 ; 로 끝나는 문장이 들어가는데 이게 보이면 컴파일 & 실행을 하기에 ; 이 보여도 컴파일 하지 않도록 미리 바꾸어 놓아야 한다. 프로시저와 유사하지만 활용도가 적은 개념으로 FUNC
HTML : Hyper Text Markup Language : 웹 브라우저에서 보여지는 문서를 작성할 수 있는 마크업 언어 html 파일 실행 > : html 5.0 문법으로 html 을 작성 와 같은 것을 TAG 라고 한다. 웬만하면 태그명은 소문자로 쓴
: 브라우저에서 동작하고, 브라우저를 조작할 수 있는 단어
NAVER CLOUD PLATFORM 의 CAPTCHA API 사용하기project p0124_1 : CAPTCHA 를 본격적으로 사용하기 전 연습BuildPath / json-20211205.jarimport java.net.URL 요청을 발생시켜 응답을 받아즐인다.
byte\[] 가 json 에서 배열형태로 들어간 것을 확인 가능getJSONArray 로 byte 배열을 가져와 (byte)data.getInt( i ) 로 배열의 요소를 얻어 buf2 에 대입한다.지정 경로에 저장된 것 확인 가능con.setUseCaches(fal
사용된 파일Model - SpringVO.java, SpringDAO.java, SpringDAO_SpringImpl.javaView - view_list.jspController - CtrlTest.java디자인은 bootstrap과 css 를 사용했다.테이블에 사용
window는 생략하는 경우가 많다.alert() 도 원래는 window.alert() , document 도 window.documentbanana라는 이름을 가진 form 태그의 apple 이라는 이름을 가진 input 태그에 입력된 내용은 it 라는 id 값을 가
c의 함수포인터JavaScript의 함수포인터javascript는 변수에 타입이 없다. 따라서 포인터 역할도 할 수 있는데 그 중 함수 포인터 역할도 한다.java의 Anonymous classJavaScript의 Aonymous functionAonymous func
동작환경에 따라서 모양을 다르게 바꾸어 가독성과 사용성의 편의를 추구하는 웹(max-width:375px) : 0~375, 구형 스마트폰(min-width:376px) : 376~, 신형 스마트폰(min-width:768px) : 768~, 태블릿(min-width:9
CSS position 초기화면 스크롤 이동 시 banana 이동하는 것을 확인 가능 : 위치를 강제적으로 지정할 수 있다. : 스크롤을 이동해도 위치가 고정된다. : 디폴트값. 브라우저가 잡는 위치에 알아