전체 150

[Python] for 문에서 List 인덱스와 값 동시에 사용

for 문을 배열의 수 만큼 돌리고 해당 인덱스로 배열에 접근하는 방법도 가능하지만 enumerate를 이용하는 방법이 있습니다. 1. 배열의 수 만큼 돌려서 접근하기 exList = ["a", "b", "c", "d", "e", "f", "g"] for index in range(0, len(exList)): print(index, exList[index]) 2. enumerate 사용하기 exList = ["a", "b", "c", "d", "e", "f", "g"] for index, value in enumerate(exList): print(index, value) 물론 1번의 방법을 사용해도 괜찮지만 enumerate를 통해 좀 더 간단한 코드를 만들수 있습니다.

개발/기타 2022.01.23

[Swift] 클로저

변수, 상수, 전달인자로 전달 가능 함수도 클로저의 일종이라 보면 된다. // 클로저 // in 이라는 키워드로 매개변수와 코드 분리 // 예시 var sum: (Int, Int) -> Int = { (a:Int, b:Int) -> Int in return a + b } // 콜백으로도 사용이 가능하다/ // a, b를 받아 method로 전달된 클로저에 전달해 계산 func sumContainer(c: Int, d: Int, method: (Int, Int) -> Int) -> Int { return method(c, d) } print(sumContainer(c: 1, d: 2, method: sum)) // 후행 클로저 // 함수의 마지막 전달 인자가 클로저이면 빼낼수 있음 var res: Int ..

iOS/Swift 2022.01.23

[Swift] 열거형

C에도 열거형이 있는듯 한데 Swift에서 처음 알게 된 개념입니다. struct 또는 class 과 비슷하게 사용할 수 있습니다. // 열거형 // 하나의 타입이다. enum Numbers{ case one case two case three case four } var specificNumber: Numbers = Numbers.two print(specificNumber) // two specificNumber = .four // 축약 가능 print(specificNumber) // four // switch문 사용에 용이 switch specificNumber{ case .one, .two, .three: print(1,2,3) case .four: print(4) // 열거형의 모든 값을 정해..

iOS/Swift 2022.01.23

[Swift] 구조체, 클래스, 프로퍼티, 프로퍼티 감시자

구조체라고 하니 C가 생각납니다.. 구조체 // 구조체 struct a { // 구현! // 일반적 프로퍼티 var b: Int = 10 // 타입 프로퍼티 // 타입 자체에서 접근 가능 전역 클래스 전역 변수 같은건가 static var c: Int = 20 // 마찬가지로 func와 static func를 선언할 수 있다. func d() { // } static func e() { // } } // 값 기반이기에 let으로 struct를 선언하면 프로퍼티 값이 var여도 바꿀수 없다. let example: a = a() a.b = 20 // 에러 클래스 // 다른 클래스와 다른 점은 다중 상속이 불가능하다는 것 class example { // 일단 위의 구조체와 다른 부분은 같다. var cha..

iOS/Swift 2022.01.22

[Swift] 옵셔널에 대해

옵셔널은 nil을 할당할 수 있는지 알려주는 옵션이라고 볼 수 있다. ?로 기본적으로 옵셔널 사용이 가능하면 !로 암시적 옵셔널을 사용할 수도 있다. // 옵셔널 - 값이 있을 수도 있고 없을 수도 있다. // nil이 들어올 수 있다 없다 설정 가능 // 옵셔널 선언 예시 // 다른 데이터 타입과는 다름으로 다른 타입과 연산 불가 var b: Int? // 직관적인 표현법 - b에는 nill이 할당될 수 있다. // nil을 넣어두고 접근 할 수 없는 옵셔널 var c: Int! // ?와는 조금 다른 옵셔널 // 옵셔널 추출 -> 옵셔널은 그냥 할당하면 다른 타입이라 에러 발생 // 그래서 if 문을 이용한다. var a: String? = nil if let ex:String = a{ print("..

iOS/Swift 2022.01.22

[Swift] 조건문, 반복문

