본문 바로가기

프로그래밍/JAVA39

38 JAVA/크롤링: 요리 레시피 조회 프로그램 제작 크롤링을 하는것은 자유이지만, 타인의 콘텐츠를 무단으로 사용하여 상업적인 용도로 사용하는 것은 불법입니다! 글을 시작하기전, 저는 상업적 목적이 아닌 프로젝트용(공부용)으로 크롤링을 한 것임을 밝힙니다. 계기 학원에서 정식 웹 프로젝트를 하기전, 자바를 통해 간단한 미니 프로젝트를 하게 되었다. 우리 조에서 정한 주제는 만개의 레시피와 같은 기능을 가지고 있는 요리 레시피 프로그램 이였다. 설명 분류 설명 프로젝트명 원조의 레시피 기능 ▪ 만개의 레시피 크롤링을 통한 레시피 검색 및 조회 ▪ 레시피보관함(검색을 통해 원하는 레시피 저장, 유저가 직접 작성하여 레시피저장) ▪ 게시판(유저소통 게시판, 레시피 소통게시판) ▪ 마이페이지(레시피 보관함 조회, 내 정보 수정, 내 작성글 조회) 특징 회원과 비회.. 2021. 7. 12.
JAVA 필수 단축키 JAVA 필수 단축키 단축키 설명 Alt + Shift + N 프로젝트 생성하기 Ctrl + N 패키지, 클래스,... 생성하기 Ctrl + + 글자 확대 Ctrl + - 글자 축소 Ctrl + Spacabar 자동완성 Ctrl + F11 실행하기 syso + Ctrl + Spacabar println() 메소드 Ctrl + / 한줄 주석처리(해제) , // Ctrl + Shift +/ 여러줄 주석처리, /* */ Ctrl + Alt + 위아래방향키 선택한 줄 위 아래로 복사 Ctrl + Shift + F 자동 정렬 Alt + Shift + S > C 부모 클래스의 생성자 가져와서 만들기 Alt + Shift + S > O 필드를 이용해서 생성자 만들기 Alt + Shift + S > R getter ,.. 2021. 5. 27.
37 멀티쓰레드를 이용한 문제 풀이 문제 자바 단과반에서 풀어본 문제 풀이 ( •̀ ω •́ )✧ 동물원에 동물 3마리가 있다. 각 동물은 울음소리가 다르고 2마리의 동물은 동시에 운다. 나머지 1마리 동물은 2마리 동물이 모두 울고 나서 마지막에 운다. 클래스는 총 2개를 사용하고 하나의 클래스에는 main메소드가 있다. Runnable 인터페이스로 멀티쓰레드를 구현하고 반드시 join()을 사용한다. ※각 동물은 10번씩만 운다. 제한시간 : 20분 Animals 클래스 public class Animals extends Thread{// Thread 상속 private String sounds;//동물의 울음소리를 저장할 String 타입 변수 sounds public Animals(String sounds) { //생성자 super.. 2021. 5. 4.
36 동기화(synchronized) 동기화(synchronized) 멀티 쓰레드 프로세스에서는 다른 쓰레드의 작업에 영향을 미칠 수 있기 때문에, 진행중인 작업이 다른 쓰레드에 간섭 받지 않게 하려면 동기화가 필요하다. 동기화를 쉽게 말하자면, 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것이다. 동기화를 하려면 간섭받지 않아야 하는 문장들을 '임계 영역'으로 설정하며, 임계 영역은 락(lock)을 얻은 단 하나의 쓰레드만 출입이 가능하다. 동기화 사용 목적 1. 하나의 쓰레드가 실행중일 때 다른 쓰레드가 동시에 같은 필드를 사용하지 못하도록 막기 위해서 2. 쓰레드를 제어하기 위해서 - wait() : 쓰레드 대기(멈추기) - notify() : 쓰레드 재시작(멈춘 애 다시 시작) 동기화 구현 방법 1. 클래스나 메소.. 2021. 5. 4.
35 Thread Thread 쓰레드에 대해 알기 전, 프로그램과 프로세스에 대해 간단하게 알아보자 프로그램 실행 안 된 상태 프로세스 실행된 프로그램. 운영체제로부터 시스템 자원을 할당받는 작업의 단위. 운영체제 대신 JVM에 스케줄링 요청을 통하여 쓰레드가 실행된다. 스레드(thread)란? 스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 한다. 단일쓰레드 멀티쓰레드 설명 앞의 작업이 안되면 뒤에도 안된다. 하지만 동시에 시작하지 않기 때문에 한 개에 오류가 발생해도 다른 작업은 이상이 없다.. 2021. 5. 4.
34 Map 컬렉션 클래스(HashMap) Map 컬렉션 클래스 Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다. Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용한다. 여기서 키(key)란 실질적인 값(value)을 찾기 위한 이름의 역할을 한다. Map 컬렉션 클래스의 특징 1. 요소의 저장 순서를 유지하지 않습니다. 2. 키는 중복을 허용하지 않지만, 값의 중복은 허용합니다. Map 컬렉션 클래스에 속하는 대표적인 클래스 1. HashMap 2. Hashtable 3. TreeMap 이 중 HashMap에 대해 알아보자 :) HashMap HashMap 클래스는 Map 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나이다. JDK 1... 2021. 4. 29.
33 Set 컬렉션 클래스(HashSet) Set - 집합 : 중복을 배제한다. - 목적 : 값의 유무 검사 [특징] 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장을 허용하지 않는다. 이러한 Set 컬렉션 클래스에 속하는 대표적인 클래스는 아래와 같다. 1. HashSet 2. TreeSet 이 둘중 HashSet에 대해 알아보자 HashSet - 컬렉션에 HashSet 클래스는 set을 상속받아 순서가 없고 중복이 불가하다. - 값(객체,데이터)을 중복해서 저장할 수 없다. - 저장된 값들은 인덱스가 없기 때문에 저장 순서가 고정되어 있지 않다 - 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠르다. * HashSet 사용법 여러 HashSet메소드를 사용하여 , 학생을 관리하는 예제를 살펴보.. 2021. 4. 29.
32 접근 권한 제어자(접근자) 접근 권한 제어자(접근자) 객체 지향에서 정보 은닉(data hiding)이란 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념이다. 그렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 된다. 자바에서는 이러한 정보 은닉을 위해 접근 제어자(access modifier)라는 기능을 제공하고 있다. 접근 제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지 않는 멤버를 설정하여 정보 은닉을 구체화할 수 있다. 자바에서는 다음과 같은 네 가지의 접근 제어자를 제공한다. 1. default 2. public 3. protected 4. private 1) default 자바에서는 클래스 및 클래스 멤버의 접근 제어의 기본값으로 default 접근 제.. 2021. 4. 22.
31 ArrayList를 사용한 문제 풀이 학원 단과 수업에서 풀어본 문제들 (ノ◕ヮ◕)ノ*:・゚✧ 1. ArrayList 선언 후 10부터 100까지 10단위로 넣기 ArrayListarr = new ArrayList(); // Integer 타입 ArrayList선언 for (int i = 1; i 2021. 4. 22.
반응형