반응형

안녕하세요~ 에르의 생각발전소입니다! :)

이번 시간에는 스위프트의 꽃!

옵셔널을 빼고 스위프트를 안다고 절대 할 수 없죠!?

드디어 이번 시간에는 Optional 에 대해서 알아보겠습니다!


시작해볼게요 :)










// 스위프트의 꽃인, optional


// Nil 값이 없는 무의 상태를 의미함.


// 특히 0 NIL 개념은 다름. 0 정수가 있다는 얘기임.


// Optuonal : 프로그래밍의 안전벨트, 실행 Nil 돠어 프로그램 크래쉬를 일으킬 있는 변수를 특별히 관리한다는 것임


// 스위프트의 장점이자, 단점인데 결론적으론 좋은 장점임!


// 옵셔널을 만드는 방법은 TYPE뒤에 ? 붙이면 .


// EX: NAME:TYPE? = VALUE


let Movie : String = "Death Note"


// 데스노트라는 값은 가진 스트링타입의 무비네임을 가짐 변수임.



var ratings : [Double]? = nil


// 평점을 더블타입으로 nil값을 주어서 선언함.

var ratings : [Double]? = nil


// 평점을 더블타입으로 nil값을 주어서 선언함.


// 허나 포스 언렙핑을 사용했음에도 불구하고 코드가 확실히 죽어버림.

왜냐하면, 값이 결국은 없기 때문임.

고로 이 방법을 사용하면, 빠른 길을 머어어어어얼리 돌아가야하는 결과가 나옴. :(


officialUrl = "www.deathnote.com"


// 일단 홈페이지 주소를 부여함.


var movieInfo: String = "\(Movie)"


// 무비지인포라는 스트링타입의 변수를 선언하고 무비인포는 무비라고 초기화함.


// ratings != nil 에서 ratings는 nil이 아니다! 라는 연산자입니다! (!= NOT)

// 그래서 ratings는 nil값이 아니라고 선언을 했으니!! 문제가 없음!


// /r/n는 한줄 띄움임! 앞으로 자주 사용하실거에요 :)

// officialUrl != nil 이 nil값이 아니라면,

movieInfo에 위 문장을 더한다~!


// 앞에 Optional이 보기 싫고 불완전하게 코딩이 되었으니!


// 짜잔!. officialUrl에 ! 를 붙여서 포스 언렙핑을 시켜서

// 완변히 만들어줍니다 :)

다음 시간에는 ~ ? Optional binding 과 Implicity Wrapped Optional 에 대해서 

다루어보도록하겠습니다!

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!


2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set


2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)


2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스


2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편



반응형
by 발전소장 에르 :) 2016. 5. 7. 03:23
반응형

안녕하세요~ 에르의 생각발전소입니다!

저번 시간에 다뤄보았던 Dictionary, Set, Array에 이어,

이번에는 코드의 생명. 

연산자 파트에 속하는 구문에 대해서 살~~짝 알아보도록 하겠습니다! :)\











// if = 조건의 따른 분기문임.


//    if condtion {  ...

//    } else {

//       ...

//     }    //

//  위와 같은 구조를 가짐.


// if 조건이 참이면 else 앞의 구문이 실행되고,

// 거짓일 경우 else 뒤의 구문이 실행된다.


// 전편에 사용했던 변수를 이용하여, if문을 만들어보겠습니다.



if intersect.count > 0 {

    print("두개의 팀에 모두 소속돤 학생은 \(schoolTripTeam1) 입니다.")

} else {

    print("두개의 팀에 모두 소속된 학생은 없습니다.")

}


// intersect 학생수가 0보다 많으니 참이므로, else 앞의 구문이 실행됨.


// 위와 같은 조건식으로 if문을 작성하여 구동하실 있습니다.


// for 구문 : 범위 또는 컬렉션의 반복 구문.


/* for ; 반복조건 ; 증가값 {...

    

 } for item in collection { ...

 

 }   

  */


for studentName in schoolTripTeam1 {


    print("\(schoolTripTeam1) 1 소속된 학생이 맞습니다.")


}


// for switch 구문, 다양한 변수의 경우를 집어 넣을 사용.


for (name, scale) in SeminaRooms  {

    // SeminaRomms 스트링값을 name 인트값을 scale 할당받음.

    

    let roomInformation:String

    //새로운 스트링 타입 상수를 만들어 케이스를 가정하나, print 사용해도됨.

    switch scale { // scale 스위치로 사용하겠다~


    case 4:

        // 스케일이 4라면!?

        roomInformation = "\(name) 작은 방이며. \(scale)명을 수용할 있는 규모의 방입니다."

    

    case 5...10:

        //스케일이 5~10까지라면?

        roomInformation = "\(name) 중간 규모의 방이며, \(scale)명을 수용할 있는 규모의 방입니다."

    

    case 11...20:

        // 스케일이 11~20까지라면?

        roomInformation = "\(name) 규모의 방이며, \(scale)명을수용할 있는 규모의 방입니다."

    

    case 21...30:

        //스케일이 21~30까지라면?

        

        roomInformation = "\(name) 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."


    default:

        // 디폴트를 통해서 네가지 이외의 변수가 발생할

        // 해당값을 실행한다! 라고 모든 변수를 충족시켜줘야만 !

        roomInformation = "\(name) 이하의 방은 없습니다."

        

    }

}


