전체 글 178

[Swift] 함수 : 입출력 매개변수 활용, 데이터 타입으로써의 함수, 중첩 함수, @discardableResult

🚫 공부하다가 기록해두면 좋겠다, 몰랐던 거다 싶은 내용을 위주로 정리했습니다. 1️⃣ 입출력 매개변수를 활용 값이 아닌 참조를 전달하려면 입출력 매개변수를 사용한다. 원래 값을 변경한다는 이야기! 1. 함수를 호출할 떄, 전달인자의 값을 복사합니다. 2. 해당 전달인자의 값을 변경하면 1에서 복사한 것을 함수 내부에서 변경합니다. 3. 함수를 반환하는 시점에 2에서 변경된 값을 원래의 매개변수에 할당합니다. var numbers: [Int] = [1,2,3] func nonReferenceParameter(_ arr: [Int]){ var copiedArr: [Int] = arr copiedArr[1] = 1 } func referenceParameter(_ arr: inout[Int]){ arr[1]..

Swift 2022.03.16

[Swift] 사용자 정의 연산자 : 전위, 중위, 후위 연산자

🎀 키워드 정리 prefix : 전위 연산자 postfix : 후위 연산자 infix : 중위 연산자 operator : 연산자 associativity : 연산자 결합방향 precedence : 우선순위 1️⃣ 전위 연산자 정의와 구현 ** 를 전위 연산자로 사용해보자 prefix operator ** prefix func ** (value: Int) -> Int { return value * value } let minusFive: Int = -5 let sqrtMinusFive: Int = **minusFive print(sqrtMinusFive) // 25 ! (느낌표) 를 문자열에도 사용해보자 prefix func ! (value: String) -> Bool { return value.isEm..

Swift 2022.03.15

[Swift] 열거형 ( 항목 순회, 순환 열거형 )

연관 값을 같는 열거형 enum MainDish { case pasta(taste: String) case pizza(dough: String, topping: String) case chicken(withSource: Bool) case rice } var dinner: MainDish = MainDish.pasta(taste: "크림") print(dinner) dinner = .pizza(dough: "치즈크러스트", topping: "불고기") print(dinner) dinner = .chicken(withSource: true) print(dinner) dinner = .rice print(dinner) // pasta(taste: "크림") // pizza(dough: "치즈크러스트", to..

Swift 2022.03.15

[Swift] 컬렉션형 : 배열, 딕셔너리, 세트

Swift에서는 튜플 외에도 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입을 제공한다. 배열 딕셔너리 세트 1️⃣ 배열 var names: Array = ["yejin", "chulsoo", "yonghee", "yejin"] // Array == [String] var names: [String] = ["yejin", "chulsoo", "yonghee", "yejin"] var emptyArray: [Any] = [Any]() //Any를 데이터 요소로 갖는 빈 배열을 생성 var emptyArray: [Any] = Array() // 위 선언과 같은 동작 var emptyArray: [Any] = [] // 배열과 타입을 명시해줬다면 []만으로도 빈 배열을 생성할 수 있다. pri..

Swift 2022.03.15

[Swift] CustomStringConvertible > description

Swift의 문자열 보간법을 공부하던 중, CustomStringConvertible 프로토콜의 description 속성에 대한 설명이 간략하게 나와있어서 정리해보았다. 1️⃣ CustomStringConvertible ? 공식문서에 따르면 문자열 보간시 사용되는 프로토콜! 이 프로토콜로 채택한 타입은 인스턴스를 문자열로 변환할 때 사용할 고유의 표현을 제공한다고 한다. 2️⃣ CustomStringConvertible의 description 속성 ? 인스턴스를 description 속성을 사용하여 문자열로 치환할 수 있다는 것 같다. 이해가 잘 되지 않으니, 공식문서의 소스코드를 살펴보자! struct Point { let x: Int, y: Int } let p = Point(x: 21, y: 30..

Swift 2022.03.14

[Swift] 스위프트의 함수형 프로그래밍 패러다임

💡 함수형 프로그래밍 패러다임? 프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 패러다임 함수 자체의 응용을 중요하게 여김 순수하게 함수에 전달된 인자 값만 결과에 영향을 주므로 상태 값을 갖지 않고 순수하게 함수만으로 동작 어떤 상황에서 프로그램을 실행하더라도 일정하게 같은 결과를 도출할 수 있음! 함수형 프로그래밍의 장점 프로그램이 동작하는 흐름에서 상태(값)이 변하지 않으면 함수 호출이 각각 상호 간섭없이 배타적으로 실행되므로 병렬처리할때 부작용이 거의 없다. 또한, 필요한 만큼 함수를 나누어 처리할 수 있도록 스케일 업할 수 있기 때문에 대규모 병렬처리에 큰 강점! 멀티 코어 혹은 여러 개 연산 프로세서를 사용하는 시스템에서 효율적인 프로그램을 만들기 쉽다. 상태변..

Swift 2022.03.14

[Surfee] Launching + 후기

Surfee 런칭이 완료됐다 ! 사이트는 https://surfee.co.kr 여기로 🚀 (많은 피드백과 후기 부탁함니다😊) ➰자세한 정보 (디스콰이엇) : https://disquiet.io/product/surfee-1645603651836 Surfee | Disquiet* 노코드 랜딩페이지 제작 툴 disquiet.io ➰Github repository : https://github.com/thxxx/kiwi GitHub - thxxx/kiwi: LandingPage MVP for Kiwi LandingPage MVP for Kiwi. Contribute to thxxx/kiwi development by creating an account on GitHub. github.com FE 개발자로 참여..

[Surfee] 출근 전, 새로운 프로젝트의 시작을 알리는 글..!

Surfee 개발자로 출근한지 한달은 된거 같은데, 아직 일주일 밖에 안지났다 .. ! 지난 주에 '새로운 알바 + 근로 + 새로운 일 + 자격증 공부 시작하려고 맘먹기(?)' 등을 하느라 너무너무 바빴는데, 그래도 바쁜 와중 블로그가 생각났고 저번 Portfolio 카테고리 처럼 Surfee를 개발하며 생긴 어려움과 해결코드를 기록해보고자 한다. 내가 기획 단계에 있었던 팀도 아니고 더군다나 대학생 초기 스타트업 팀이기 때문에 디자인, 화면 그런건.. 어느정도 보안을 지켜가며? 기능위주로 기록할 예정! 사실 1차 MVP 개발이 너무 바빠서 .. 글을 잘 올릴지 모르겠다 ㅠㅠ.. 지금 기능의 70프로는 구현되어있는거 같지만 ,,, ㅋㅋ,, 암튼 다시 포스팅 시작! 아쟈뷰👊

[Portfolio] Github 으로 React 프로젝트 호스팅하기

현재 포트폴리오 진행상황은 웹(PC) 버전만 일단 구현 완료한 상황이다! 아직 반응형은 진행하지 못했고,, 일단 바빠질 다음주를 대비하여 웹 버전만 완벽하게 해두기로,, 무료로 웹 프로젝트를 호스팅하기 위해 많이들 사용하는 Github Pages를 사용한 것을 기록해보겠다! 1️⃣ Repository > Settings > Pages 이동 호스팅을 하고자 하는 프로젝트가 담긴 Repository에서 Settings로 이동한다. Settings의 사이드 바를 보면 Pages탭이 있는데 그곳으로 들어간다! 여기서 master 혹은 main 브랜치로 설정한 후, save 버튼을 눌러준다. 이때 생성되는 초록색 바탕의 url을 복사한다!! 2️⃣ 프로젝트의 package.json파일에 homepage 프로퍼티 ..