일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- jsp
- jdbc
- 입출력
- n^2 배열 자르기
- 셀레니움
- Python
- 개발자
- 함수형 인터페이스
- 프로그래밍
- 파이썬
- 세션
- 개발
- 크롤링
- javascript
- 형태소 분석기
- 코딩
- 프로그래머스
- 모바일
- 메모장
- 이진 변환 반복하기
- MySQL
- java
- 데이터베이스
- 파일 저장
- android
- Programmers
- 자바
- 자바스크립트
- js
- 유튜브
- Today
- Total
목록프로그래밍 (14)
개인용 복습공간

쿠키와 세션의 정의, 사용방법에 대해서 공부해보려 한다. 세션과 쿠키의 사용 목적 상태가 없는(stateless or connectionless) 프로토콜인 HTTP에서 상태(연결) 정보를 유지하기 위해서 사용한다. HTTP는 작업을 마치면 연결을 해제하는 방식으로 동작 Connection의 지속성이 없으므로 자신에게 접속한 클라이언트를 구분 못함 서로 연관 없는 페이지를 접속할 때 효율적 HTTP의 비연결성을 보완하기 위해서 클라이언트와 서버간에 연결(상태)를 유지하기 위한 방법이 필요하다. 세션과 쿠키 쿠키는 클라이언트의 상태 정보를 클라이언트의 컴퓨터에 저장하고 저장된 정보(텍스트)를 다른 사람 또는 시스템이 볼 수 있는 단점이 있다. 유효시간이 지나면 사라진다. 세션은 서버의 메모리에 클라이언트의..

PreparedStatement를 공부하고 회원관리 프로그램을 만들어보려고 한다. PreparedStatement 사용하기 PreparedStatement SQL의 틀을 미리 정해놓고, 나중에 값을 지정하는 방식으로 반복되는 질의문 수행에 효율적이다. 미리 컴파일된 SQL문을 사용하기 때문에 Statement에 비해 실행 속도가 빠르다. PreparedStatement pstmt = conn.prepareStatement(SQL); - PreparedStatement 객체 생성 1 2 3 String sql = "insert into tblRegister (id, name) values(? , ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); cs ..

크롤링한 text를 pymysql을 이용해 DB에 넣어보려고한다. MySQL Workbench를 이용해 일단 DB와 테이블을 하나 만든다. pip install pymysql을 cmd창에서 설치해주고 import 해준다. dbtest.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import selenium from selenium import webdriver from time import sleep import time import pymysql URL = 'https://www.youtube.com/c/yangdailOfficial/videos' driver = webdriv..

파일 채널을 공부하고 파일 채널을 이용한 메모장을 만들어보려고 한다. 파일 채널 NIO 기반의 데이터 흐름을 위한 수단을 제공하려는 클래스이다. 입출력을 양방향으로 지원하고 기본적으로 버퍼를 이용한다. java.nio.channels 패키지에 있는 추상 클래스이고 일반적으로 소용량 파일을 처리할 땐 FileChannel이 빠르지만 대용량 파일이라면 IO 기반의 파일 처리보다 복잡하고 성능이 떨어질 수 있다. 객체 생성은 FileInputStream이나 FileOutputStream의 getChannel(), FileChannel의 open()로 생성한다. open()의 Option에는 읽기용 : StandardOpenOption.READ 쓰기용 : StandardOpenOption.WRITE 신규 파일 ..

메모장의 인터페이스와 간단한 기능을 만들어보려고 한다. 메모장 메모장의 인터페이스 간단하게 파일 메뉴만 만들어 보려고 한다. 메모장 코드 Notepad.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 import java.awt.BorderLayout; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JMenu; import ..

스트림과 스트림을 이용한 입출력 처리를 해보려 한다. 스트림 스트림은 데이터 집합체를 반복적으로 처리한다. 스트림을 이용하면 다수의 스레드 코드를 구현하지 않아도 데이터를 병렬로 처리할 수 있다. 스트림은 데이터와 스트림 연산의 개념을 모두 포함한다. 컬렉션이 데이터의 공간적 집합체라면, 스트림은 데이터의 시간적 집합체이다. 컬렉션은 데이터 원소의 효율적인 관리와 접근에 맞게 설계되어 있지만, 스트림은 데이터 원소에서 수행할 함수형 연산에 맞게 설계되어 있다. 그리고 스트림을 사용하면 코드가 간단해지고 오류 발생 확률이 줄어든다. 스트림과 컬렉션 비교 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 impor..

사용자 간의 상호작용을 위한 간단한 이벤트 처리 과정을 다뤄보려 한다. 기본 이벤트 처리 컴퓨터를 사용할 때 프로그램이 반응하도록 사용자가 생성하는 작업이다. 키보드의 키를 누르는 것이 대표적이며, 마우스 버튼을 누르거나 마우스를 이동하는 것 따위가 있다. 기본 이벤트 종류 클릭 OnClickListener Void onClick (View v) 포커스 변경 OnFocusChangeListener Void onFocusChange (View v, boolean hasFocus) 롱클릭 OnLongClickListener Boolean onLongClick (View v) 키 (특정 위치를 사용하는 경우) OnKeyListener Boolean onKey (View v, int keyCode, KeyEve..

간단하게 유튜브에 text를 크롬 드라이버와 셀레니움을 이용해 가져와보려고 한다. 유튜브 채널에 들어가 우클릭 - 검사를 눌러서 가져올 텍스트를 확인한다. ctrl + shift+ i를 눌러서 할 수 있다. 동영상의 제목, 유튜버, 동영상 업로드 시기, 동영상 길이, 조회수, 동영상 url이 들어있는 text의 요소를 찾는다. XPath를 복사해서 코드에 넣어준다. 셀레니움은 pip install selenium으로 cmd창에서 설치할 수 있다. crawling_one.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import selenium from selenium import webdriver from time import sleep import time ..

자바 빈즈와 Connection Pool을 이용한 데이터베이스 연동방법을 알아본다. 자바 빈즈를 이용한 데이터베이스 연동 자바 빈즈를 사용하여 데이터베이스와 연동 데이터베이스에 관련된 자바 코드를 JSP 페이지에 스크립트릿으로부터 분리한다. 예를 들어 JDBC 코드들은 RegisterMgr.java에 레코드들은 RegisterBean.java에 분리했다. 자바 빈즈로 데이터베이스 연동 예제 [JSP] JDBC로 데이터베이스 연동 - 1 (스크립트릿) 에서 사용했던 usingJDBCjsp.jsp를 분리하려 한다. RegisterBean.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3..

함수형 인터페이스에 대해 자세히 알아보려 한다. 함수형 인터페이스 응용 Predicate 인터페이스 Predicate 인터페이스 유형 Bi, Double, Int, Long을 접두어로 붙인 변종이 있다. Predicate 유형은 다음과 같이 정의한다. Predicate p = t -> { T 타입 t 객체를 조사하여 논릿값으로 변환하는 실행문; }; Predicate 인터페이스 실습하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.function.IntPredicate; import java.util.function.Predicate; public class PredicateEx { public static void main(S..