for (name, scale) in SeminaRooms  {

    

    let roomInformation:String

   

    switch scale { 

    case 4:

        

        roomInformation = "\(name) 작은 방이며. \(scale)명을 수용할 있는 규모의 방입니다."

    

    case 5...10:

       

        roomInformation = "\(name) 중간 규모의 방이며, \(scale)명을 수용할 있는 규모의 방입니다."

    

    case 11...20:

       

        roomInformation = "\(name) 규모의 방이며, \(scale)명을수용할 있는 규모의 방입니다."

    

    case 21...30:

  

        

        roomInformation = "\(name) 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."

    default:

       

        roomInformation = "\(name) 이하의 방은 없습니다."

        

    }

}


// 주석을 삭제한 코드 전문입니다.!


// 도움 되셨길 바랍니다!



반응형
by 발전소장 에르 :) 2016. 5. 6. 02:10
반응형

안녕하세요~ 에르의 생각발전소 입니다:)

이번 시간에는 Collection에서

Array 이후로 Diontionary 와 Set에 대해서

다루어보도록하겠습니다!










// DItionary?  값에 이름표를 붙여 저장하는 컬렉션의 종류   


// NAME : [TYPE:TYPE] = [VALUE : VALUE]


var SeminaRooms:[String:Int] = ["A1":4,"A2":8, "A3":12,"A4":16,"A6":24,"B1":40]



SeminaRooms["B2"]=30


// 딕셔너리에 값을 추가할 때는 어레이처럼 안됨.



SeminaRooms["B2"]=30


// 딕셔너리에 값을 추가할 때는 어레이처럼 안됨.


SeminaRooms["A2"]


//고로, 특정 키의 값을 불러오고싶다면, 방식으로 입력해야함.


//let seminaRoomsNames = SeminaRooms.keys


// 딕셔너리에 등록된 키값들만 가지고 오고싶다면 위와같이


//let seminaRommsCapacity = SeminaRooms.values


// 딕셔너리에 등록된 값들만 가지고 오고싶다면 keys 대신 values!


//let seminaRoomsNames = SeminaRooms.keys


// 딕셔너리에 등록된 키값들만 가지고 오고싶다면 위와같이


//let seminaRommsCapacity = SeminaRooms.values


// 딕셔너리에 등록된 값들만 가지고 오고싶다면 keys 대신 values!


//완전한 어레이 형태로 값을 불러오기위해서는 다른 방법이 필요함.


let seminaRoomsNames = [String](SeminaRooms.keys)


// 세미나룸네임즈는 스트링 타입의 세미나룸즈의 키로 구성된다.


let seminaRoomsCapacity = [Int](SeminaRooms.values)


// 세미나룸즈카파시티는 정수형이며, 세미나룸즈의 벨류로 구성됨.


// Set 어레이와 다르며 순서를 가지고 있지않음.


// 왜냐하면 집합연산을 하기에 굉장히 유리함.


// NAME :Set = [NAME]으로 Set 만들 있음.


let schoolTripTeam1 :Set = ["A", "B", "C", "D","E" ,"F", "G" ]


let schoolTripTeam2 :Set = ["A", "F", "C", "k" , "Z", "Q" ,"W", "P"]


// Intersect교집함, Subtract차집함 , Union합집합, ExcluesiveOR 여집합 등으로 연산이 가능

// NAME = CLASS.FUNC(CLASS2) 연산이 가능함.


let 교집합 = schoolTripTeam1.intersect(schoolTripTeam2)


// Intersect 1 2 모두 소속된 학생을 추릴 있음.



let 차집합 = schoolTripTeam1.subtract(schoolTripTeam2)


// 1에만 소속된 학생들을 추릴 있음.


let 몽땅 =  schoolTripTeam1.union(schoolTripTeam2)


// Union 사용하여, 소풍을 가는 모든 학생들을 추릴 있음.


let 여집합 = schoolTripTeam1.exclusiveOr(schoolTripTeam2)


// 복수의 팀의 소속되어있지않는 학생들을 추려낼 있음.


2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스


2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편


2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)



반응형
by 발전소장 에르 :) 2016. 5. 6. 01:06
반응형

