분류 전체보기 68

UIKit과 Foundation 간단 요약 - Swift / iOS

UIKit 📚 Construct and manage a graphical, event-driven user interface for your iOS or tvOS app. “UIKit은 iOS와 tvOS 앱을 위한 그래픽과 이벤트 기반 사용자 인터페이스를 구성 및 관리하는 인터페이스이다.” 안에 어떤 것들이 들어 있는가? window 및 view 아키텍쳐, multi-touch 와 같이 입력을 제공하는 이벤트를 처리하는 인프라 제공 사용자, 시스템 및 앱 간의 상호작용을 관리하는데 필요한 main run loop 제공 애니메이션, 문서, 그리기, 현재 장치 정보, 텍스트 관리, 디스플레이, 검색, 접근성, 앱 확장 및 리소스 관리 지원 → UIKit을 import하면 Foundation도 import 되..

일단메모 2022.03.31

BFS/DFS 간단 예제 - Swift

개념 BFS (Breath First Search) 너비 우선 순회 queue로 구현 (queue를 활용하기 때문에 FIFO) 장점 : 최적해를 찾을 것을 보장한다 ex) 지구 상에 존재하는 모든 친구 관계를 그래프로 표현 후, 짱구와 철수 사이의 관계 경로를 찾는 경우 BFS : 짱구와 가까운 관계부터 살핀다 DFS : 지구 상 모든 관계를 다 살펴봐야할지도,, 로직 시작 노드를 큐에 삽입하고 방문처리 큐에서 노드를 꺼낸 뒤 해당 노드의 인접 노드 중 방문하지 않은 노드를 모두 큐에 삽입 후 방문처리 (방문하면 현재 위치는 pop해주고 방문처리 -> 방문할 곳은 queue에 넣음) DFS (Depth First Search) 깊이 우선 순회 stack과 재귀 함수로 구현 두 노드 사이의 최단 경로 혹..

[OS] Process 와 Thread 간단 개념정리 (+ mutex, semaphore)

프로세스 (Process) 단순히 실행 중인 프로그램을 말한다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행중인 것을 말한다. 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원, 스레드로 구성된다. 하나의 프로세스를 구성하는 스레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다. 각각의 스레드는 독립적인 작업을 수행해야 하기 때문에 각자 스택과 PC 레지스터 값을 가지고 있다. [ Q. 스택을 스레드마다 독립적으로 할당하는 이유는? ] 스택은 함수 호출 시 전달되는 인자, 되돌아갈 주소값, 함수 내에서 선언하는 변수 등을 저장하기 위해 사용되는 메모리 공간이다. 스택 메모리 공간이 독립적이라는 것은 독립적인 함수 호출이 가능하다는 것이고, 이는 독립적인 실행 흐..

면접대비 2022.02.25

[자료구조] Trie - Swift

