11월, 2016의 게시물 표시

남명 조식 선생 상소문

명종 10년에 단성 현감에 제수되었을 때 사직하며 올린 상소 ... 전하의 국사는 이미 잘못되고 나라의 근본이 망하여 천의도 인심도 벌써 떠났습니다. 비유하자면 백 년 된 큰나무에 벌레가 속을 다 갉아먹어 진액이 모두 말라버렸는데 회오리바람과 사나운 비가 언제 닥칠지 모르는 것 같은 상황입니다. ... 소관들은아래에서 시시덕거리며 주색이나 즐기고 대관들은 위에서 어물거리며 재물만 불립니다. 백성의 고통은 아랑곳하지 않은 채 내신들은 후원하는 세력을 심어 용을 물에 끌어들이듯 하고 외신들은 백성의 재산을 긁어들여 이리가 들판에서 날뛰듯 하면서도 가죽이 다 해지면 털도 붙어 있을 데가 없음을 모릅니다. 자전께오선 생각이 깊으시나 깊숙한 궁중의 한 과부에 지나지 않고 전하께오선 어리시어 단지 선왕의 외로운 후사에 지나지 않습니다. 천 백가지의 천재와 억만 갈래의 민심을 무엇으로 감당할 것이며 어떻게 수습하시겠습니까? ... 전하께서 좋아하시는 것은 어떤 일들입니까? 학문을 좋아하십니까? 풍류와 여색을 좋아하십니까? 군자를 좋아하십니까? 소인을 좋아하십니까? 전하께서 좋아하시는 것에 나라의 존망이 달려 있습니다. ... 이에 대한 명종의 답변이다 읽어보니 비록 간절하고 강직한 듯하나 자전에 대해 공손치 못한 표현이 있으니 군신의 의리를 모르는 것 같아 매우 한심스럽다. 이런 사람을 군신의 명분을 안다고 천거했는가? 임금이 아무리 어질지 못하기로 신하로서 어찌 차마 욕을 한단 말인가? 군상을 공경하지 않는 죄로 다스리고 싶지만 초야의 선비이므로 묻지 않겠다. 박시백의 조선왕조실록 09편 199-200

XCode 8.1 에서 Swift 3.0.1 으로 Realm 사용기

데이터베이스를 Realm 을 사용하기로 했다. 쉽고 간단하게 사용할 수 있다고 하며 매뉴얼이 잘되어 있다. 한번 따라 해보기로 했다. 프레임 워크를 수동으로 추가했다. 수동 추가 방법은 Target - General - Embedded Binaries 에서 + 버튼을 클릭하여 추가하면 된다. 반드시 다운받은 폴더에서 3.0.1 의 프레임 워크 파일을 선택해야 한다. Swift 3.0 폴더를 선택해서 한동안 알수 없는 오류로 마음고생을 해야 했다. 이제 프레임 워크를 임포트를 한다. import RealmSwift import Realm 그리고 데이터베이스에 사용할 클래스 구조를 선언한다. Class 와 Struct 의 차이는 참조 와 값 전달의 차이이다. class WorkList: Object {   dynamic var id: Int = 0 } 이를 사용하려면 let myWork = WorkList() myWork.id = 2 입력할 자료를 생성하고 let realm = try! Realm() do {   realm.beginWrite()   realm.add(myWork)   try realm.commitWrite() } catch {   print("realm error: \(error)") } 이렇게 하면 입력이 된다. 파일을 생성해서 할 수 도 있는데 그냥 default 를 사용해야한다. config 에 FileURL 을 설정하여 하는 방법이 인터넷에 있길래 받아서 했는데 되지 않는다. realm browser 에서 보이지 않는다. 파일을 읽으려면 let results = realm.objects(WorkList.self) print(results) 객체 안에 타입을 넣는데 이건 선언한 타입을 넣어야 한다. myWork.self 를 넣어서 한동안 마음고생을 했다. MaxOS sierra 에서 realm 파일은 이곳에 있다. /Users/사용자/Li

Swift 에서 두개의 Array을 순차적으로 합치는 방법

이미지
Swift 에서 두개의 Array 을 합치는 방법으로 각각의 열을 맞춰야 한다. 이럴땐 zip 이란 함수를 사용하면 된다. 위의 방법은 3개의 Array 를 각각의 순서대로 합친 결과이다. 즉 ["홍길동", "전우치", "강감찬"] 과 [3, 7, 6] 과 [2015-08-16, 2016-10-30, 2016-10-31] 의 Array에 각각의 값을 각 1항끼리 합칠 경우에 사용한다. flatMap 은 배열의 배열로 되어 있는 경우를 배열로 만들어 준다.