안녕하세요, 에르의 생각발전소입니다 :)

지난번 IELTS 에 대해서 다뤄보았었는데요. 

NORMAL IELTS 와 IELTS FOR UKVI 때문에 골치아프셨죠?

이번에 한방으로 정리해왔습니다.!

본 포스팅을 읽고나셔서 혹은 읽기전에 이해가 잘안되시거나,

추가적인 정보를 원하시는 분은 아래 링크를 클릭하여주세요:)










저번에 포스팅할 때 IELTS와 IELTS FOR UKVI의 명확한 차이점이 나와있지않아서,

궁금해하다, 영국 이민국에 메일로 위 사항에 대해서 질문을 했습니다.

배우자 비자신청을 하기위해서 IELTS 점수가 필요한데,

UKVI와 일반형의 차이점은 무엇이고, 등등...

그랬더니 이렇게 메일이 날라오더군요.


위 사이트에 나와있는 리스트 중에 속에 있는 기관에서 IELTS를 응시해야한다는 답변이 돌아왔습니다.

https://www.gov.uk/government/publications/guidance-on-applying-for-uk-visa-approved-english-language-tests

위 링크를 타시면, 

Applying for a UK visa: approved English language tests의 안내페이지가 나옵니다!


그럼 보이는대로 " List of approved tests and providers: from 28 April 2016 " 을 클릭하여주시면

PDF파일로 문서가 주르르르륵 나옵니다!

그럼 여기서 korea 라는 단어로 검색을 해줍시다!


IELTS SELT Consortium

BC

KR001

BC Seoul

Dongkuk University, Pilldongro 1gil, 30, Joong-gu, Seoul, South Korea

South Korea

Permanent

IELTS (all facets) Life Skills

IELTS SELT Consortium

IDP

KR009

IDP Seoul

CNN the Biz - 48 Teheran-Ro 1 Gill, Gangnam-Gu, Seoul, South Korea

South Korea

Permanent

IELTS (all facets)

IELTS SELT Consortium

IDP

KR009

IDP Seoul

IDP Gangnam, 445 Gangnamdaero, Seocho-Gu, Seoul, South Korea

South Korea

Permanent

Life Skills

짜잔~ 이렇게 뜬답니다.

위 세곳에서 IELTS 시험을 본다면! 영국이민국에서 응시자의 점수를 인정한다는 점!

그럼 UKVI는 무엇인가? UK VISA AND IMMIGRATION의 약자입니다.

IELTS FOR UKVI를 응시하시면 무조건 위 세곳중 한곳으로 배정을 받습니다.

허나, NORMAL IELTS를 응시해도 위 세곳 중 한곳으로 배정을 받을 수 있다는 점?

일단 잠시만 기다려주세요.


여기서 보시면, UKVI란 단어는 찾아보기어렵죠?

PDF문서 상단에 위치하고 있고 시험 종류를 소개하고 있습니다.

IELTS를 응시하면, 이민국에서 응시가 된다는 점이죠.

항상 문제점은 이민국에서 지정한 센터에서 응시한 시험성적만

인정한다는 점!

IELTS Life Skills

IELTS SELT Consortium

Cambridge English Language Assessment

A1

Pass

2 years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

IELTS Life Skills

IELTS SELT Consortium

Cambridge English Language Assessment

B1

Pass

2 years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

IELTS

IELTS SELT Consortium

Cambridge English Language Assessment

B1

Listening: 4.0; Speaking: 4.0; Reading: 4.0; Writing: 4.0

2 Years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

IELTS

IELTS SELT Consortium

Cambridge English Language Assessment

B2

Listening: 5.5; Speaking: 5.5; Reading: 5.5; Writing: 5.5

2 Years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

IELTS

IELTS SELT Consortium

Cambridge English Language Assessment

C1

Listening: 7.0; Speaking: 7.0; Reading: 7.0; Writing: 7.0

2 Years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

IELTS

IELTS SELT Consortium

Cambridge English Language Assessment

C2

Listening: 8.5; Speaking: 8.5; Reading: 8.5; Writing: 8.5

2 Years

No documents required. Please provide your SELT unique reference number on your application form. This can be found on your TRF displayed as UKVI number.

Website: www.ielts.org
Test centres: https://www.ielts.org/book-a-test/find-a-test-location Website: www.ielts.org

위 표가 너무 작아 복붙으로 옴겨왔습니다.


자 다시 본론으로 돌아와서, NORMAL IELTS 시험응시로도 이민국에서 지정한 세곳 중 한곳으로 응시가 가능하다!?

네 맞습니다.

http://www.ieltskorea.org/exam_guide/place_list.asp

시험 장소를 공지해주는 아이엘츠공식홈페이지 링크입니다.

여기서 보시면,


5월 7일 아이엘츠 시험 장소들입니다.

