공지사항 크롤링 및 데이터 저장(4)
공지사항을 크롤링하기 하기위해 셀레니움을 사용하고 목록을 추출한다 각 공지사항의 세부내용도 필요하기 때문에 다시 한번 해당 url에 접근해서 세부 내용을 가져와 db에 저장한다 각 학과별 공지사항을 크롤링한다 모든 페이지들이 형식이 비슷하다면 쉽겠지만 모두 다르기 때문에 다른 코드를 작성해야한다 그래도 코드 중복을 최대한 줄이기 위해서 하나의 클래스를...
공지사항을 크롤링하기 하기위해 셀레니움을 사용하고 목록을 추출한다 각 공지사항의 세부내용도 필요하기 때문에 다시 한번 해당 url에 접근해서 세부 내용을 가져와 db에 저장한다 각 학과별 공지사항을 크롤링한다 모든 페이지들이 형식이 비슷하다면 쉽겠지만 모두 다르기 때문에 다른 코드를 작성해야한다 그래도 코드 중복을 최대한 줄이기 위해서 하나의 클래스를...
스위프트에서 배열과 딕셔너리는 다른 객체들의 집합을 담을 수 있는 객체이다 배열과 딕셔너리는 다른 언어들과 큰차이는 없어서 선언 방법과 배열과 딕셔너리에서 사용하는 메소드들을 정리한다 배열 스위프트에서 배열 선언하기 var data : [Int] = [1,2,3,4] //: 인트형 배열 var data2 : [] = [1,2,3,4] //: 인트...
프로퍼티 래퍼는 생소한 개념인데 클래스나 구조체에서 생성한 연산 프로퍼티들이 유사한 패턴을 갖는 경우가 빈번하다 이때 연산 프로퍼티의 로직을 공유하는 방법은 해당 코드를 복사해서 클래스나 구조체에 포함 시키는 것이 유일한 방법이다 이방법은 비효율적일 뿐만 아니라 수정하려면 모두 일일이 수정해야한다 프로퍼티 래퍼를 이용한다면 하나의 기능을 클래스와 구조...
스위프트의 구조체는 struct 키워드를 사용한다 클래스와 매우 비슷한 구조를 가진다 두개의 차이점은 값 타입과 참조 타입이라는 것이 다르다 구조체는 값 타입, 클래스는 참조 타입이다 구조체는 인스턴스가 복사되거나 메서드에 전달될 때 인스턴스의 실제 복사본이 생성되면서 원본객체가 가지고 있던 모든 데이터를 그대로 복사해서 갖게 된다 원본 구조체 인스턴...
클래스를 만들기만 하고 상속 받지는 않았다 클래스는 상속을 통하여 클래스 계층 구조를 만든다 최상위에 있는 베이스 클래스 또는 루트 클래스라고 부르며 상속 받은 클래스들을 하위 클래스 또는 자식 클래스라고 부른다 하위 클래스가 상속받은 클래스 부모 클래스 또는 상위 클래스라고 한다 클래스 상속 class BankAccount { var ac...
먼저 객체지향 프로그래밍이란 컴퓨터의 프로그램을 명령어의 목로긍로 보는 시각에서 벗어나 여러개의 독립된 단위 즉 객체들의 모임으로 파악하고자 하는 것이다 객체란? 객체(클래스 인스턴스)는 소프트웨어 구축에서 블로드로 쉽게 사용하고 재사용할 수 있는 독립적인 기능 모듈이다 객체를 구성하는 데이터 변수와 함수를 포괄적으로 클래스 멤버란고 한다 ...
먼저 함수와 메서드에 대해서 정리하면 함수는 특정 작업을 수행하기 위해 호출할 수 있게 이름 붙여진 코드 블록이다 메서드란 특정 클래스나 구조체 또는 열거형과 연관된 함수이다 함수와 메서드는 비슷한 역할을 한다 함수 func buildMessageFor(name: String, count: Int) -> String { return("...
If else구문은 제한된 개수의 조건을 검사할 때는 적절한지만 많은 조건을 처리할 때는 부적절할 수 있다 이때 사용 가능한것이 switch구문이다 c언어에서 가져왓지만 스위프트의 switch구문은 몇가지 차이점이 존재한다 let value = 5 switch (value) { case 0, 1, 2: print ("zero ...
실행되는 프로그램의 흐름을 통제하는 것이므로 제어 흐름이라고 한다 제어 흐름은 코드를 몇 번 실행할지에 대한 반복 제어와 어떤 코드를 실행할지에 대한 조건부 제어 흐름으로 나뉜다 for-in 구문 for index in 1...7 { print("hello world!") } 실행 결과 hello world!가 7번 출력된다 만약 참조체 위...
스위프트에서 변수와 상수를 선언하는것을 학습했으니 어떻게 사용하는지 배워야한다 데이터를 가지고 작업하는 가장 기본적인 방법은 표현식의 형태로 작업하는 것이다 표현식은 연산자, 두 개의 피연산자, 할당자로 구성된다 let a = 1 + 2 //: 할당자, 피연산자, 연산자, 피연산자 연산자 산술연산자 +,-,/,*,%가 존재하고 단항 연산자 -...