목록프로그래밍 (90)
처음부터 차근차근
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kErMR/btrgFTYqq0Q/7n7jjK6I8mbNwrbit1xuQ0/img.png)
클라이언트가 html을 요청했을 때 웹 브라우저가 있는 클라이언트에서 웹서버에게 test.html을 요청하면 웹서버는 htdoc에서 test.html을 찾아서 다시 웹 브라우저한테 보내준다. 클라이언트가 .php 파일을 요청했을 때 클라이언트에서 웹서버에게 test.php을 요청하면 웹서버는 htdoc에서 test.php를 찾고, php를 해석할 수 없음을 인지하여 php를 해석할 수 있는 php에게 요청을 넘긴다(위임한다). php는 test.php 안에 있는 부분을 해석하여 html로 만들어서 웹서버에 넘기고 웹서버는 html파일로 해석되어 넘겨진 php 파일을 그대로 웹 브라우저에게 전송한다. 즉, 클라이언트의 웹브라우저는 .php로 요청하여 .html을 결과로 받는 것이다. 출처 : 'WEB2-P..
1급 객체(first class object) 1급 객체(first class object) == 1급 시민(first class citizen) 1급 객체란, 아래의 조건을 만족하는 객체를 말한다. 1. 변수에 저장할 수 있다. 2. 매개변수로 전달할 수 있다. 3. 리턴 값으로 사용할 수 있다. 그래서 Swift의 함수는 1급 객체이다. 함수 예시 1. 변수에 저장할 수 있다. func convertMlToL(ml: Double) -> Double { return ml / 1000.0 } let toL = convertMlToL // 변수에 함수를 대입 : 1급 객체 조건 충족 print("\(convertMlToL(ml: 12))L") print("\(toL(12))L") // 매개변수명(ml:)을..
/*int multi(int num1, int num2) { // C, C++ 함수 return num1 * num2 } printf(multi(5, 6))*/ func multi(num1: Int, num2: Int) -> Int { // Swift 함수 return num1 * num2 } print(multi(num1: 5, num2: 6)); //결과 : 30 func multi(num1: Int, num2: Int) -> Int { return num1 * num2 } print(multi(num1: 5, num2: 6)); func multi(number1 num1: Int, number2 num2: Int) -> Int { return num1 * num2 } print(multi(numbe..
guard문 guard 조건식 else { 조건 거짓일 때 실행될 코드 break or return or continue or throw } 조건 참일 때 실행될 코드 Swift 2부터 도입된 구문으로서 조건식이 거짓일 때 실행되는 문법이다. else문 안에는 반드시 break, return, continue, throw 중 하나를 써줘야 한다. 사용 이유 : 위의 키워드를 반드시 사용해야하는 것에서 알 수 있듯이 함수나 반복문에서 빠져나가기 위함(조기 출구=early exit)이다. 활용의 대표적인 예 : guard let (옵션널 바인딩) func test(num: Int) { guard let number = num else { print("num에 nil이 들어감") return } print(n..
var num = 2 if num > 1 { print("num은 1보다 큽니다") } //결과 : num은 1보다 큽니다 var num = 2 if num > 1, num 1 && num < 3 { print("num은 1보다 크고 3보다 작다") } //결과 : num은 1보다 크고 3보다 작다 //num은 1보다 크고 3보다 작다 var num = 3 if num == 2 { print("num은 2입니다") } else { print("num은 2가 아닙니다") } //결과 : num은 2가 아닙니다 var num = 3 if num == 2 { print("num은 2입니다") } else if num ==..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c1pqI2/btrfnynpLHg/ya4z35fmfYKUDYXO6Jx2Z0/img.png)
Optional 타입 Optional 타입이란, 값을 Optional(값) 또는 *nil을 가질 수 있는 자료형이다. *nil : 값이 없는 상태. null과 비슷 선언 or 초기화 예 // 방법1 var number : Int? // nil이 들어감 var number : Int? = 1 // Optional(1)이 들어감 // 방법2 var number : Int! // nil이 들어감 var number : Int! = 1 // Optional(1)이 들어감 Optional 타입을 사용하는 이유 변수의 값을 반환할 때 변수에 아무것도 들어가있지 않으면 오류가 발생한다. 그래서 이러한 오류를 예방하기 위해 Optional타입을 사용한다. 옵셔널 타입은 변수에 값이 없으면 nil 반환하고, 값이 있으면..
var number1 : Int = 1 print(number1) var number2 : Int? = 2 print(number2) // 결과 : 1 //Optional(2) var number2 : Int! = 2 print(number2) //결과 : Optional(2) var number2 : Int! print(number2) //결과 : nil var number2 : Int? = 1 number2 = 5 print(number2) // 결과 : Optional(5) var number1 = Int("10") print(number1) //결과 : Optional(10) var number1 = Int("Hello World!") print(number1) //결과 : nil var numb..
var firstNumber : Float = 3.55 // Float형 print(firstNumber) //결과 : 3.55 var firstNumber = 3.55 // Double형 firstNumber = 2.66 print(firstNumber) //결과 : 2.66 for m in 5...15 { print(m, terminator: "") } //결과 : 56789101112131415 for m in 5...15 { print(m, terminator: " ") } //결과 : 5 6 7 8 9 10 11 12 13 14 15 var FloatNumber : Float = 1.5 print("FloatNumber의 타입은?", type(of:FloatNumber)) let a = Memo..