안타깝게도 이번주 말고 다음주 시험장소 정보는 나와있지않습니다.

계속해서, 총 7군대에서 진행하며, 시험 장소를 보시면

동국대학교와 CNN the biz가 보이시는 지요?

IELTS SELT Consortium

BC

KR001

BC Seoul

Dongkuk University, Pilldongro 1gil, 30, Joong-gu, Seoul, South Korea

South Korea

Permanent

IELTS (all facets) Life Skills

IELTS SELT Consortium

IDP

KR009

IDP Seoul

CNN the Biz - 48 Teheran-Ro 1 Gill, Gangnam-Gu, Seoul, South Korea

South Korea

Permanent

IELTS (all facets)

IELTS SELT Consortium

IDP

KR009

IDP Seoul

IDP Gangnam, 445 Gangnamdaero, Seocho-Gu, Seoul, South Korea

South Korea

Permanent

Life Skills

위에서 언급했듯이 첫번째와 두번째를 보시면

동국대학교와 CNN the biz주소를 명시하고있습니다.

그렇다면 다른 장소들은?

렉시스어학원과 가톨릭대학교에서 응시한 영어 점수는

인정되지않는다는 얘기가 되겠지요?

맨 위에  서울-강남 UKVI라고 명시되어있는 건 위 시험장만 UKVI 시험장이고

나머지 시험장은 NORMAL IELTS시험이라는 얘기가 되겠네요.

결론 ) 일종의 상술이란 얘기를 전에도 했는데요.

이민국의 메일에 따르면, 위 세곳 중 한곳에서 응시한 IELTS 영어 점수가 인정된다는 소리니,

꼭 꼭 꼭 UKVI 시험을 응시할 필요는 없어보입니다.

물론, 제가 응시해서 비자를 발급받아보도록 진행해보도록 하겠습니다.

5월21일날 강남으로 시험보러갑니다.


반응형
by 발전소장 에르 :) 2016. 5. 5. 05:12
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번엔 어제에 이어 에딘버러 여행기 2편을 포스팅하겠습니다!

에딘버러 waverley역에 도착했었어죠?

지도에 검색한번만 해보시면 상당히 많은

볼거리들이 웨이벌리역 주변에 몰려있는 것을 확인하실 수 있습니다!

OLD TOWN쪽에는 클럽들이 모여있구요.

밤에 방문해보시면 장관을 보실 수 있습니다 ㅎㅎ.

위험하니, 너무 외진 곳은 삼가해주세요.

밑줄친 곳들은 추천하는 곳들입니다.

딱봐도 몇일만으로는 안끝날 사이즈이지요?

천천히 여유를 가지고 여러차례 방문하셔야만,

에딘버러를 꼼꼼히 다 볼 수 있을 것 같습니다.






역에서 택시를 타기위해  약 3분정도 걸었습니다.

왼쪽에 보이는 것이 쓰레기통 겸 재떨이입니다.

날씨는 화창한데, 바람이 너무 많이 불었어요.

지나가는 길에 건물이 너무 예뻐서 한 컷 찍었습니다.

마치 웅장한 성 같아요.

막상 여사님한테 물어보니 그냥, 건물이라고 하더라구요...;;

박물관으로 추정되는 건물입니다.

웅장합니다...

괜히 에딘버러에딘버러 얘기가 나오는게 아니에요!

돌담에 이끼들, 얼마나 비가 많이오는지 상상하실 수 있으시겠죠? ㅋㅋ.

햇볕 때문에 망한 사진인데, 눈만 돌리면 위와 같은 건물들이

에딘버러를 도배하고 있습니다.

물론 실내는 현대식으로 잘~ 꾸며져있구요.

어딜가든, 와이파이가 제공되며,

간단한 인증 및 동의 절차 후 이용가능합니다.


THE SCOTSMAN 는 신문회사입니다.

저런 건물에서 일한다면 일할 맛 나겠네요 흐흐..

택시를 탔습니다.

택시구조가 독특하게 되어있습니다.

5인용도 있으며, 벤 택시도 있습니다.

그리고 운전석과는 칸막이가 되어있어 마이크와 스피커를 통해 의사소통을 합니다.

주택건물인데, 이뻐요...

에딘버러는 예전에 성외곽은 매우 위험했기 때문에 많은 시민들이 성내에 거주하기를 거주했으며,

그 결과 층수가 다른 도시를 보다 높습니다.

현대에 이르러서는 현명한 선택같지만,

그 당시만해도 화장실이 없어 방 한켠에 요강같은 버켓을 두고 온 가족이 사용했으며,

비울 때는 창밖으로 던졌답니다. (물론 경고는 했지요.)

길가는 사람이 있으면, 기다린 후 던집니다 ㅋㅋ

