Minnnning's logs

공지사항 크롤링 및 데이터 저장(4)

공지사항을 크롤링하기 하기위해 셀레니움을 사용하고 목록을 추출한다 각 공지사항의 세부내용도 필요하기 때문에 다시 한번 해당 url에 접근해서 세부 내용을 가져와 db에 저장한다 각 학과별 공지사항을 크롤링한다 모든 페이지들이 형식이 비슷하다면 쉽겠지만 모두 다르기 때문에 다른 코드를 작성해야한다 그래도 코드 중복을 최대한 줄이기 위해서 하나의 클래스를...

스위프트의 프로퍼티 래퍼

프로퍼티 래퍼는 생소한 개념인데 클래스나 구조체에서 생성한 연산 프로퍼티들이 유사한 패턴을 갖는 경우가 빈번하다 이때 연산 프로퍼티의 로직을 공유하는 방법은 해당 코드를 복사해서 클래스나 구조체에 포함 시키는 것이 유일한 방법이다 이방법은 비효율적일 뿐만 아니라 수정하려면 모두 일일이 수정해야한다 프로퍼티 래퍼를 이용한다면 하나의 기능을 클래스와 구조...

스위프트의 구조체와 열거형

스위프트의 구조체는 struct 키워드를 사용한다 클래스와 매우 비슷한 구조를 가진다 두개의 차이점은 값 타입과 참조 타입이라는 것이 다르다 구조체는 값 타입, 클래스는 참조 타입이다 구조체는 인스턴스가 복사되거나 메서드에 전달될 때 인스턴스의 실제 복사본이 생성되면서 원본객체가 가지고 있던 모든 데이터를 그대로 복사해서 갖게 된다 원본 구조체 인스턴...

스위프트의 서브클래싱(상속)과 익스텐션

클래스를 만들기만 하고 상속 받지는 않았다 클래스는 상속을 통하여 클래스 계층 구조를 만든다 최상위에 있는 베이스 클래스 또는 루트 클래스라고 부르며 상속 받은 클래스들을 하위 클래스 또는 자식 클래스라고 부른다 하위 클래스가 상속받은 클래스 부모 클래스 또는 상위 클래스라고 한다 클래스 상속 class BankAccount { var ac...

스위프트의 객체지향 프로그래밍

먼저 객체지향 프로그래밍이란 컴퓨터의 프로그램을 명령어의 목로긍로 보는 시각에서 벗어나 여러개의 독립된 단위 즉 객체들의 모임으로 파악하고자 하는 것이다   객체란? 객체(클래스 인스턴스)는 소프트웨어 구축에서 블로드로 쉽게 사용하고 재사용할 수 있는 독립적인 기능 모듈이다 객체를 구성하는 데이터 변수와 함수를 포괄적으로 클래스 멤버란고 한다 ...