일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 개발자
- 개발
- 힛잇
- 호키스
- 이종호
- 자바스크립트 자료구조
- javascript
- 계명대
- 스위프트
- Svelte
- 비동기
- 자료구조
- Hitit
- data structure
- 호키도키
- 계명대 이종호
- 자스민
- 스벨트
- jest
- SWIFT
- queue
- hokeys
- react
- 리액트 예제
- HTML
- hokidoki
- 리액트
- IOS
- TDD
- 자바스크립트
- Today
- Total
목록힛잇 (22)
Dog foot print
서론 2022년이 되어, 기존 프로덕트를 갈아 엎어버리는 프로젝트를 하다보니, 예전만큼 시간이 많이 나지 않아 2022년에는 블로그 포스팅이 거의 없어 조금 아쉬웠다. 그 만큼 새로운 기술에 대한 공부나 이전 지식에 대해서 공부를 소홀히 했다는 것이니까. 이제 서론은 그만하고 본론을 시작해보겠다. IP 주소 및 포트 이 게시물에 접근하는 사람들은 IP주소라는 것을 대부분 이해하거나, 뭔지는 들어 봤을 것이다. IP 주소란 특정 Device가 네트워크에 접속 했을 때 이 Device를 식별 할 수 있는 주소 개념이다. 이때 모바일 , 데스크탑 뿐만 아니라 서버 또한 모두 인터넷을 사용하는 Device 이니 모두 IP 주소를 가지고 있다. IP주소는 다음과 같이 xxx.xxx.xxx.xxx 의 형태로 생겼으..
Protocol 애플의 진영에서는 인터페이스라는 것이 존재하지 않고, 프로토콜이라는 것이 존재한다. 어찌 보면 규약이라는 개념은 비슷하지만 그 규칙의 강제성이나, 제한은 인터페이스가 훨씬 높다. 즉 프로토콜이라는 개념은 최소한의 만족할 만한 규칙 이며, 인터페이스는 부가적인 것이 존재하지 않는 규칙으로 정리 할 수 있다. 프로토콜은 명세라고 불리우기도 하는데, 이는 특정한 것을 만들기 위한 설계서와 같은 역할을 한다. 이 프로토콜이라는 규칙을 준수하며 객체나 구조체, 열거형을 만드는 것을 프로토콜을 구현한다라고 표현 한다. 프로토콜의 구현 protocol [프로토콜 명]{ 프로토콜 명세 ... } class A : [protocol] { } extension A : [protocol] { } enum B..
Enumeration 한국에서는 열거형 이라고 불리우는 Enumeration은 객체와 구조체과 비슷하지만, 그 사용 용도나 기능은 훨씬 제한적인 자료형이다. 열거형은 특정 상수들의 집합을 의미하며, 여기서 특정 이란 어떤 분류에 속해 있다는 의미이다. 예를 들면 집합은 다음과 같다. 성별 남자, 여자, 기타 대구시의 행정구청 달서구, 서구, 달성군, 북구, 중구, 수성구, 동구 방향 동,서,남,북 국가코드 82,32,42,52,62,75 위의 조합을 가진 구조체나 객체를 만들어 더욱 강력한 기능을 만들어 내는 것도, 나쁘지 않아 보인다. 그러나, 위의 조합을 사용할 때는 항상 인스턴스화 가 선행되어야 하고, 이는 프로젝트 규모가 커질수록 개발자의 실수로 인하여, 런타임 오류 혹은 컴파일 오류 가 발생하기..
초기화 구문 초기화 구문은 init으로 시작되는 생성자 함수를 의미합니다. 초기화 구문의 가장 큰 목적은 인스턴스 마다 멤버 프로퍼티의 값을 “설정하기 위함” 입니다. TIP : 멤버 와이즈 초기화 구문은 구조체만 가능합니다. 초기화 메서드 특성 초기화 메서드의 형식은 다음과 같습니다. init([param] : [type]){ //실행할 코드 }Tip : 만약 설정할 멤버가 존재하지 않는다면 init 메서드는 생략 할 수 있습니다. 초기화 메서드의 특성은 다음과 같습니다. 초기화 메서드의 이름은 무조건 init 이다. 매개변수의 개수, 이름, 타입은 임의로 정할 수 있으나, 해당 init 구문을 통해서 옵셔널 타입을 제외한 모든 저장 프로퍼티는 값을 가지고 있어야 한다. 매개변수의 이름과 개수, 타입이..
메서드 메서드는 일종의 함수로써 클래스나, 구조체, 열거형과 같은 객체 내에서 함수가 선언 될 경우 이를 메소드라고 통칭한다. 메서드는 객체 내부에서 정의되어 객체를 통해 사용이 가능하다는 점이 일반 함수와 차이점이다. 메서드의 종류는 클래스 메서드와 인스턴스 메서드 이렇게 두 종류가 있다. 인스턴스 메서드는 인스턴스화 된 객체를 통해서만 사용이 가능하고, 클래스 메서드는 인스턴스를 통하지 않고, 사용 할 수 있다는 점이 다르다. 인스턴스 메서드 import UIKit; class Foo{ func FooFunc () -> String { print("FooFunc실행"); return "hello method"; } } let myFoo = Foo(); let message = myFoo.FooFunc..
클로져란 ? 보통 다른 프로그래밍 언어를 배울 때 Closure를 의미하는 것은 함수가 스코프가 유지 되었을 경우, 함수 내부에 있는 변수는 메모리에서 해제 되지 않는 것 을 의미하는데, 이는 소프트웨어 아키텍쳐 적인 의미의 클로져이다. swift에서의 클로져는 익명 함수 를 의미 합니다. 익명함수는 재사용 할 가능성이 적어 특정 코드 부분에서만 사용 되는 코드 집합으로, 콜백 패턴과 더불어 사용해서 함수 내부에 필요한 시기에 코드를 실행 할 수 있다는 장점이 존재합니다. 스위프트에는 다음과 같은 3개의 클로저 객체가 존재합니다. 전역 함수 이름이 있으며 주변 환경에서 캡처할 어떤 값도 없는 클로저 중첩 함수 이름이 있으며 자신을 둘러싼 함수로부터 값을 캡처할 수 있는 클로저 클로저 표현식 이름이 없으며..
값에 의한 전달 var x = 1; func add(x : Int){ x += 1; print(x) } add(x : x); //2 print(x); //1우리가 함수에 전달인자로 어떤 값을 전달하게 되면, 함수 내부에서 매개변수의 값을 증가를 시켜도, 전달인자로 전달한 변수나 상수는 값이 변하지 않는 것을 볼 수 있다. 이는 함수의 전달인자로 변수를 전달 하였을 때, 메모리 주소자체를 넘겨주는 것이 아닌 메모리 내부에 존재하는 값을 전달 하여, 매개변수에 할당 하였기 때문이다. 이를 값에 의한 전달이라 한다. 참조에 의한 전달 class Student{ var age : Int; var name : String; init(age : Int,name : String){ self.age = age; sel..
함수란 ? 독립적으로 실행 가능한 코드이다. 함수 정의 템플릿 func 함수이름 (매개변수명1 : 타입, 매개변수명2 : 타입) -> 반환 타입 { 실행내용 return 반환값 } 예시 코드 func sum(x : Int, y : Int) -> Int{ print("매개변수1 \(x) , 매개변수2 \(y)"); return x + y; } Note : 매개변수가 존재하지 않는다면 작성하지 않아도 된다. Note : return 하는 값이 존재하지 않다면, void 타입을 명시해주지 않아도 된다. 함수 식별자 func sum(x : Int, y : Int) -> Int{ print("매개변수1 \(x) , 매개변수2 \(y)"); print("매개변수명 x,y") return x + y; } func s..