그래서 옛날엔 유럽에서 가장 더러운 도시로 외국인들이 오기를 꺼려했다고 합니다.

길거리에 오물이 득실득실거리니까요.

보다못한 정부가 나중에 조치를 취했다곤했다만,

그 조치가 신속하지못하여, 그 악명으로 예전에 고생했다고합니다.

택시 내부샷 2 입니다.

내부가 상당히 넓어요.

그래서 깨알 광고판도 문에 띄네요.

드디어 친척집에 도착했습니다.

데비이모님댁입니다. 복층이며, 당구대도 있고 큽니다.

시세는 약 6억이라고 하네요.

6개의 침실이 있으며, 넓은 거실과 티비방 , 잔디까지

자극이 마구마구 됩니다 :)))

이모부님입니다. ㅎㅎ 이날 철학, 한국, 영국, 난민, 문화 얘기를 주고받으며 

와인을 왕창 먹고 새벽에 갈증으로 죽을 뻔했어요...

그래도 상당히 의미깊고 좋은 여행 첫날의 마무리였습니다. :)


2016/05/03 - [스코틀랜드 ♫] - 160503 스코틀랜드 에딘버러 여행기 Part 1


2016/04/25 - [스코틀랜드 ♫/비자♫] - 160425 영국공인영어시험! IELTS UKVI VS NORMAL. 차이점을 알아볼까요?


2016/04/22 - [스코틀랜드 ♫] - 160422 에버딘 탐방기 애플스토어 후기 ! ABERDEEN TOURING :) APLLE STORE REVIEW.


2016/04/22 - [스코틀랜드 ♫] - 160421 스코틀랜드 택시, 헌틀리 탐방기!(기차) scotland huntly walking :)


2016/04/09 - [스코틀랜드 ♫] - 160404 스코틀랜드로 출국! 인천공항 밤샘..




반응형
by 발전소장 에르 :) 2016. 5. 5. 00:19
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

지난 5일 동안 아무런 포스팅없이 블로그를 방치(?) 해뒀더니, 

방문자수가 뚝뚝뚝..

지난 5일 동안 저는 스코틀랜드의 수도! 

에딘버러를 여행하고 왔습니다 :)

Huntly -> Aberdeen -> Edinburgh 로 총 5시간30분이 걸렸어요.

헌틀리에서 1시간 기다리고 기차타고 에버딘 도착해서

에버딘에서 또 1시간 기다리고..타이밍이 안맞으면 시간이 증발합니다..:(

어찌됬건, 시작해보겠습니다.

중간에 들리는 역들이 너무 많아서 이름들을 일일이 다 기억하지 못했습니다 :(

어찌됬건 시골역들이나 도시역들이나, 나름의 인테리어는 공통점을 가지고 있습니다.

딱 봐도 아 무슨무슨 역이구나~ 하는 느낌이 듭니다!

그리고, 인간적으로 너~~~~무 아름답습니다.

다른 유럽들은 엄두도 못내는 멋이에요.

저희는 에버딘 역에서 다음 기차를 기다리는 1시간 동안 SUBWAY 들려서 각자 샌드위치 하나씩 사고,

편의점에 들려서 음료수랑 과자를 샀어요. 흐흐,

(깨알 팁, 영국영어로 Fizzy drinks가 음료수입니다.)

왜냐하면, 이유는 전에도 말했듯이 기내에서 요깃거리를 사면 상당히 비쌉니다.

5~7천원은 순식간에 증발..

이름 모를 역입니다.ㅋㅋ

그냥 이뻐서 한컷!

우리나라역에서는 찾아보기 힘든 재활용 쓰레기통입니다.

우리나라는 보통 쓰레기통하나로 나중에 미화원분들이 분리수거하시는데,

스코틀랜드는 이렇게 되어있어요. (물론, 다 그런 건 아닙니다.)

스코틀랜드에서 아파트 찾아보기란 하늘에서 별따기 (도시권 제외!)

주택들도 고풍스럽게 자태를 뽐내며, 즐비해있습니다 :)

비싸요..비싸.

에버딘에서 에딘버러를 가는 기찻길은 해안가를 경유합니다.

그래서 던디에 다다르면, 장관이 펼쳐집니다.

별장 분위기네요. :)

이뻐요, 나중에 성공해서 저런 집 하나 살고 말겁니다!

저정도 규모면 중상층 시민들이 거주하는 주거형태입니다.

3~4 침실이라고 가늠해볼 수 있을 것 같네요.

주로 집의 규모를 서양권에서는 침실의 갯수로 표현을 합니다.

여유로워보이는 시민들, 그냥 풍경 하나하나마다

뭐라 딱히 설명할 수 있는 형용사가 없어요.

너무 이쁩니다.

아마도... 던디로 기억합니다 :)

