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

🛠 기타/개발상식 30

Linter와 Fomatter

Linter Linter는 사용자가 에러 혹은 표준과 다른 코드를 작성하지 않도록 도와준다. 에러가 작성되면 자동으로 빨간 줄을 그어 오류여부를 알려준다. vscode에서 [Ctrl + Shift + P] 로 커맨드창을 열 수 있는데, 그 곳에서 Select Linter를 검색해 사용할 수 있다. 일반적으로 pylint / flake8 을 많이 사용한다. Fomatter Fomatter는 사용자가 코드를 최대한 일정 형식에 맞춰 관리할 수 있도록 도와준다. 아무렇게나 코드를 작성해도 저장을 하는 순간 Fomatter가 작동해 형식을 맞춰준다. vscode에서 [Ctrl + Shift + P] 로 커맨드창을 열 수 있는데, 그 곳에서 Fomat selection를 검색해 사용할 수 있다. black이라는 ..

안드로이드 스튜디오 묶음버튼(?) 색 바꾸기

안드로이드 스튜디오 테마가 영 맘에 안 들어서 테마를 다운로드해서 바꿨다. 그런데 코드를 정리할 때 유용하게 사용되는 코드 묶음 버튼(?)의 색 상태가 매우 좋지 못하다. 배경색과 겹쳐 거의 안보이는 수준이다. 그래서 나는 이것을 바꾸기 위해 여러가지 설정을 건드렸다. 이리저리 건드려본 끝에 결국 그 설정을 찾아내었다. 이 버튼의 색은 Setting - Editor - Color Scheme - General - Tear line 설정으로 바꿀 수 있었다. 마우스를 올렸을 때의 색 변화는 그 아래의 Tear line selection 설정으로 바꿀 수 있었다. -해결-

MarketPlace에 'Android Drawable Importer'가 없을 때

ImageView에 대한 강의 수강 중 이미지의 크기를 다양하게 불러올 수 있는 'Android Drawable Importer'를 배웠다. plugins의 MarketPlace에 검색하면 나온다는데 왜인지 나는 없었다. 생각보다 간단하게 문제를 해결했다. https://plugins.jetbrains.com/plugin/7658-android-drawable-importer Android Drawable Importer - Plugins | JetBrains This plugin consists of three main features. You can access them by a right-click anywhere, but not on a file, inside an Android module un..

Data Storage

컴퓨터의 기본 구성 비트(Bit, Binary Digit) : 0,1로 이루어진 2진수 신호. 비트패턴으로 다양한 정보를 표현할 수 있다. Boolean Operation : 비트 신호를 True / False의 관계로 보고 이를 활용 및 연산할 수 있다. Boolean Operation에는 AND, OR, XOR, NOT 등이 있다. Gate : 이러한 Boolean Operation을 계산하는 장치. 작은 전기 회로로 구성하고, 컴퓨터 생산시 단위가 활용된다. VLSI(Very Large Scale Integration), 즉 초집적회로이다. Flip-flop : Gate로 만든 한 비트를 저장하는 Digital Circuit이다. 한 라인은 1을 저장하고 한 라인은 0을 저장한다. 다양한 방식으로 ..

프론트엔드와 백엔드의 기본

프론트엔드 : 실제 유저들이 사용하게 되는 웹,앱 웹서버 웹을 제공해주는 서버. 보통 웹서버에서 제공하는 것은 HTML,CSS,Javascript가 합쳐져 있는 하나의 정적인 웹이다. 백엔드 서버와 헷갈려선 안된다. 웹서버는 웹 정보(프론트엔드 정보)를 제공해주고, 백엔드 서버는 필요한 데이터를 제공해준다. 브라우저가 웹서버에서 이러한 웹을 다운받아 화면에 보여준다. 앱은 웹서버가 존재하지 않는다. 대신 프론트엔드 정보를 앱스토어에서 받아오니, 앱스터가 웹서버의 역할을 한다고 볼 수 있다. 반응형웹 여러 디바이스에 맞춰 크기가 변경하는 웹 CDN 네트워크도 결국은 물리적인 신호로 통신을 수행하기 때문에, 거리가 멀수록 시간이 오래 걸린다. 이를 해결하기 위해 CDN(Contents Delivery Net..

개발자의 기본

개발이란 기획, 디자인, 개발 기획자 : 세상에 이런 제품이 있으면 좋겠다. 우리 제품에 이런 기능이 있으면 좋겠다. 디자이너 : 제품 또는 기능을 눈에 보이게 만들자. 개발자 : 제품 또는 기능을 실제로 사용할 수 있게 만들어보자. 다양한 개발자 서버 개발자(백 엔드) : 사용자의 정보를 서버로 넘겨줌으로써, 사용을 멈추고 다양한 디바이스에서 다시 사용을 시작하더라도 기존의 정보들을 불러와 활용할 수 있다. 그리고 서버에서 사용자들의 정보를 불러오고 송출함으로써, 사용자들간의 정보를 공유할 수도 있다. 이러한 서버를 개발한다. 클라이언트 개발자(프론트 엔드) : GUI(Graphic User Interface), 사용자가 실질적으로 보게되는 인터페이스 부분을 개발한다. 안드로이드, IOS, 웹 세 가지..

네트워크의 기본

네트워크? 컴퓨터들끼리 서로 연결되서 통신하는 것 연결된 컴퓨터끼리 서로 0,1의 원초적 신호를 보낸다. (이를 OS가 해석하여 정보를 얻는다.) 클라이언트 : 네트워크에서 정보를 요청하는 주체 서버 : 네트워크에서 정보를 제공하는 주체 컴퓨터가 연결되는 방식 컴퓨터가 연결되는 방식은 유선(랜선)방식과 무선(와이파이)방식이 있다. 유선(랜선) : 0,1의 신호를 빛으로 변환하여 전송하는 광케이블 방식. 무선(와이파이) : 0,1의 신호를 전파로 변환하여 공기중으로 쏴서 전송하는 방식. 프로토콜 컴퓨터와 OS의 종류는 다양한데, 무작정 통신을 하면 원활한 통신이 어려울 수 있다. 따라서 어떠한 규격이 존재하는데, 이 규격을 프로토콜 혹은 통신 프로토콜이라고한다. 대표적으로 웹에서 사용하는 HTTP 프로토콜..

OS(운영체제)의 기본

컴퓨터의 하드웨어 구성 CPU : 연산 및 신호를 처리하는 장치 메모리 : 계산한 것, 계산해야 할 것을 저장하는 장치. 단기 기억장치. 디스크 : 메모리와 달리 영구적으로 데이터를 저장해주는 장치 (하드디스크, SSD) 프로세스 OS가 CPU와 메모리를 활용하여 실행시킨 프로그램 실행시킨 코드와 코드가 돌아갈때 쓰일 메모리가 같이 할당되어 있다. OS 프로그램을 사용할 때 그것을 작동시키는 환경. - CPU와 메모리에 일을 하라는 명령을 한다. - 컴퓨터용어로 '자원'은 CPU,메모리가 일을 할 수 있는 용량인데, OS가 이를 효율적으로 관리한다. 즉, 하드웨어장치를 관리해준다. 그 외에도 입출력장치나 네트워크 통신, 파일관리 등 다양한 일을 한다. - 프로세스가 많아져 CPU와 메모리의 사용량이 높아..