언어 19

Rust

rust language; 장점 low level programming language 인데(임베디드나 서버 등에 구축하는 언어), 같은 low level PL인 C/C++보다 메모리 성능이 좋음 (memory-safe함) TTFB(Time to first byte = 클라이언트요청 + 서버처리시간 + 서버로부터 클라이언트로 응답 시간)가 빠름 인터프리지, 가상머신 없어서 빠름. 가비지 컬렉터 없음 메모리 회수 작업 없음, 컴파일 타임이 미리 메모리 관리해서 성능 좋음 컴파일러 친절함 unsafe 코드를 사용하지 않는 한, 컴파일되는 모든 코드는 메모리 버그를 일으키지 않음이 보장됨 아주 가끔씩 safe 코드만으로 undefined behavior를 만들어낼 수 있는 구멍이 발생하지만(soundness ..

언어 2024.03.05

[web_crawling] span안에 text 가져오기

교보문고 지점별 주소 긁어오는 코드짜기 from requests import get from bs4 import BeautifulSoup url = f'https://www.kyobobook.co.kr/store?storeCode=' store_codes = { '001', '058', '015', '023', '041', '066', '033', '072', '068', '036', '046', '074', '029', '090', '056', '049', '070', '052', '013', '047', '042', '025', '038', '069', '057', '059', '087', '004', '002', '005', '024', '045', '039', '077', '031', '028',..

언어/[python] 2024.01.25

[Java] 명품 자바 프로그래밍 2장 실습문제

1번 package Study; import java.util.*; public class Sample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("2자리수 정수 입력(10~99)>>>"); int num = sc.nextInt(); if (num/10 == num%10) { System.out.println("Yes 10의 자리와 1의 자리 같습니다."); } else { System.out.println("no~ fail"); } } } 2번 package Study; import java.util.*; public class Sample { public static ..

언어/[Java] 2023.07.29

[Java] 백준 1152, 1316

1152import java.util.StringTokenizer; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); sc.close(); // st 에 공백을 기준으로 나눈 토큰들을 st 에 저장 StringTokenizer st = new StringTokenizer(s, " "); // countTokens() 는 토큰의 개수를 반환 System.out.println(st.countTokens()); } } StringTokenizer라는 걸... tringTokenizer 을 사용하..

언어/[Java] 2023.07.28

[Java] 제어문 - if, switch/case, while - do while, for, for each

