1. 반복 (Iterations) Codility Lesson 한국어 정리본 (JavaScript ver.) Codility 에서 제공하는 lesson의 open material 을 모두 한국어로 정리하는 동시에, 나는 JS 로 코딩테스트를 봐야하기 때문에 튜토리얼 속 파이썬 코드를 JS 코드로 바꿔 정리하게 되었다.100% 완벽한 번역본이 아닌 필자의 입맛대로 (벼락치기용 )ㅎ 정리한 내용이다.lesson 17까지 다 공부하고 문제 풀고 블로그에 포스팅까지 하는게 목표!반복문 (Iterations)프로그래밍에서 반복(iterating) 이란 프로그램의 일부를 여러 번 실행하는 것을 의미한다. 이 장에서는 반복을 수행할 수 있는 기본적인 프로그래밍 구조인 for문과 while문을 다룬다.1.1. For 루프 (For Loops)어떤 연산을 일정 횟수만큼 반복하거나, 특정 컬렉션의 각 요소에 대해 반복하려면 fo..
자료구조(Data Structure) 총정리 대표적 자료구조 및 알고리즘 정리최근에 자료구조 분류 도식, 배열(array), 연결 리스트(linked list), 스택(stack), 재귀함수와 스택 메모리, 큐(queue), 멀티스레딩과 큐에 대해 다시 공부했다. 이 외에도 해시테이블, 그래프, 트리, 힙 등 중요한 자료구조를 포함해 중요 자료구조 8개를 정리해보려한다. 0. 자료구조 분류 도식자료구조는 크게 선형(Linear) 자료구조와 비선형(Non-linear) 자료구조로 분류된다선형 자료구조:배열, 연결 리스트, 스택, 큐 등이 대표적특징: 메모리 상에 연속적 또는 순차적으로 데이터를 저장하며, 삽입/삭제 연산이 한쪽 끝 또는 중간에서 이루어짐비선형 자료구조:트리, 힙, 그래프 등이 있으며, 계층적 또는 네트워크 형태로 데이터를 저장특징: ..
당근알바 Software Developer Intern - Frontend 최종면접 후기 이번학기에 들어서 지원서를 좀 넣고 있는데, 너무 빠르게 첫 서류 통과이자 최종 면접의 기회가 왔다. 취업이 엄청 급한 시기는 아니라서, 그저 면접을 볼 수 있다는 것 자체만으로 감사했다. 다음교시 기말고사 보고 와서 이어서 쓸 예정..
[ADHD 아동을 위한 VR 프로그램 개발] 캡스톤 일지 2 - 나홀로 눈물파티한 .. 아동 실험 이야기 ✏️ 어쩌다 논문에 발을 들였을까..? 우리팀은 1학기를 나름 열심히 보냈다. 모든 것은 교수님이 어느 날 갑자기 카톡으로 논문 낼 곳을 알려주셨을 때부터 시작되었다. 이전에 '논문 한편 써야죠~' 라고 회의시간에 이야기가 나오긴 했었지만 ..ㅎㅎ 딱 이 시점부터 우리는 개발중이던 것을 마무리 지어야 했고, 실험 설계에 대한 고민을 하기 시작했던 것 같다. 애플아카데미에서나 타 앱 개발 프로젝트를 할때 유저테스트에 대해 많이 공부해보았기에, 실험 설계는 내가 하고싶다고 말씀드렸다. VR을 이용한 실험은 처음이었기 때문에 많이 알아보고, 프로토콜을 정말 잘 짜야겠다! 고 마음먹었었다. ifj 라 상상력은 부족하지만 돌발 상황은 무엇이 있을지, 할 수 있는한 많은 상황에 대해 마음의 준비를 해두었고, 예..
[ADHD 아동을 위한 VR 프로그램 개발] 캡스톤 일지 1 - 우리팀을 소개합니다 🐥 🤷🏻‍♀️ 도메인 비만 나가는 나의 블로그 , 왜 이제 돌아왔는가 아는 사람은 알겠지만,, 내 블로그의 도메인은 kimhaeun.com 이다. 온세상 김하은님들께 ,, 죄송하지만 내가 독점중 .... ^^! 작년 애플아카데미 극 초반에 SWIFT 내용을 정리하던게 마지막 글로 뜨니,... 무려 1년 반만에 이 블로그를 켠다.  내가 정말 글로 남겨두고 싶은 것이 생겼는데, 그건 바로 지금 졸업과제로 하고 있는!! 캡스톤 디자인의 과정이다.!   😎 우리팀을 소개합니다 내가 속한 팀은 총 4명으로 구성되어있다. 🧑🏻‍💻 🧑🏻‍💻 🧑🏻‍💻 👩🏻‍💻  한동대학교 이원형 교수님 랩실 (https://sirl.handong.edu/)에 소속되어 있으며,  현재 [ADHD 아동을 위한 V..
[Swift] how to create multiple preview import SwiftUI struct LandmarkList: View { var body: some View { NavigationView { List(landmarks) { landmark in NavigationLink { LandmarkDetail(landmark: landmark) } label: { LandmarkRow(landmark: landmark) } } .navigationTitle("Landmarks") } } } struct LandmarkList_Previews: PreviewProvider { static var previews: some View { ForEach(["iPhone SE (2nd generation)", "iPhone XS Max"], id: \.self) {..
[Swift] 반복문에서 id: \.id 의 의미 1. id 앞에 \. 이 붙는 이유, 반복문을 이용해서 리스트를 만들때 Key를 참조하는법 List(landmarks, id: \.id) { landmark in LandmarkRow(landmark: landmark) } 하지만 Landmark 코드에 struct Landmark: Hashable, Codable, Identifiable { 다음과 같이 Identifiable을 추가해주면 id key path는 삭제해도 된다. Identifiable 프로토콜을 구현하는 경우 id 프로퍼티를 직접 지정하지 않아도 List에서 요소를 식별할 수 있게 되어, key path를 따로 지정할 필요가 없기 때문이다! List(landmarks) { landmark in LandmarkRow(landmark: la..
[Swift] load(_:) method (fetching JSON data) 뜯어보기 import Foundation //Create an array of landmarks that you initialize from landmarkData.json. var landmarks: [Landmark] = load("landmarkData.json") func load(_ filename: String) -> T { let data: Data guard let file = Bundle.main.url(forResource: filename, withExtension: nil) else { fatalError("Couldn't find \(filename) in main bundle.") } do { // Data(contentsOf:) 메서드를 사용하여 파일의 내용을 Data 객체로 읽어온다...
[Swift] Swift 에서 Hashable, Codable은 뭘까? Protocol 알아보기 swiftui tutorial 의 예시 코드를 공부하다보면, Struct 뒤에 ~able 로 붙은 것들이 보인다. 이건 무엇이며 각각 어떤 역할을 할까? Hashable과 Codable은 스위프트 언어에서 프로토콜(Protocol)이다. 예시코드에서 각각의 의미 1. Hashable: Hashable 프로토콜은 객체를 고유한 해시값으로 매핑할 수 있도록 해주는 프로토콜이다. 해시값은 객체를 식별하는 데 사용되며, 해시 함수를 통해 계산된다. Hashable 프로토콜을 채택하면 해당 객체를 Set이나 Dictionary의 키로 사용할 수 있다. 또한, Hashable 프로토콜을 준수하는 객체는 집합(Set)과 같은 자료 구조에서 중복된 요소를 제거할 수 있다. Landmark 구조체의 인스턴스가 Hasha..