[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

전체 글 491

다양한 컬러코드를 색감별로 확인할 수 있는 사이트

https://flatuicolors.com/ Flat UI Colors 2 - 14 Color Palettes, 280 colors 🎨 280 handpicked colors ready for COPY & PASTE flatuicolors.com 많은 컬러코드를 한눈에 확인하고 복사할 수 있도록 만들어진 사이트이다. 재미있는 점은, 색감별로 Palette를 나눠놨다는 점이다. Palette를 고르고 원하는 색을 고르면 바로 컬러코드가 복사된다.

[Javascript] 다양한 이벤트를 참조할 수 있는 사이트

https://developer.mozilla.org/ko/docs/Web/Events 이벤트 참조 DOM 이벤트는 발생한 흥미로운 것을 코드에 알리기 위해 전달됩니다. 각 이벤트는 Event 인터페이스를 기반으로한 객체에 의해 표현되며 발생한 것에 대한 부가적인 정보를 얻는데 사용되는 추가적인 커스텀 필드 또는 함수를 가질수도 있습니다. 이벤트는 렌더링 모델에서 기본적인 사용자 인터렉션부터 발생한 것에대한 자동 알림까지 모든 것을 나타낼 수 있습니다. developer.mozilla.org 마우스 이벤트뿐만 아니라, 그 외에도 다양한 이벤트가 저장되어 있다. 웹사이트를 제작할 때 유용하게 사용할 수 있을 것같다.

[자료구조] 이진 탐색 트리

이진 탐색 트리 왼쪽 트리에는 자신보다 작은 크기의 데이터를 가지는 노드들만, 오른쪽 트리에는 자신보다 큰 크기의 데이터를 가지는 노드들만 저장하는 이진트리이다. 따라서 데이터를 찾을 때 데이터가 현재 노드의 데이터보다 작다면 왼쪽으로, 크다면 오른쪽으로 향하면 된다. 완전 이진트리는 아닐 수도 있기 때문에 배열이나 리스트를 활용할 수는 없다. 따라서 노드 정보를 가질 수 있는 node 클래스를 만들어서 사용한다. 이 클래스는 데이터정보,부모노드정보,좌측자식노드정보,우측좌식노드정보를 가져야 한다. 그리고 좀 더 쉬운 관리를 위해 root노드 정보를 가지고 있는 tree클래스도 만들어준다. 이전에 배운 in-order순회대로 이진 탐색트리를 출력하면 데이터의 크기 순서대로 데이터가 출력될 것임을 짐작할 수..

[자료구조] 힙

힙 힙은 트리의 일종이다. 단, 힙은 완전 이진트리여야만 한다.(형태 속성, 모든 노드가 2개의 자식을 갖고, 마지막 레벨에서만 왼쪽에서 오른쪽으로 노드가 순차적으로 채워져 있음) 따라서 노드의 개수가 n일 때힙의 높이는lg(n)이고, 리스트로 트리를 표현할 수 있다. 그리고 모든 노드의 데이터는 자식 노드의 데이터보다 크거나 같아야 한다. (힙 속성) 힙정렬 이러한 힙을 사용해서 데이터를 정렬할 수도 있는데, 이를 '힙정렬' 이라고 부른다. 힙은 일종의 완전 이진트리이므로, 리스트로 표현이 가능하다.(트리파트 참고) 이 말은 즉, 리스트를 힙으로 표현할 수도 있다는 것이다. 다만 힙은 부모노드의 데이터가 자식 노드의 데이터보다 커야 하므로, 이 조건을 만족시켜야 한다. 그렇지 않은 리스트를 힙 조건에 ..

[Git입문] Git Archive 명령어

git 프로젝트에서 소스코드만 추출하고 싶을 때 사용한다. git bash를 열고 [git archive --format=zip master -o Master.zip]이라고 입력하면 폴더내에 Master.zip 파일이 생성된 것을 확인할 수 있다. (저는 연습용으로 현재 제가 진행중인 파이썬 기초 100제 깃을 사용했습니다.) 파일 내부를 확인해보면 git에 관련된 파일을 제외하고 소스코드 관련파일만 잘 압축되어 있다.

[자료구조] 트리

트리 트리란 상하 관계가 존재하는 자료구조이다. 링크드 리스트와 비슷하게 트리도 노드들을 가진다. 단, 각 노드는 데이터 정보뿐만 아니라, 자식에 대한 레퍼런스를 가진다. 이를 통해 계층적 구조를 구현할 수 있게 되어 다양한 컴퓨터과학의 문제를 해결할 수 있다. 물론, 트리도 자료구조이기 때문에 여러 추상 자료형을 구현할 수 있다. 트리구조 용어 root 노드 : 가장 상위의, 즉 뿌리가 되는 노드 부모노드 : 어떤 노드의 직속 상위 노드 자식 노드 : 어떤 노드의 직속 하위 노드 형제 노드 : 같은 부모 노드를 가지는 노드 leaf노드 : 어떤 자식도 갖지 않는, 즉 잎이 되는 노드 깊이(레벨) : root노드로부터 떨어진 거리(레벨은 깊이+1) 높이 : 가장 깊이 있는 노드(leaf노드)의 깊이 부분..

[Git입문] README 파일 작성하기

repository에 README파일이 존재하지 않는다면, Github repository 하단에 Add a README 버튼이 보인다. 이를 통해 README파일을 추가할 수 있다. 추가 후 아래와 같이 작성해보았다. # python-basic100 ## 설명 파이썬 기초 100제 풀이지만 README작성 연습도 해봤습니다. ## 코드넣기 ```python print("hello world") ``` ## 링크넣기 [기초100제 링크](http://www.paullab.co.kr/codefestival.html) ## 목록넣기 * 1-100 * 1-10 * 1 * 2 ## 인용하기 > '공부하자.' -INU- ## 테이블작성 이름|영어|정보|수학 ---|---|---|---| 박인우|100|100|10..

[자료구조] 추상자료형 (ft. 큐, 스택, 딕셔너리, 세트)

기능 : '무엇'을 하는지 (자료구조마다 하는 일은 같다.) 구현 : 그 '무엇'을 어떻게 (자료구조마다 다르다.) 추상 자료형이란 자료구조를 추상화하여 표현한 것으로서, 구현보다는 기능에만 초점을 맞춘 것이다. ex) 리스트는 접근, 탐색, 삽입, 삭제의 기능이 있는 추상 자료형이다. 이를 '구현'하는 것에는 앞서 배운 동적 배열이나 링크드 리스트가 있다. 자료구조를 통해 복잡하게 생각하는 것보다는 기능에만 초점을 맞춘 추상화 자료를 떠올린다면, 보다 코드의 흐름을 이해하기 쉬워진다는 것이 추상자료형의 핵심가치이다. (물론 코드의 성능을 분석, 최적화할 때는 자료구조를 떠올려야 한다.) 구현할 때 동적 배열을 사용할 것인가? 링크드 리스트를 사용할 것인가? 동적 배열은 접근이 O(1)이지만 링크드 리스..

[Git 입문] Branch?

통합 브랜치 : 배포가 가능한 완전한 브랜치 (마스터 브랜치) 토픽 브랜치 : 그 외 특정 목적으로 설계된 브랜치 git branch로 현재 존재하는 브랜치와 사용중인 브랜치를 알 수 있다. 그리고 [git branch 브랜치이름]을 통해 새로운 브랜치를 만들 수 있다. [git checkout 브랜치이름]으로 해당 브랜치로 헤드를 변경할 수 있다. develop상태에서 내용을 추가한 뒤, add 및 push를 해준다음, 그리고 다시 master로 이동한 후 [git merge 브랜치이름]을 하면 작업내용이 합쳐진다. 그 후 [git push]를 하면 온라인 repository에도 작업내용이 저장된다. [git branch -d 브랜치이름]으로 branch를 지울 수도 있다.