일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 입출력
- 세션
- 자바
- MySQL
- 메모장
- jdbc
- Python
- javascript
- 형태소 분석기
- java
- 파일 저장
- 개발자
- 크롤링
- 프로그래밍
- 셀레니움
- 코딩
- 프로그래머스
- 파이썬
- 모바일
- Programmers
- android
- 이진 변환 반복하기
- js
- 자바스크립트
- 유튜브
- 개발
- jsp
- 데이터베이스
- 함수형 인터페이스
- n^2 배열 자르기
- Today
- Total
목록코딩 (17)
개인용 복습공간

text 크롤링을 위해 스크롤바를 내리는 코드를 작성하여 DB에 넣어보려고 한다. 저번에 이용한 테이블을 수정하여 Column을 추가한다. 유튜브에서 롤로 입력했을 때 유튜버의 이름, 채널 url을 가져와보려고 한다. 그리고 간단하게 스크롤바를 내리는 동작을 하는 코드를 작성했다. crawl_data.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 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 import selenium from selenium import webdriver from time i..

쿠키와 세션의 정의, 사용방법에 대해서 공부해보려 한다. 세션 (Session) 세션의 동작은 클라이언트가 처음 접속했을 때 세션 ID를 부여하고, 서버에 세션 ID를 저장하고 메모리 공간을 확보한다. 다시 클라이언트가 접속했을 때 부여된 세션 ID를 이용해서 클라이언트를 구분한다. 세션 메모리 공간에 세션 속성과 값들을 저장하고 검색한다. 세션 객체의 메서드 getAttribute(String name) name이란 이름에 해당되는 속성 값을 Object타입으로 반환한다. 해당되는 이름이 없을 경우에는 null을 반환한다. getAttributeNames() 속성의 이름들을 Enumeration 타입으로 반환한다. getCreationTime() 1970년 1월 1일 자정을 기준으로 하여 현재 세션이 ..

쿠키와 세션의 정의, 사용방법에 대해서 공부해보려 한다. 세션과 쿠키의 사용 목적 상태가 없는(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 public void loadFile(String fn){ try { FileReader fin = new FileReader(new File(fn)); ta.setText(""); int c= 0; while((c=fin.read())!=-1) { String s = String.valueOf((char)c); ta.append(s); } fin.close(); } catch (IOException e) { e.printStackTrace(); } } public void saveF..

메모장의 인터페이스와 간단한 기능을 만들어보려고 한다. 메모장 메모장의 인터페이스 간단하게 파일 메뉴만 만들어 보려고 한다. 메모장 코드 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..