건너편 다리는 공사중이였구요.

이쁘다는 말밖에는 해양업이 발달한 이유가 있습니다.

하지만, 건축된지 시간이 지난 건축물들이 많은터라

옛날 모습을 간직하고 있는 구조물들이 상당수입니다.

언제가는 보수를 하겠지요?

그런면에서는 상당히 신뢰가 깊으니 따로 걱정은 안해도 될 듯 합니다.


사진이 어둡게 나왔네요.

보정을 했어야하는데. 흠흠..

천장 구조가 에버딘역과 같이 상당히 인상적입니다.

에딘버러역 대합실입니다.

야외와 연결되어있고, 따로 문이 없어 한기가 느껴지는 경우도 있습니다.

전반적으로 상당히 깨끗합니다.

앞 전광판에는 기차 시간표가 즐비해있으며, 우측에는 광고판입니다.

주황색 조끼를 걸치신 분들은 관계자분들입니다.


꽤 큰 규모를 자랑하고 있으며, 복합상가와 연결되어있습니다.

건축물을 보시면 근대와 현대가 복합되어있습니다.

언제봐도 이뻐요.

찻길입니다.

간혹 흡연하시는 분도 계신데,

나름 스코틀랜에서 흡연은 나름 일상인 것 같습니다.

흡연구역 준수하시는 분들은 그렇게 많지 않습니다.

특히 나이가 있으신 분들은 길거리 흡연을 자주하시고,

10대나 20대도 가끔씩 보이나, 주로 흡연구역을 찾습니다.


보정한 대합실 사진입니다.

천장은 둠 형태로 되어있으며, 유리로 되어있습니다.

역 주위는 시내이며, 매우 다양한 볼거리를 제공하고 있습니다!


이것으로 에딘버러 여행기 Part1 을 마치겠습니다 :)


반응형
by 발전소장 에르 :) 2016. 5. 4. 06:22
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에는 OS X용 포토샵의 레티나 패치를 알아보도록 하겠습니다!

포토샵을 사용하시지만, 내 컴퓨터가 레티나 디스플레이를 지원함에도

레티나의 혜택을 포토샵에서는 전혀 누리지 못한 분들을 위해서!

포토샵 레티나 패치를 다뤄보도록 하겠습니다!

포토샵 cs6를 사용하시는 유저분들이라면! 

아래 링크에서 패치 파일을 다운로드해주세요 :)





어도비공홈에 배포된 차례대로 " 포토샵 과 일러스트 " 입니다.

Proceed to Download 를 클릭하여, 

다운받아주세요.

우측에 dmg파일이 보이실 겁니다.

저는 포토샵이 필요하기 때문에, 포토샵 dmg를 실행하였습니다.

CS6폴더가 나오네요.

더블클릭


AdobePatchInstller 를 실행시켜주세요.

Open을 클릭해주시구요~

본인 계정의 비밀번호를 입력하시고 1분 덜 기다리시면~?

업데이트가 끝났습니다 ! :)



약간의 계단현상이 있지만, 괜찮네요..?

만족합니다. ㅎ 

PS.

Photoshop CS6 버전에서 업데이트를 실패했을 경우!


Adobe Application Manager 를 업데이트하면 됩니다.


www.creative.adobe.com/apps 에서 메니져프로그램을 업뎃시키시길! 


http://tv.adobe.com/watch/cs6-creative-cloud-feature-tour-for-design/installing-desktop-apps-from-creative-cloud/?go=13695




도움이 되셨길 바라면서! 그럼 20000! :)

반응형
by 발전소장 에르 :) 2016. 4. 26. 22:48
반응형

안녕하세요 ~ 에르의 생각발전소 입니다 :)

이번 시간에 비교해볼 건, ielts입니다!

요즘에는 공신력이 ielts에 많이 몰리는 추세입니다.

고로 영향력 또한 강해지고있는데, 

작년에 ielts의 카테고리가 나뉘게됩니다.

UKVI와 Normal 타입인데요.

이 둘의 차이점을 알아보도록 하겠습니다.

www.ieltskorea.org <<==  시험을 위해서 주로 찾으시는 사이트 일 겁니다. :)


대학, 대학원을 위한 ACAMEDIC MODULE.

취업을 위한 GENERAL TRAINING

비자와 이민을 위한 A1 / B1

A1은 초기 비자신청을 위해 주로 응시하시고

B2는 영주권과 시민권을 워해 응시합니다.


시험 신청을 위해 볼 수 있는 선택화면입니다.

UKVI라는 시험 카테고리가 생겼는데...

얘가 골 때립니다.

이 글을 포스팅하고 있는 이유도 이놈 때문이죠.

그지같은 뭐가 다른거야.

영국정부에서 지정한 환경하에서 응시하는게 UKVI인데 환경을 제외하곤 문제 난이도 등이

