의존성?INtro...네이버 부스트캠프 그룹분들이랑 이야기를 하는 과정에서의존성 주입과 관련된 이야기가 나왔다. 사실 개발을 깊이 공부해본 적도 없고, 컴퓨터공학과를 다니면서 많은 수업을 들은 것도 아니었기 때문에, 무슨 말이지? 라는 생각만 하게 된 것 같다. 의존성이란 말은 객체지향에 대해 입문을 하게 되면서 반드시 듣는 용어인 것 같다. 네부캠 수업에서도 그렇고, 그룹원들의 지식에 따라가보기 위해 이에 대한 내용을 학습해보고자 한다..!시작하기 앞서..공부하는 과정에서 작성하는 글이라 두서 없이, 진행될 수도 있습니다.추가로 예시는 맨시티에 관련된 것이 많을 수 있습니다…🌐의존성 주입은 객체에 인스턴스 변수를 주는 것을 의미합니다. 정말입니다. 그게 전부입니다. - 제임스 쇼어 의존성?우선 의존성..
Test Code? 테스트에 대해서 먼저 알아보도록 하자.소프트웨어 테스트란 무엇인가요? | IBM 소프트웨어 테스트란 무엇인가요? | IBM소프트웨어 테스트는 소프트웨어 제품이나 애플리케이션이 올바르게 작동하고 있는지 평가하고 검증하는 프로세스입니다.www.ibm.com 소프트웨어 개발 테스트 소프트웨어 개발 테스트소프트웨어 개발 단계 중 하나인 테스트에 대해 알아보자.velog.io [위의 2개의 사이트를 참고하였다]우선 소프트웨어 테스트란 뭘까?→ 역시 개발자는 귀찮은 거는 못 참는 거 같다. 소프트웨어 테스트는 소프트웨어 제품이나 애플리케이션이 올바르게 작동하고 있는지 평가하고 검증하는 프로세스입니다. 잘 수행된 테스트는 버그 방지와 성능 개선 등의 이점을 제공합니다.음… 그러면 “평가, 검..
날짜: 2024년 8월 22일태그: delegate, iOS 이와 같은 텍스트필드가 존재하는 View가 있다.해당 텍스트필드는 해당 뷰컨트롤러(뷰)와는 분리된 또다른 객체이다.유저와 직접적인 커뮤니케이션을 하는 부분으로내부에서 키보드가 동작하며, 키보드는 OS의 관리 영역이다.사용자가 어떠한 동작을 한 뒤에, 동작을 다시 뷰컨트롤러에 전달하는 커뮤니케이션 과정이 일어난다. 동작의 형태로는 디테일하게 여러가지가 존재한다.etc: 입력 시작, 종료, 변경 .. 등등이와 별개로 버튼의 경우(추천, blue, red…)는 IBAction을 통해 뷰컨트롤러와 직접적인 커뮤니케이션이 가능하다. 즉, 정리해보면텍스트필드는 유저와 커뮤니케이션을 따로 해준 뒤에뷰컨트롤러에 동작을 전달해준다.그러면 어떻게 코드로..
ViewController날짜: 2024년 8월 21일태그: Swift, UIKit, iOS앱의 생명주기?어떤 앱을 실행 중일 때 전화가 오는 상황을 가정해보자.원래 실행 중이던 앱은..?잠깐 비활성화 상태로게임 중이던 모든 데이터는?저장이 안되서 날아갈 수도 있음앱의 실행(메모리에 올라감)부터 앱이 백그라운드로 / 앱의 종료까지를 포괄적으로 표현하는 개념앱의 실행이 시작되서, 앱이 종료(메모리에서 내려감)되기까지의 주기가 존재[그래서 왜 알아야 함?](상태 변화의) 해당 시점에 호출되는 함수들이 있음예시 ) 앱이 실행중이다가, 다른 앱으로 전환되는 시점에 (특정) 함수가 호출됨게임 데이터 유지… etc 여러 상황에 사용 가능ViewController의 생명주기뷰 컨트롤러에도 생명주기가 존재왜 필요할까?..
UIKit??날짜: 2024년 8월 19일SwiftUI 프레임워크로 처음 iOS 앱에 입문을 하게 되었지만,이번 네이버 부스트캠프 과정에서 UIKit을 다루게 되었다.그래서 이번 일을 계기로 UIKit (아직 현업에서는 많이 쓰인다… iOS 버전 때문에) 에 대해 조금 알아보고자 한다.가장 대표적인 차이가 뭔데?많은 사람들이 정의하는 한 문장으론여기서 UIKit는 명령형SwiftUI는 선언형이다.“명령형과 선언형의 차이” 라고 한다.명령형이란?명령형 프로그래밍(命令型 프로그래밍, 영어: imperative programming)은 선언형 프로그래밍과 반대되는 개념으로, 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종이다. 자연 언어에서의 명령법이 어떤 동작..
드디어 여름방학 동안 달렸던 부스트캠프 웹・모바일 9기 챌린지 과정이 모두 마무리 되었습니다. https://boostcamp.connect.or.kr/ 부스트캠프개발자의 지속 가능한 성장을 위한 학습 커뮤니티boostcamp.connect.or.kr 부스트캠프는 베이직 - 챌린지 - 멤버십 과정으로 이어져있습니다.. 비록 챌린지 과정에 대한 글을 적을 거지만... 부스트 캠프를 어떻게 알게 되었고, 챌린지 과정 전, 후의 마음가짐 변화에 대해 적어보자 합니다.. 간단히 저에 대해 소개를 좀 적자면..! S025, 너는 누구니? 우선 저는 컴퓨터공학부 3학년 학생입니다. 컴퓨터공학부에 들어오게 된 건... (재수 후) 20학번으로 입학 할 때 IT 업계 붐이 일어나기도 했었고.. 가족 중에 칼취업(..?..
회고록3학년 1학기는 진짜 전설이다..이번학기는 정말 너무 힘들었다. 공대 3학년이면 정말 힘들거라는 생각을 무시한 채 일을 벌려놨던 나에 대한 반성도 조금 하게 된다.그치만 일단은 끝나셨잖아~이번학기 내가 했던 것들은 아래와 같다.전공 수업 5개 + (체감상 전공보다 어려운) 지정 교양[운영체제, 데이터베이스, 모바일 프로그래밍, 웹 프로그래밍, 산학협력프로젝트], 확률과 통계GDSC iOS 멤버KUIT iOS 스터디장뤼튼 아이디어톤 운영진kprintf 운영스태프아래 운영진, 스태프는 2~3일 정도씩만 고생하면 되었던 거라.. 운영 총괄하는 분들이 훨씬 힘들었을 거다.사실 이번학기는 대학생으로서 할 수 있는, 그리고 내가 해보고 싶었던 것들을 많이 해본 의미있는 학기이기도 하다. 나는 개발에 (아직은)..
3주차 - 완전탐색, 백트래킹 순서 상관있음 → 순열 + 로직 상관없음 → 조합 + 로직 계산 횟수 1억 미만 완전탐색 재귀함수를 활용한 완전탐색 반복문으로 되면 무조건 반복문으로. 그 외 너무 복잡하거나 어떠한 행이는 반복하는데 매개변수만 수정해서 넘기면 될 거 같다면..? 재귀함수로 조합 or 순열 + (DFS, BFS 등 알고리즘) 경우의 수 마다 생각해야 하는 로직도 나옴 최대 최소 문제에서 가질 수 없는 범위로 초기값을 설정하기 백트래킹 완전탐색 & 가지치기 최대한 불필요한 과정을 지움 완전탐색 모든 경우의 수 원상복구도 잘해야!! 상태값이 그 다음의 경우의 수에 영향 미칠 때 문제풀이 치킨 거리 - GOLD5 15686번: 치킨 배달 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시..
2주차 - 그래프이론, DFS, BFS 그래프 이론의 기초 정점 노드 그래프를 형성하는 기본 단위 분할할 수 없는 객체이자, “점”으로 표현되는 위치, 사람, 물건 등이 될 수 있음 간선 정엄을 잇는 선 관계, 경로 indegree, outdegree ‘u’ → ‘v’로 가는 경로가 4개이면: u의 outdegree가 4, v의 indegree는 2 정점과 간선의 집합을 ‘그래프’라고 한다. 가중치 Tree(트리) 트리는 자식노드와 부모노드로 이루어진 계층적인 구조를 가지며 무방향그래프의 일종이자 사이클이 없는 자료구조를 의미한다. 방향그래프: directed graph 무방향그래프: undirected graph 트리는 무방향그래프를 중심으로 설명 directed edge → arc라고 부르기도 함 트..
초반 개념 관련 내용에서는 따로 정리하기 보다, 기존 정리된 글들이 더욱 좋다고 판단하여 참고하기 좋은 사이트만 첨부하였다. 복잡도(Complexity): 시간 복잡도와 공간 복잡도, 그리고 빅오(Big-O) 표기법 복잡도(Complexity): 시간 복잡도와 공간 복잡도, 그리고 빅오(Big-O) 표기법 시간 복잡도와 공간 복잡도, 그리고 빅오 표기법 velog.io 누적합 누적 합 누적 합 배열의 시작 인덱스위의 설명에서 배열 $A$의 시작 인덱스는 $1$로 사용했습니다. 그 이유는 $S[l-1]$ 때문입니다. 시작 인덱스가 $1$이면 $l$의 최솟값은 $1$이고, 여기서 $l-1$은 $0$입니다. 만약, 시작 book.acmicpc.net 누적합 배열이 정적이라는 가정하에서만 사용하도록 주의하자. ..