if문 if(조건문){ 조건문이 참일 경우 실행되는 블록 } 조건문: t/f 결과가 나오는 조건문이 와야함 연산자 x && y :(and) x와 y 모두 참이어야 참이다 x || y : (or) x와 y 둘 중 적어도 하나가 참이면 참이다 !x : (not) x가 거짓이면 참이다 예제 : "돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어가라" int money = 2000; boolean hasCard = true; if (money>=3000 || hasCard) { System.out.println("택시 타기"); } else { System.out.println("걸어가라"); } /* money는 3000보다 작지만, hascard가 true 따라서 money >= 3..

언어/[Java] 2023.07.28

[Java] 비트 연산자, 타입변환, 문자(char)타입

0. 비트 연산자 비트와 바이트 bit = 컴퓨터가 처리하는 정보의 최소 단위 / 한 개만 저장 불가능(데이터 나타내기에 턱없이 부족) / 8개 비트 묶은 byte 사용 1byte는 0000000 부터 11111111까지 값 표현 가능 1byte를 정수로 표현하면 0~254까지 표현 가능(부호 비트가 없다고 가정) 1byte를 16진수로 표현하면 00~FF까지 표현 가능(4비트는 0~15까지 표현가능하기 때문) 비트 연산자 (비트 단위로 논리 연산을 할 때 사용하는 연산자) 정수형 타입을 비트로 표현했을 때, 맨 좌측 비트 = 부호화비트 / 1이면 음수, 0이면 양수 > : 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴 우측으로 n 쉬프트 연산을 하라는 것 = 2^n 으로 나눈 결과값이..

언어/[Java] 2023.07.25

[Java] 자바 자료형 - 문자열(String), StringBuffer, 배열(Array), 리스트(List), 맵(Map), 집합(Set), Enum

문자열 문자열 new 키워드 -> 객체를 만들 때 사용 String a = new String("Happy Java"); String b = new String("a"); String c = new String("123"); int, long, double, float, boolean, char 자료형을 원시(primitive) 자료형 -> new 키워드로 값 생성 불가, 아래와 같이 리터럴로만 값 세팅 가능 (String 은 리터럴 표기 가능이지만 primitive 아님) boolean result = true; char a = 'A'; int i = 100000; 문자열 메서드 1. equals String a = "hello"; String b = new String("hello"); System...

언어/[Java] 2023.07.19

[web_crawling] 웹 스크래퍼 만들기 1 - weworkremotely 사이트

from requests import get from bs4 import BeautifulSoup base_url = 'https://weworkremotely.com/remote-jobs/search?term=' search_term = "backend" response = get(f"{base_url}{search_term}") if response.status_code !=200: #200이어야 웹사이트에 접근 가능 print("Can't request website") else: results = [] soup = BeautifulSoup(response.text, "html.parser") #response.text->웹사이트 코드 줌 jobs = soup.find_all('section', c..

언어/[python] 2023.05.23

[Java] 백준 2675, 1431(작성 중), hasNext()

문자열 반복 어캄... 중간고사 기간 때 스터디 쉬었떠니 감을 다 잃음... 이중 for문도 일단 쓰고 한참을 고민하다 이해함 나의 시행착오1... 멍청하게 num으로 저렇게 더해버렸음 그리고 print를 어디다가 써야할지 고민함...하 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for (int i=0; inext로 입력받기 for(int j=0; j 두 번째 문자* R ... ~ 해서 최종적으로 3 ABC를 입력했다면 AAABBBCCC가 입력되도록 문자열 관련 메소드 https://chb..

언어/[Java] 2023.05.18

[data classification] whiskey classification 첫 번째 난관1 - csv2arff

[하게 된 이유] 데이터 사이언스개론 수업을 듣다가 위스키 분석 예시가 나오는데 내가 좋아하는 맛과 비슷한 위스키를 추천해주는 예시였음 이건 해봐야겠다. 내가 좋아하는 위스키랑 비슷한 거 찾아보면 얼마나 좋겠니 그래서 우선 weka tool 을 이용하면 편하지 않을까? 하는 맘에 weka로 시작~ 우선 단계 1. whiskey dataset 찾기 arff 파일은 안나와서 csv 파일을 찾음 1) https://github.com/makispl/Machine-Learning-Whiskey-Dataset/blob/main/whiskey_data.csv 근데 이 data의 문제가 있긴함 이 file에서 분류를 해놓은 건 'name', 'category', 'rating', 'alcohol', 'age', 'p..

언어/[python] 2023.05.12

[Java] 백준 2562, 5597 / 확장for문(:), nosuchelement, indexOf

-확장for문(:) for문 사용 많이 하다가 새롭게 알게 된 것 https://developer-yeony.tistory.com/84 자바 반복문 - for문/확장 for문(향상된 for문) 자바 반복문에 대해서 알아보자. 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고 하며, 제어문에는 조건문과 반복문이 있다. 반복문은 조건에 따라 문장이 반복 수행되도록 한다 developer-yeony.tistory.com 백준 2562 번 import java.util.Scanner; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int iNum=0; int iMax=0; int[] iA..

언어/[Java] 2023.04.12

[python] 백준 2562

오답 이유 찾기 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net #시도1 import sys data=[sys.stdin.readline() for i in range(9)] print(max(data)) print(data.index(max(data))+1) 이렇게 했더니 출력될 때 85 8 이런식으로 출력되길래 #시도2 import sys data=[sys.stdin.readline() for i in ran..

언어/[python] 2023.02.09

[python] map함수/EOF/format함수

입력 받기 문법 input() 대신 여러 값을 입력받을 때 정말 자주 사용하는 문법 a,b=map(int,input().split()) split() 은 공백으로 문자열을 구분함을 뜻함. 괄호 안에 특정 값 넣어주면 그걸로 문자열 나눔. map 함수는? - 반복 가능한 객체(리스트 등)에 대해 각각의 요소들을 지정된 함수로 처리해주는 함수 - map(적용시킬 함수, 적용할 값들) 같은 형식이라곤 하는데... 실제로 써봐야 이해가 빠르다. a=list(map(int,input().split()[:n])) 이렇게 오늘 내가 쓴 코드 중 하나를 보면 map 객체를 list형으로 바꿔주는... 이 코드는 정수를 한 줄에 입력 받아서 list에 저장하는 코드다. (솔직히 익숙해져서 얼렁뚱땅 이해하고 그냥 저대로 ..

언어/[python] 2023.02.09