normal ielts와 일치합니다. 제기랄


YES 를 클릭하면 위 화면이 표출됩니다.

비자나 이민 목적을 위한 영어증명을 위해선 UKVI를 응시하라고 하는데,

심지어 더 비싸요,.



UKVI IELTS의 종류도 4개

NORMAL IELTS의 종류도 4개입니다.

UKVI의 타이틀이 달렸느냐, 안달렸느냐의 차이입니다.

고작 시험 환경 기준만 충족시켜놓고선,

UKVI IELTS 시험은 동국대학교에서 실시됩니다.



NO를 누르면 바로 위 화면으로 이동하는데 강북, 강남, 부산, 서울대, 경인교대 등등

다양한 곳에서 응시가능하며, 1주일마다 시험이있고

추가모집으로 시험을 응시하시면, 시험 당일날 스피킹 시험을 못 보실 수도 있습니다.

그래서 왠만하면 급하지않는 한 추모는 피하는 것이 좋습니다.


결론은 그냥 UKVI IELTS 보라는 얘기입니다.

점점 대학들도 UKVI IELTS 를 요구하는 대학들이 증가하고 있으며,

앞으로는 UKVI IELTS가 대중화될 것 같습니다.

가장 골때리는 부분인데, UKVI IELTS를 부정 행위 때문에 만든건지 뭔지 모르겠는데,

더 비쌉니다.

14만원 차이입니다.

환율로 따지면 200파운드는 33만원인데 무슨 이유인지 36만원으로 고정이 되어있어요.

환율 반영을 안하나봐요.

하지만 다행이도 나름의 희소식이 있습니다.

2015년4월5일 이전에 응시한 분들은 11월 5일까지 사용할 수 있는데,

뭐 이렇게 되버리면, 무용지물이나 마찬가지죠.

이런식으로 가격이 굳어져버린다면,,,

참 골떄리네요 영국 

다 먹고 살자고 하는건데 말이죠..

반응형
by 발전소장 에르 :) 2016. 4. 25. 23:25
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

저번 시간에는 tuple과 typealias를 알아보았는데요.

이번 시간에는 collection을 다뤄보도록 하겠습니다.

array는 dictionary, set 등의 친구인데요.

 콜렉션 범주안에 속하는 녀석입니다.

자 그럼 본격적으로 시작해볼까요?









var children:Array<String> = ["a", "b", "c", "d", "f" ,"g"]


// children이라는 이름의 스트링 타입을 가진 어레이를 정의하고


// 인스턴스는 a,b,c,d,f,g 입니다. 아이들의 이름이죠?


// 위에 설명했듯이 대괄호가 값을 감싸야하며, 스트링일 경우 따옴표가 따라옵니다.


var age:[Int] = [10,15,20,30,40]


// age라는 이름을 가진 인트타입의 어레이를 만들었으며,


// 10,15,20,30,40 이라는 값을 가지고 있습니다.


// 위와 같이도 어레이를 만들 있습니다.


// age 방식이 쉽지요?


// 그리고 array 되있다고해도 let으로 정의된 값은 수정 불가능합니다.


children += ["z"]


// children 어레이에 값을 추가했습니다.


// 역시 대괄호가 필요하고, children var이니 수정 가능합니다 .



let maxMemory:Int = 128


// maxMemory라는 인트타입의 상수 클레스를 만들었으며, 값은 128입니다.


// 어레이가 아닙니다.


var presentMemory:Int = 54


// presentMemory 인트타입이며 갑은 54입니다.


presentMemory += 10


// 어레이가 아니기 때문에 그냥 편하시게 더하시면 됩니다.


let UpgradeMemory1 = 250.5


// UpgradeMemory1 라는 더블값을 가진 클레스를 만들고,



var MemoryBackUp:[Int] = []


// MemoryBackUp 이라는 인트형의 어레이를 만들었고 값은 없습니다.


MemoryBackUp.append(UpgradeMemory1)


// 에러가 났습니다. 에러가 난걸까요..?


MemoryBackUp.append(Int(UpgradeMemory1))


// 왜냐하면 UpgradeMemory 타입이 더블이기 때문입니다.(형태를 정해주지않으면 자동으로 더블.)


// Int Double 친구가 됩니다.


// 그래서 하나의 형태로 통일을 시켜줘야 진행이 가능합니다.


// 스위프트는 타입에 엄격합니다.


// 엄격한만큼 안전성은 올라가며, 개발자와 사용자에게도 여러모로 이득입니다.




// 어레이를 다른 어레이에 할당했을 기존 어레이 안에 값이 있으면 복사가 .


let copy = MemoryBackUp


// copy라는 어레이를 만들고 어레이에 MemoryBackUp이라는 어레이를 할당함.



