728x90
반응형

분류 전체보기 279

[Java] public static void main(String[] args) 분석

class 클래스 이름 { public static void main(String[] args) { } } public static void main(String[] args) 는 main메서드의 선언부로 프로그램을 실행할 때 'java.exe'에 의해 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어주어야 한다. - public 접근 제한자의 종류로는 pulbic, private, protected가 있다. main 함수 모든 실행프로그램의 기본이기에 어디에서나 접근할 수 있어야 한다. 따라서 제한자로 public을 사용하여야 한다. +) private는 자기 자신 클래스 안에서만, protected는 자기 자신 클래스 안, 같은 패키지 또는 자식 클래스에서만 사용 가능 - static 메모리..

[Java] JDK와 JRE

- JDK - 자바개발도구(Java Development Kit) - JVM과 JRE에 실행되고 구동될 수 있는 자바 프로그램을 생성할 수 있게 해줌 - JRE + 개발에 필요한 실행파일(javac.exe 등) - JRE - 자바실행환경(Java Runtime Environment) - 자바로 작성된 응용프로그램이 실행되기 위한 최소환경 - JRE는 주로 다른 구성 요소의 컨테이너이며 각 구성 요소의 활동을 조율하는 역할 - JVM(Java Virtal Machine) + 클래스라이브러리(Java API) + 자바 클래스 로더(Java Class Loader)

[Java] Java의 특징

1. 운영체제에 독립적 - 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM(Java Virtual Machine)하고만 통신하기 때문이다. - JVM이 자바 응용프로그램으로 부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달함. - JVM은 운영체제에 종속적임. (+) JVM의 2가지 기본 기능은 1) 자바 프로그램이 운영체제에 독립적이게 하는 것(Write once, run anywhere) 2) 프로그램 메모리를 관리하고 최적화 하는 것(Garbage Collection 프로세스를 통해 메모리 관리) 2. 객체지향언어(Object-oriented programming laguage) - 다음과 같은 특징을 가짐. 1) 캡슐화 : 변수와 함수를 하나의 단위로 묶는 것 (+) 정보..

[Computer Architecture] Computer abstraction & Technology

Understanding Performance Algorithm: Determines number of operations executed. ex) sorting, matrix multiply Programming language, compiler, architecture: Determine number of machine instructions executed per operation Programming language: ex) Using object oriented language, you may require accessing memory multiple times when accessing data. Compiler: This is because the degree of optimization ..

[해커톤] 나무톤(NAMUTHON) 2023 후기

과 공지방에서 구글 개발자 그룹(GDSC)에서 주최하는 연합 해커톤 행사가 열린다는 소식을 접하고, 해커톤에 도전해보기로 결심했습니다. 처음 참여하는 해커톤이었고, 과제 외에 새로운 것을 만들어내는 경험에 흥미를 느껴 참가했습니다. 개인 참가로 팀이 랜덤으로 배정되었고, 팀원들과 함께 마루180에서 해커톤을 시작했습니다. 입장 시간이 12시로 예정되어 있었으나, 혼잡이 예상되어 20분 정도 일찍 도착하는 것이 좋다는 안내가 있었습니다. 따라서 11시 40분쯤 입장하여 세팅이 진행 중인 것을 확인했고, 12시에 QR코드를 찍고 입장했습니다. 해커톤 입장 시에는 다양한 굿즈들을 받을 수 있었고, 해커톤 기간 동안 음료와 간식을 마음껏 즐길 수 있어서 좋았습니다. 개회식 후에는 아이스브레이킹이 진행되었지만, ..

나의 경험 2023.12.30

[Python] 정규표현식

- 정규표현식(Regular expression, regex) 프로그래밍에서 문자열을 다룰 때 문자열의 일정한 패턴을 표현하는 일종의 형식 언어 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 프로그래밍에서 사용되는 공통 문법 대괄호([]): 대괄호 안에 포함된 문자들 중 하나와 매치. [] 안의 두 문자 사이에 하이폰(-)을 입력하면 두 문자의 사이의 범위를 의미. [] 안의 ^는 반대를 뜻함. [cd] : 문자들 중 c 또는 d가 하나 이상 있으면 된다. [a-e]: [abcde]와 동일 [1-3]: [123]과 동일 [^0-9]: 숫자를 제외한 문자만 [^abc]: a,b,c를 제외한 모든 문자와 매치 \d: 숫자와 매치. [0-9]와 동일한 표현식 \D: 숫자가 아닌 것과 매치. [^0-9]..

[Python] Selenium을 이용한 동적 크롤링

- 정적 데이터와 동적 데이터의 차이 정적 데이터: 한 페이지 안에서 원하는 정보가 모두 드러나는 것 동적 데이터: 입력, 클릭, 로그인 등을 통해 데이터가 바뀌는 것 일반적인 크롤링으로는 정적 데이터(변하지 않는 데이터)만 수집할 수 있습니다. - Selenium 셀리니움을 이용하면 정적 페이지와 동적 페이지를 모두 크롤링할 수 있지만 상대적으로 속도가 느립니다. 구분 정적 크롤링 동적 크롤링 사용 패키지 requests selenium 수집 커버리지 정적 페이지 정적 / 동적 페이지 수집 속도 빠름 상대적으로 느림 파싱 패키지 beautifulsoup beautifulsoup / selenium 다양한 브라우저 및 플랫폼에서 웹 응용 프로그램을 테스트할 수 있게 해줍니다. 웹 자동화 테스트 용도로 개..

[Python] 크롤링(Crawling)

- 크롤링 주의 사항 특정 웹사이트의 페이지를 쉬지 않고 크롤링하는 행위를 무한 크롤링이라고 하는데, 이는 해당 웹사이트의 자원을 독점하게 되어 타인의 사용을 막게 되며 웹사이트에 부하를 줍니다. 일부 웹사이트의 경우 동일한 IP로 무한 크롤링을 할 경우 해당 IP의 접속을 막아버리기도 합니다. 그렇기에 하나의 페이지를 크롤링한 후 1~2초 가량 정지하고 다시 다음 페이지를 크롤링하는 것이 바람직합니다. 신문기사나 책, 논문, 사진 등 저작권이 있는 자료를 통해 부당이득을 얻는다는 등의 행위를 할 경우 법적 제재를 받을 수 있습니다. 서버에 데이터를 요청하는 형태는 다양하지만 크롤링에서는 주로 GET과 POST 방식을 사용합니다. - GET 방식 인터넷 주소를 기준으로 이에 해당하는 데이터나 파일을 요청..

[Python] Python과 SQL 연결

- pymysql 파이썬에서 SQL DB에 접속할 때 사용하는 패키지 입니다. pymysql이 설치되어 있지 않은 경우 다음과 같이 설치하면 됩니다. # window, mac pip install pymysql # conda conda install pymysql - SQL에서 데이터 불러오기 import pymysql con = pymysql.connect( user = 'root', # 사용자명 passwd = '1234', # 비밀번호 host = '127.0.0.1', # 허용 접속 IP. 일반적으로 localhost는 127.0.0.1 db = 'shop', # 사용할 데이터베이스 charset = 'utf8' # 인코딩 방법 ) # 로컬 DB 뿐만 아니라 aws와 같은 클라우드도 연결 가능 m..

728x90
반응형