Trie 문자열 검색 문제에 특화된 트리 형태의 자료구조. 원하는 문자열을 O(m) (m = 문자열의 길이) 시간복잡도로 찾을 수 있다. struct Trie 내의 Trie 포인터 배열을 가지고 해당 키에 맞는 포인터로 이어지는 구조. Trie는 검색 후보 문자열을 하나의 트리로 만들어서, 한번의 검색 O(m) 만으로 문자열의 존재 여부를 검색 가능하다. 주의 항상 첫번째 root 노드는 빈칸이다. 트라이 객체마다 트라이 포인터 배열을 경우의 수만큼 가져야 하므로 공간복잡도가 매우 커질 수 있다. 공간복잡도 : O(key의 경우의수 * 포인터 크기 * 전체 트라이에 존재하는 노드 수) 필수 1) 다음 두 가지를 가지고 있어야 한다. - child (자식 노드를 담는 배열) - isTerminal (어떤 ..

[ 프로그래머스 ] 거리두기 확인하기 - python

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제 요약 - 멘해튼 거리 : |y1 - y2| + |x1 - x2| - 어떤 ..

Python 2022.02.11

TableViewCell 안의 버튼 액션이 작동하지 않음

구현하고자 하는 기능 화면 진입 시 기존에 내가 설정한 성별 정보가 뜨고, cell 안의 버튼을 눌러 성별을 변경하고 화면을 벗어나면 변경된 성별을 서버에 전달해 저장하고자 한다. cell 구성 이슈 버튼 action을 분명히 추가해줬고 작동해야하는데 cell 만 눌리고 버튼이 눌리지 않았다. 원인 버튼을 cell의 contentView.addSubView() 했어야 했는데 cell의 view에 addSubView()를 하여서 주어서 버튼이 contentView 아래에 있어서 버튼이 눌리지 않았다. 해결 버튼을 contentView.addSubView() 에 넣어주었다. 그리고 실행해보니 버튼이 contentView 위로 올라와 있어 버튼 액션이 잘 작동하였다. 제대로 해준 것 같은데 컴포넌트가 안눌린다..

Trouble Shooting 2022.02.11

Git 이 뭐에요, github은 또 뭔데요..먹는거에요..? (전체적인 틀 정리)

와우 친구들~ 최근에 근손실 날까봐 움직이지 않다가 잔병치례를..(쿨럭 코로나 아님) 서론이 TMI 였네요. 자자 그럼 본격적으로 주제로 가보겠습니다.. Git 이란? (사이트 링크) 사이트 들어가보면 영어로 뭐라고 써있죠? 그대로 해석해보면... - 깃은 무료이고 오픈소스이며, 작은 프로젝트에서 매우 큰 프로젝트까지 모든 것을 빠르고 효율적으로 관리할 수 있는 분산 버전 관리 시스템이다. - 깃은 배우기 쉽고, 가볍고 빠른 성능을 가진 아주 작은 발자국(흔적을 남길 수 있는 무언가)을 가지고 있다. 말은 어려운데 그냥 간단하게 말하면 - 꽁짜임. 이거 사용하면 프로젝트 관리하기 편하다? - 심지어 쉽고, 성능도 좋아 이거에요. 프로젝트를 관리하기 편하다는게 무슨말이지 한다면... 사진하나로 설명이 가능..

기타 개발관련 2022.02.09

호캉스 감성 코딩 일기 (11/23 - 26)

개인 프로젝트를 하느라 바빠서 블로그에 휴식겸 소소한 일상을 적어보려다가 실패하고 한참이 지난 이제서야 올리게 되었다... 나 자신 너무 열심히 살았는가? -> [ YES ] 늦잠 자고 느즈막히 아점 먹는 상상을 했으나 어림도 없지. 아침에 일어나서 컴퓨터 세팅하고 수업들을 준비... 그래도 느낌은 있죠? (뭔가 커리어 우먼된 기분이랄까) 수업을 듣고나서는 점심을 먹으러 밖으로 외출! 돌아 다니다가 랜디스 도넛 발견 (집 갈 때 사가야지) 태국 쌀국수 맛집으로 유명한 소이 연남 쌀국수를 좋아하지 않는데도 꽤 맛있게 먹었습니다. (홍대 들르실 분중에 나는 쌀국수를 좋아한다! -> 꼭 방문할 것) 원래 줄 서서 먹는다고 하던데, 평일 아침이라 그런가 사람이 없어서 호캉스하던 백수는 줄 안 서고 프리패스 했습..

끄적끄적 2021.12.06

CollectionView cell 커스텀 하기 (해 달라는 대로 다 해줬잖아...) - iOS

한 줄에 2개의 cell을 보여주고 싶다면? 어떻게 스토리보드를 구성해야할까? . . . . [ 문제 상황 ] collectionView를 사용하면서 cell을 1줄에 2개씩 보여주고 싶었다. 그런데 아무리 cell 여백과 사이즈를 지정해줘도 계속 아래와 같이 떴다. collectionViewDelegateFlowLayout을 설정해줬는데도 왜 그러지.. 스토리보드의 문제인가 하고 [ TRY 1 ] 아래와 같이 xib 파일을 생성하여 cell을 커스텀 해주었다. 코드는 아래와 같이 적어주었었다. 그래도 결과는 똑같았다.... 왜지.. 너무 공감되어서 생각난 김에 가져왔습니다.. (욕이 많아서 가렸어요ㅎㅎ,, 많이 화나셨었나봄.) 아무튼. 2시간 정도 헤맸는데....ㅠㅠㅠ 내가 작성해주지 않은 부분이 있었..

Trouble Shooting 2021.11.24

나에게 주는 휴식(일 계획이었는데..)

원래는 2주 전에 계획했던 나 스스로에게 주는 휴식. 한 2주정도 어딘가 숙소를 구하고 오로지 나만을 위한 시간을 가져보려했다. (물론 공부는 계속..) . . . . 백신과 평가과제를 하면서 그 시작이 미뤄졌고, 기간이 짧아졌다ㅠㅠ 호텔 도착하자마자 프로젝트 부터 마저하기.. 낮에 작성하던 기능이 신경쓰여서 쉴 수가 없음.. 이것만 하고 쉬어야지🥕🥕🥕 "여유를 갖고 휴식을 갖기엔 타이밍이 아닌 것 같다." "할거 다하고 나중에 쉬자." 이런 생각으로 계속 미뤄왔는데, 그럼 도대체 언제 쉴 수 있지? 계속 할 일은 있을 거고, 바쁠 텐데. ( 나는 미래에 매우 유망하고 엄청난 iOS 개발자가 되어있을 예정인 사람이기 때문) 바쁜 와중에도 틈틈히 나만의 시간을 즐길 수 있으면 되었다고 생각을 한다. 🌈 요..

끄적끄적 2021.11.24
반응형
1 2 3 4 5 6 7