MemoryBackUp += [128]


// 그리고 MemoryBackUp 새로운 값을 추가하면?


copy


// copy MemoryBackUp 새로운 값이 추가되기 전의 값이 남아있슴.


// 아무때나 복사가 되는 것은 아니고, 


// 어레이의 값이 재초기화되는 순간 복사가 .


// 일종의 잔상같은 개념임! :)


var test1:[Int] = [10]


// 테스트1 인트형의 어레이로 10 값을 가짐.


var test2:[Int] = [20]


// 테스트2 인트형의 어레이로 20 값을 가짐.


var copytest1 = test1


// 카피테스트1 테스트1이며, 어레이는 카피테스트1 할당됨.


copytest1 += [23]


// 아까와는 역으로 카피테스트1 값을 추가했음.


test1


copytest1


// 아까의 예시와 반대의 경우도 가능함! :)





---------------------------------------------------------------------------------------------------------------------------------------







여기까지 Array에 대해서 알아보았습니다.


다음 시간에는 Dictionary 와 Set에 대해서 알아보겠습니다.!


P.S 작성하다가 점검할 때 본건데,,, 존대에서 음슴체로 바뀌네요...ㅎㅎ


Have a lovely DAY~ :))))


2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set


2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)


2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스


2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편





반응형
by 발전소장 에르 :) 2016. 4. 25. 08:22
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에는 Tuple 과 Typealias를 다뤄볼 건데요.

스위프트의 장점이고 장점인 만큼 많이 활용되는 파트이니,

주의깊게 살펴봐주세요!

자! 그럼 시작해보겠습니다.






상수로된 튜플인 time1을 생성하였고 2, 43, 1 이란 값들을 괄호 묶었습니다.   (사진의 오타는 애교로..)

2란 값을 불러오고자하면 0을 42이라는 값을 불러오고자하면 1을 쓰시면 됩니다.

대게 첫번째 숫자니 1부터 시작할거라 생각을 하시고 실수를 많이들 하시는데,

시작은 0 부터 입니다! 참고해주세요!

튜플의 값에는 플롯, 스트링, 섞여들어가도 무방한데요. 

예로 하나 만들어보았습니다.

language라는 스트링 타입의 값과. 11이라는 정수값은 가진 값이 ex라는 튜플안에 속해있는 모습니다.

똑같이 0,1,2 순번으로 시작됩니다.

물론 0, 1, 2 대신 문자로 변경이 가능한데요.

위 화면은 0,1,2 대신 hour, min, sec 로 변환시킨 모습입니다.

상황에 맞게 바꾼다면, 더 유용하겠죠?

튜플을 튜플로 또 묶는 건데요.

각 3개의 값을 가지고 있는 두 개의 튜플을 하나의 다른 튜플로 묶은 코드입니다.

일종의 사슬을 만들어준다고나 할까요?

begin이 time1, done이 time2 를 가지고 있는 모습입니다.



그럼 묶여있는 값중 최하위 값을 불러오고 싶다~고 하시면 

file:///Users/Logan/Desktop/Screen%20Shot%202016-04-22%20at%2011.05.56%20pm 이런 컴퓨터디렉토리 주소처럼


done에 있는 hour값을 불러야겠죠?

done.hour은!?

done = > time2

time2:( hour:Int, min:int, sec:int ) = ( 1, 51, 15 ) => hour => 1

이라는 값이 나오게되겠죠?



이번에는 타입 얼라이어스입니다!

위 화면은 타입 얼라이어스를 설명하는 글입니다. 

typealias AudioSample = UInt16 이다.

var maxAmplitudeFound = AudioSample.min 이면, 0이다.

왜냐하면 UInt16의 최저값은 0이니까요.

이 처럼 타입 얼라이어스는 다른 이름으로 존재하는 값을 정의합니다.

time 이라는 타얼을 만들어 (h:int, m:int, s:int) 라는 타입을 정의하

period 라는 타얼을 만들어 start:time, end:time으로 타입을 정의했습니다.

period 타얼 안에 time의 타입이 들어갔지요? 



let now:period = ( (6,20,13) , (11,2,56) ) 로 start:time에 값을 주고 end:time에도 값을 각각 부여했습니다.


그럼 time이 start와 end로 된 period안에 들어가있고 start = 6,20,13이며, end는 11,2,56이네요.


print("we played a game until \(now.end.h) today. ") 라는 코드를 입력해


값을 불러오고자한다면, 추적해봅시다!


 now =  period, period =  (start:time. end:time) , end:time = 11,2,56 = h:11 , m:2, s:56 = h ==> 11 


이라는 결론에 도달하게 되는거죠!


이해가 되셨는지요!


쉽쥬?

반응형
by 발전소장 에르 :) 2016. 4. 23. 09:00