Before 2022/Java & Spring 3

Jsoup를 활용한 게티이미지 썸네일 크롤링

해당 사이트의 썸네일 이미지를 크롤링하여 파일로 저장하는 방법을 적어두려한다. Collaboration ストックフォトと画像 | Getty Images 複数素材のダウンロード 複数の素材をダウンロードするには、該当する絞り込み機能のフィルターをオンにしてください。 www.gettyimages.co.jp 구조를 파악하기 위해 일단 F12를 클릭한다. 구조를 파악해보자면, 썸네일 이미지들을 클래스 이름이 search-results인 section 태그가 감싸는 형태이며 각각의 썸네일 이미지 태그는 img src="...." 형식으로 되어있는 것을 볼 수 있다. 소스는 아래와 같다. import org.jsoup.Jsoup import org.jsoup.select.Elements import java.io.File im..

내부 클래스와 중첩 클래스의 차이점

public class Test { private int i = 0; // 내부 클래스(Inner) // 외부 클래스의 필드나 메소드를 자유로이 이용 가능하나 // 외부 클래스가 인스턴스화 된 이후부터 동작한다. class inner { void add() { System.out.println(++i); } } // 중첩 클래스(Nested) // 외부 클래스의 static 영역에만 접근 가능함. // 외부 클래스를 인스턴스화 하지 않아도 바로 사용 가능한 내부 클래스(간편함) // Builder 패턴의 Builder class static class nested { static int j = 0; static void add() { System.out.println(++j); } } public sta..

자정(다음날 0시)이 될 때마다 특정 로직 실행하기

알람 메소드 public static void resetAlarm(Context context){ AlarmManager resetAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent resetIntent = new Intent(context, 로직 클래스); PendingIntent resetSender = PendingIntent.getBroadcast(context, 0, resetIntent, 0); // 자정 시간 Calendar resetCal = Calendar.getInstance(); resetCal.setTimeInMillis(System.currentTimeMillis()); resetC..