조건문 - if와 switch , 반복문에 대해 알아보도록 하겠습니다. 조건문 // 조건문 if // 기본적으로 문법은 자바 스크립트와 비슷한듯 하다. // 하지만 주의할 점은 무조건 Bool 타입을 사용해야 한다는 것. // 그냥 자바 스크립트 처럼 작성했다가는 에러 폭탄을 맞을지도 모른다. // 소괄호는 생략 가능 if(true){ // } else if (true){ // } else { // } // 조건문 switch // c++ 처럼 break를 걸어주지 않아도 된다. // case 실행문 안에 fallthrough를 추가해 자동으로 break 되지 않게 할 수 있다. let someInterger: Int = 50 switch someInterger { case 0: print(0) case..

iOS/Swift 2022.01.22

[Swift] 함수

Swift를 이제 시작했는데 다른 언어의 특성을 섞어 놓은 느낌이 듭니다. 예를 들어 모순적이지만 c++의 불확실성 제거와 파이썬의 용인은 섞어놓은 느낌이랄까...? 암튼 함수에 대해 알아보겠습니다. 함수의 선언과 사용 // 함수 선언 // func 이름(매개변수: 타입) -> 함수 반환 타입{ } func name(a: Int, b: String) -> Int{ return 0 } // 반환 값이 없으면 -> 반환 부분 생략 가능 또는 Void 쓰기 // 함수 호출 name(a: 100, b: "String") 함수 조금 더 자세히 // 매개변수 Default 값 func a(a: Int , b: Int = 100) -> Void{ print(a, b) } a(a: 10) // 전달인자 // 이건 좀 ..

iOS/Swift 2022.01.22

[Swift] Array, Dictionary, Set

Array, Dictionary, Set 의 개념 자체는 파이썬과 비슷하기에 생략 Array // 배열 선언 방법 // let을 사용해 선언하면 js와 다르게 append나 remove가 안된다. var a: array = [데이터 타입]() var b: [String] = [String]() var c: [Character] = [] // int 타입의 배열 var a: Array = Array() // 배열에 값 추가 a.append(값) // 특정 값을 가지고 있는지 확인 a.contains(값) // true or false // 값 제거 a.remove(a: 인덱스) // 특정 인덱스 값 제거 a.removeLast() // 마지막 값 제거 a.removeAll() // 전체 제거 // leng..

iOS/Swift 2022.01.22

[Swift] 상수, 변수, 데이터 타입

상수와 변수 익숙해지지 않으면 자바스크립트와 좀 헷갈리는 부분일 것 같습니다. 상수는 let 변수는 var // 상수 let 이름: 타입 = 값 // 변수는 let을 var로만 바꾸면 된다. var 이름: 타입 = 값 신기하게도 Swift에서의 상수는 한번 선언만 해두고 값을 나중에 '딱 한번' 넣어줄 수 있습니다. let a: int // 값을 넣을 수 있다. a = 10 // 이후부터는 오류 a = 20 데이터 타입 // Bool // 0이나 1은 할당할 수 없다. let a: Bool = true // Int // 정수 let b:Int = 10 // Uint // 양의 정수(부호가 없는 정수) -> 음의 정수를 넣으면 에러 let c:Uint = b // Uint에 Int로 할당된 것을 넣으면 에..

iOS/Swift 2022.01.22

[Node.js] express에서 정적인 파일 불러오는 방법 (이미지 파일)

multer를 이용해 이미지를 업로드하고 이를 불러오려고 하는데 그냥 경로를 쓰면 엑스박스가 떠버립니다. 정적인 파일일을 불러오는데 그냥은 불러올 수가 없는데 express에서 제공하는 static을 사용해 해결할 수 있습니다. 따로 모듈을 설치할 필요는 없고 다음과 같이 사용할 디렉토리와 이름을 지정할 수 있습니다. //server.js app.use('/example', express.static('example')) 이제 프론트에서 example폴더의 이미지를 가져온다고 하면 다음과 같은 식으로 불러오는게 가능해집니다.

개발/Web 2022.01.20