피그마와 친해지는 시간을 가져봤다. 원래 디자인을 전공해서 그런지 익숙하기도 하고 오랜만이라 흥미롭게 배웠는데, 디자인의 매력은 역시 직관적인 것이 가장 큰 것 같다. 오늘 배운 것 중 오토 레이아웃, 플러그인, 레이어 정렬 기능을 중점적으로 학습했다.오토 레이아웃 :
오늘 한 과제의 내용은 이렇다.해당 과제를 보고 나는 1번부터 차례대로 적어내려갔다. 이렇게 1번을 완료하고나서 다른 팀원이 한 것을 봤는데 class를 이용해 이렇게 정리를 했더라.final class로 정의된 UserInfo 클래스를 이용한 것이 답과 달라서 신박했
성적관리 시스템은 과제를 진행하고도 복습만 4번 이상 한 듯 하다.학생, 과목, 성적을 관리하기 위해 Dictionary, Set, Array를 사용했는데, 이 구조를 활용함으로써 정보들을 효율적으로 저장하고 관리할 수 있겠다 라고 생각했다. 각 구조가 어떤 상황에서
오늘 클래스를 만들고 그 클래스 안에 여러 함수를 구현하는걸 중심적으로 공부했다. 하기 전에, 먼저 클래스가 무엇인지부터 이해하는 것이 중요했기 때문에 개념부터 확실히 잡고 들어가고 싶었다.클래스는 설계도와 같고 이 설계도를 바탕으로 실제 인스턴스를 만들어야 한다는 개
오늘 팀원과 swiftUI를 찍먹하다가 enum 을 사용했는데 (막 따라치느라 검색을 못 해봄) 간단히 만들어볼 다마고치 유형의 프로젝트를 만드는 중, 성별을 지정하는 부분에서 사용 된 enum에 대해 간단히라도 짚고 넘어가려한다. 배운 것 같은데 기억이 나지 않
어제 enum에 대한 TIL을 작성했는데, 댓글에 또 공부거리를 제공해주신 팀원님 덕분에 한번 알아볼 겸 오늘의 TIL을 작성해보려한다.CaseIterable은 영어 단어로 "Case"와 "Iterable"이라는 두 단어로 이루어져 있다.Case : 선택지나 항목을 의
오늘 팀원이 계좌관리 시스템 구축 과제를 했는데 내가 한 것과 달라서 궁금하여 이참에 TIL거리로 삼아 공부하기로 했다. 코드를 쓴 걸 보다가 willSet이라는걸 봤는데 팀원의 블로그 글 중 마지막에 'willSet을 사용하던 didSet을 사용하던 출력은 같다'
복문은 같은 작업을 여러 번 반복할 때 사용하는 구문이다. Swift에서 반복문은 여러 가지 방식으로 사용할 수 있으며, 크게 세 가지 주요 종류가 있다 for-in 반복문, while 반복문, 그리고 repeat-while 반복문. 각각의 반복문을 간단하게 짚어보
willSet 의 심화로 온도조절 시스템을 만들어보자 개인적으로 나는 28도 이상이면 덥고 16도 이하면 춥기 때문에 온도 설정을 그에 맞게 지정해주었다. willSet을 이용하여 온도가 변할 예정임을 알려주는 멘트와 변경 된 후 didSet을 이용해 변경이 되었음을
코모도로란? 코딩공부 + 뽀모도로타이머 = 코모도로 타이머 ! 앱 개발은 단순한 코딩 작업 이상의 과정이라고 생각한다. 성공적인 앱은 철저한 기획을 통해 탄생할 수 있고 이 과정은 개발의 방향성과 사용자 경험에 큰 영향을 미치기 때문이다. 오늘 기획해 보면서 중요
우선 처음 배운대로 배경화면을 설정해주고 가운데에 Button을 추가하여 임시로 TAP이라고 지어주었다. 디테일은 접어두고 실행이 되게끔 하는 것이 중요하니 25분의 타이머가 잘 되는지 확인하고 싶었기 때문에 버튼을 우클릭하여 코드와 연결해준다. 여기서 연결이 된 @
내가 바로 전에 쓴 글을 보다가 DispatchQueue를 뭘 알고 적었는지 모르겠더라 ... 구글에 검색했을 당시에는 타이머가 시작한 후 픽셀이 떨어질 때 픽셀들이 쌓여 바닥부터 차오르는 애니메이션을 구현하기 위해서 코드를 보고 작성한 걸로 기억이 난다. 그런데,
전에 디스패치큐에 대해 깊게 파고드느라 일시정지 됐을 때 앱이 정지되는 오류 개선을 오늘 하게 되었다.이것도 너무 오래 걸렸는데 .. 우선 코드를 변경한 부분 부터 살펴볼텐데, 변경 전과 후의 코드를 비교하며 설명해보려한다.변경 전 변경 후 : tapButton을 최상
알고리즘 문제를 풀어보라고 하는 팀원이 문제를 던져주었다.33 = 944 = 169+16 = 25제일 긴 변 5\*5 =25 이니.. 오케이 대충 공식 이해 완답이 잘 나오는걸 확인하고 그대로 복붙해서 검사했더니..ㅎㅎㅎㅎ 오늘 어차피 많이 틀렸어서 괜찮다...코드는
타이머를 만들다가 (action: () -> Void) 라는 코드를 작성하게 되었는데 저게 뭐지 ? 싶었다. 알아보니 (action: () -> Void) 에서 Void 는 반환 값이 없다는 것을 의미한다고 하는데, 쉽게 말하면 " 아무 값도 돌려주지 않는 함수 (클로
전에 컬렉션에 대해 썼던 블로그에 간단하게 이니셜라이저에 대한 내용을 적긴 했지만 자세히 다뤄보지는 못했다. 오늘은 객체 생성자와 해제자까지 통틀어 한번 쉽게 이해해보려 한다. 생성자 ( Initializer )] 생성자는 객체가 처음 생성될 때 호출되어 객체의
이름하야 피닉스 톩크 !!!!!! 라고 했는데 아직 미정이다.본캠프를 들어가기 전 날 나답지 않게 긴장을 해서 그런지 아침 6시까지 뜬 눈으로 지새우고 결국 잠을 포기하고 얌전히 의자에 앉아 본캠프OT을 기다렸다. 그리고 42시간이 지났다. 제정신으로 쓰는게 아니라
형상 관리 도구 중 하나이다.형상관리 도구는 소프트웨어를 개발하는 과정에서 발생하는 변경사항을 체계적으로 관리하기 위한 도구라고 한다. 그리고 깃허브는 깃 저장소를 온라인에서 관리할 수 있게 해주는 웹 기반 플랫폼인데, 깃을 사용하면 원격 저장소에 깃으로 관리하는 프로
우선 시작은 파일을 넣어줄 폴더를 만드는 것, test라는 이름으로 새폴더를 만들었다.그리고 가져올 프로젝트를 clone 해야하니 터미널을 열어서 프로젝트 주소를 가져와 클론해줄 것이다.주소 복사 꼭 해주고 아 해당 폴더에 저장할 것을 알려줘야하니 꼭 저장할 폴더에서
우리는 주작톡의 런치 이미지가 너무 빨리 없어져버리는 것에 대해 딜레이를 주기로 했다.위 코드는 튜터님의 도움을 받아 완성된 딜레이코드이다. 실행되면 딜레이가 잘 들어가는 걸 확인할 수 있었다.그런데 만약 내가 마음이 바뀌어서 런치스크린에 페이드인/아웃 애니메이션을 넣
오늘 프로그래머스로 위 문제 4개를 풀어보고 풀이를 기록해보려한다.나의 답)문제를 봤을 때 이미 readLine()! 까지 적혀있어서 print(s1) 만 작성하면 끝나는 간단한 문제였다.나의 답)위 문제와 마찬가지로 print 구문만 작성하여 해당 문제도 해결. 나의
기분탓인지 모르겠지만 어제보단 쉬운 느낌? 오늘 일단 4개만 풀고 일요일에 좀 많이 풀어볼까 한다.나의 답)import Foundationlet n = readLine()!.components(separatedBy: " ").map { Int($0)! }let (a,
나의 답)일단 문제를 보자마자 아 이거 삼항연산자 이용하면 되겠다! 가 바로 머리에 떠올랐다. 기본적으로 삼항연산자는 ,조건 ? 참일 때의 값 : 거짓일 때의 값이라는 것이 전제하기 때문에 그냥 프린트 구문안에 바로 조건을 넣어버렸더니 정답이었다. 처음에 생각했던 풀이
나의 답) 돌렸는데... ?????? 테스트 18번 중에 1개 틀린거면 통과 해주지 ... ㅠ 그마저 시간 초과인데... 설마,, 상수 이름이 길어서 그런가 싶어 이름을 간단하게 a, b, c 로만 바꿔서 다시 돌려봤다. ???? 머세요 ㅜ 풀기까지 과정
오늘 swift 문법 종합반 1주차 강의를 듣고 계산기를 만들어보는 과자게 있다. 앞서 배운 문법 내용들을 활용하여 만들어야하는데, 레벨 1~4 까지 있지만 레벨 3까지는 필수이며, 레벨 4는 할 수 있다면 해보는 것으로 선택할 수 있다. Lv. 1 더하기( +
1번. 각 클래스를 만들고 클래스간에 관계를 고려해서 calculator 클래스와 관계를 맺기. 클래스가 다른 클래스를 참조하거나 다른 클래스의 인스턴스를 생성하거나 의존성을 주입받는다거나. 오퍼레이트를 따르는 객체를 받는것. 이니셜라이저로 받은 부분 2. ca
우선 객체 지향 프로그래밍 이라는 뜻을 알아야하기 때문에 살펴보자면 계산기를 만들 때 이따금씩 듣게 되었던 OOP 가 객체 지향 프로그램이었다.Object-Oriented Programming, OOP 어떤 데이터를 입력 받아 순서대로 처리하고 결과를 도출해내는 명령어
SOLID는 다섯 가지 원칙으로 구성되어 있다 SOLID 는 객체지향 프로그래밍(OOP)에서 좋은 설계를 위한 다섯 가지 원칙을 나타내는 약어다. (솔직히 솔리드 들었을 때 가수 솔리드 밖에 떠오르지 않았다) 아무튼 이 원칙은 객체지향 설계에서 코드를 더 유지보수
나의 답) 이걸 풀기 앞서 zip 이라는 함수를 먼저 공부해야했다. zip의 기본 형태를 보자.zip 은 배열이나 문자열을 한 쌍으로 묶어서 새로운 시퀀스를 만드는 함수인데,zip을 사용하면 두 시퀀스를 동시에 순회할 수 있다보니.. 번갈아가며 값을 결합하거나 연산할
나의 답)사실 이것도 뭔가 메서드를 이용하는게 아닐까.. 하고 파이썬으로 푸는 방법을 검색해봤다.근데 파이선에서는 join 이라는 메서드로 이용하길래 파이썬이랑 swift는 비슷하니 구글에 검색해봤더니, 바로 joined 메서드가 나왔다.공식문서까지 확인하니 매우 흡사
이번 주 과제를 받았는데, Command Line Tool 프로젝트로 과제를 진행하라고 한다.왜 그걸로 하는건지 궁금했다.MacOS 의 Command Line Tool 는 주로 콘솔에서 간단하게 사용자와 상호작용할 수 있기 때문이라고 하는데,Command Line To
오늘 Lv.2 와 이어 어제 하지 못한 Input으로 입력받는 것 까지 구현을 해보려고 한다. 우선 만들어볼 클래스를 정리했다. 꼬질 글로 정리.. 진짜 급하게 써서 그렇다 원래 글씨 이쁘ㄷr * 코드로 옮긴 후)* 정답 클래스 만들기 Input 클래스 만들
갈아 엎었다.내 기준 그렇다.전 코드에서는 if else 로 줄줄이 이어져 내려왔다. 하지만 보다보니 (다른 수강생분들이 하는 것과 비교해보니) ,guard 문을 많이들 사용하더라. 보다보니 왜 쓰는지 알았다.뭔가 조건이 만족하지 않으면 처리되는 부분이 한눈에 보기 편
스린이인 내가 이걸 만들다니.......
어제 블로그 작성한 부분 중에 내가 Character 타입에 대해 이해하지 못해,튜터님을 찾아갔었다는 내용이 있다.튜터님을 찾아가고 나서 문제는 해결 했지만, 짚고 가야할 부분과더 고민해볼 포인트, 그리고 그 고민을 해결할 수 있는 필요배경지식에 대해 공부해보라며 친절
문자..열....곱하...기?
나의 답)난 예전에 코테 잘 풀고 싶어서 코테할 때 자주 쓰이는 함수들 << 예전에 이 분의 글을 보고 코테할 때 요긴하게 쓰이나보다 하며 메모한 게 기억이 났다.해당 블로그에서 본 max 랑 min 이 생각 났는데 이번 문제에서는큰 값을 가져와야하니까..
stride 짱이에요 진자로
강의를 듣다가 스크롤 뷰 위에 스택 뷰를 얹고priority 를 1000 에서 250 으로 낮추는 내용이 나왔다.해당 부분인데, 이렇게 하면 유연성이 높아져서.. 스크롤이 잘 된다라고 하시며부연설명도 해주셨지만 좀처럼 이해가 되지 않았다.오늘 마무리 시간에 팀원들과 데
Xcode 코드베이스 강의를 듣다가 스냅킷을 설치하는 부분이 있었는데,설치 후 import Snpkit 이라 쓰면 오류나고..어찌저찌 타겟에 추가를 해서 빌드하면 ...' no such file or directory ' <- 이 오류 때문에 빌드가 되지 않음..
코드베이스로 구현하고자 할 때는 몇 가지 셋팅을 해줘야한다. 1. Main 스토리보드 지우기 메인 스토리보드는 그냥 클릭 후 백스페이스를 누르면 지워진다 . "지울거냐?" " ㅇㅇ 레츠 고 트레시 트레시" 2. Build Settings에서 main 지우기
그래 레벨 1 까진 강의에서 배운대로 했더니 괜찮았다. 근데 레벨 2 부터 UIStackView 를 쓰라고 할 줄은 몰랐지ㅜ우선 스택뷰는 총 4개가 필요할 것 같고 저 4개를 한번에 또 묶어주는 작업도 필요할 것 같다.그냥 buttons 라는 메서드를 만들어서 그 안에
메모리 구조 자료 구조 공부만 5번은 넘게 한 것 같은데 왜 뇌에 안 들어오죠 그래도 코딩은 좋아
삼항연산자 이용하면 꿀인데....
저번주에 여기까지 하고 마무리를 했다.버튼을 눌렀을 때 해당 버튼이 눌리는 것 까지 프린트로 확인했으니, 오늘은 숫자를 눌렀을 때 화면에 숫자를 띄워주고 등등 레벨 8단계까지 해보려한다.자 가보자아아아일단 숫자를 치면 label에 나오게 해봐야할 것 같다.저번에 만들어
나의 답)알고리즘 반이 생겨서 세 문제를 받게 되었는데, 이게 제일 뭔가 어려웠다.심지어 다른건 난이도가 1단계이고 이건 0단계인데... 어렵던데 ㅜ 라며 부정했다.우선 array에 들어있는 정수를 정리해야했다.result 라는 변수를 먼저 선언해주고 배열의 첫번째를
우연히 어제 코딩테스트 관련 블로그를 보다가 "재귀적으로 문제를 해결 할 수 있다."라는 문구를 봤다. 그런데 오늘 자료구조 특강 시간에 재귀함수의 대한 내용이 나와서 어?이건 공부하라는 계시구나 ㅎㅎ 하고 공부해봤다.재귀함수, 재귀호출 이런 말을 들을 때 잘 몰랐지만
오늘 MVC, MVVM 대해 간략한 공부를 했었다.내가 알아 본 결과 간단히 표현하자면, MVC와 MVVM 중 어떤 패턴을 따를지 결정하는 기준은 간단한 프로젝트일 경우,MVC 패턴이 적합하다.현재와 같은 소규모 앱에서는 MVC 구조만으로도 충분히 유지보수 가능한 코드