Programming
-
웹 크롤러와 서버,클라이언트 간단 정리Programming/web 2022. 3. 14. 22:33
1. 크롤러 크롤러는 WWW(world wide web)인 인터넷 속을 자유롭게 다니는 프로그램을 의미한다. 크롤러 = 스크래퍼 = 지능 에이전트 = 봇 = 스파이더 크롤러가 동작하는 것을 크롤링, 스크래퍼가 동작하는 것을 스크래핑이라고 한다. 정확히는 페이지를 돌아다니는 행위를 크롤링, 특정 페이지의 데이터를 수집하는 행위는 스크래핑이다. 2. 크롤러를 만들어야 하는 이유 1) 데이터 생산 2GB는 바이트로는 20억 바이트로 2바이트 크기를 가진 한글 문자 1억 자에 해당하는 양의 데이터이다. 데이터가 생산되고 데이터를 접하는 양이 점점 더 많아져 직접 데이터를 수집하기 쉽지 않다. 2) 데이터 사용 인공지능, 머신러닝, 딥러닝 분야에서 학습용 데이터로 많은 양을 필요로 한다. 데이터가 많을 수록 예측..
-
[pandas] 기초 입문 1 - 데이터프레임, 시리즈Programming/Python 2022. 3. 8. 17:31
0. pandas? python 라이브러리로 데이터를 수정하고 목적에 맞게 변경시키기 위해 사용되는 중요한 라이브러리이다. python 실습 import pandas as pd #pandas를 pd로 사용하겠다는 의미 data_frame = pd.read_cav('data/list.csv') #list.csv라는 csv 파일을 가져와서 data frame 형성 * 엑셀과 팬더스의 차이 팬더스는 numpy를 사용하였기에 숫자 연산에 강력하다. (엑셀보다 계산이 매우 빠르다) ex data_frame.head() #처음부터 5개까지만 보여줌 data_frame.head(2) #처음부터 2개까지만 보여줌 data_frame.tail(2) 1. 데이터 프레임, 시리즈 data_frame은 시리즈의 결합체이다. ..
-
[AJAX] 서버-클라이언트 비동기 통신Programming/web 2022. 3. 6. 23:40
서버-> 클라이언트로 데이터를 보내는 형식은 JSON으로 key:value 값으로 되어 있는 형식이다. GET 방식: 헤더가 없다. 데이터 조회를 요청하는 경우에 사용 POST 방식: 헤더가 있어서 대량의 정보를 전송 가능하다. 데이터를 생성, 변경, 삭제 할 때 사용한다. 1. Jquery html의 사이에 아래 코드를 삽입 2. ajax 기본 형식 html의 제일 하단에 사이에 아래 내용을 삽입 function test(){ $.ajax({ type: "GET", //GET방식으로 요청 url: 'http://localhost:5000?q=test', //요청할 url주소를 기입한다. q값은 test로 한다. data: {}, //요청하면서 주는 데이터, GET방식이라면 비워둔다. success: f..
-
[Android Studio-java] SQLite 사용법Programming/Android 2021. 7. 7. 23:43
SQLite란? 모바일 환경에 최적화된 DB. 즉, 안드로이드 앱 안에 내장되어있는 DBMS를 말한다. 1. SQLite를 명령 프롬프트에서 접속 명령프롬프트 단축키는 윈도우키+R 한다음에 cmd를 입력함. 1) 안드로이드에서 avd 실행 2) 명령프롬프트에서 adb.exe 폴더로 이동 (위치는 \sdk\platform-tools\) (만일 기본 값으로 설치했다면 c:\users\사용자명\AppData\Local\Android\SDK\platform-tools\ 폴더) cd c:\CookAndroid\SDK\platform-tools\ DIR adb.exe adb root //root 권한으로 adb 재시작 adb shell //셸 실행해서 AVD 내부로 접근 cd \data\data\com.cookan..
-
swap과 정렬 알고리즘Programming/Java 2021. 7. 5. 15:11
1. swap //a, b, temp는 모두 int형 변수이다. if(a>b){ int temp = a; a = b; b = temp; } 2. 정렬 알고리즘 import java.util.Scanner; public class BubbleSort{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); //개수를 입력받아서 저장 int [] data = new int [n]; for(int i=n-1; i>0; i++){ for(int j=0;j data[j+1]){ int temp = data[j]; data[j] = data[j+1]; data[j+1] = te..
-
[Java] 안드로이드 파일 처리의 기본Programming/Android 2021. 7. 2. 14:33
안드로이드에서 파일을 읽고 쓰는 방법에는 1) java에서 제공하는 파일 관련 클래스를 이용하는 방법 2) 안드로이드에서 제공하는 파일 관련 클래스를 사용하는 방법 두 가지가 있다. 1. 내장 메모리 파일 처리 앱을 종료했다가 재실행할때 사용했던 곳부터 이어서 작업하고 싶은 경우. 내장 메모리의 저장 위치는 /data/data/패키지명/files 폴더 이다. 1) openFileOutput() / openFilleinput()으로 파일 열기 2) read()/ write()로 파일 읽기/쓰기 3) close()로 파일 닫기 순으로 내장 메모리에서 파일을 처리한다. //내장 메모리에 파일을 쓰는 코드 FileOutputStream outFs = openFileOutput("file.txt", Context..
-
간단한 문제 풀이Programming/Java 2021. 6. 30. 17:49
1. 1부터 입력 받은 수 사이에 있는 모든 소수들을 출력하는 프로그램 배경지식: -입력 받은 수를 n이라고 하자. -1은 소수가 아니다. -2부터 n-1까지로 나눴을때 하나라도 나누어 떨어지는 수가 있다면 소수가 아니다. -n의 약수가 n/2보다 클 수 없기 때문에 2부터 n/2 사이의 정수로 나누어 떨어지는지 확인하는 것이 낫다. -2부터 n/2까지의 정수보다 2부터 루트n까지의 정수로 나누어 떨어지는지 확인하는 것이 더 낫다. 따라서 for(int j=2; j
-
[기본 문법 정리] 2. 배열Programming/Java 2021. 6. 30. 16:08
1. 배열 선언 int [] grades; //정수형 배열 선언 grades = new int [5]; //크기가 5인 정수형 배열이 만들어짐 합치면 int[] grades = new int[5]; char [] word; word = new char[10]; //합치면 char[] word = new char[10]; 2. 문제(1) 배열을 이용한 간단한 프로그램 사용자로부터 n개의 정수를 입력받아서 정수들의 합과 최댓값을 구하는 프로그램 //n개의 정수를 입력받아 //합과 최대값을 구하여 출력하는 프로그램 import java.util.Scanner; public class Example01 { public static void main(String[] args) { Scanner scanner = ..