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

🛠 기타 189

웹서버와 WAS

웹서버 일반적으로 '서버'라고 하면 서버역할을 하는 컴퓨터를 뜻한다. 하지만 어떤 컴퓨터가 서버역할을 하도록 도와주는 소프트웨어도 서버라는 이름으로 부른다. (=웹서버) 웹서버는 이름 그대로 웹사이트를 제공하는 소프트웨어로 html,css,js 및 기타 asset 파일 등을 사용자에게 보내는 역할을 한다. apache-php-mysql(apm)과 같이 기초적인 구조의 동적 웹은 처리할 수도 있지만 다른 구조는 처리할 수 없는 경우가 많다. 대표적으로 Apache와 NginX가 있다. WAS Web Application Server의 약자 단순히 웹을 제공해주는 것이 아닌 동적 웹페이지 생성과 같이 프로그래밍되어 내장된 작업을 수행한 후 전달하는 기능까지 보유하고 있다. Tomcat을 예를 들자면, 스프링..

🛠 기타/WEB 2021.07.17

Docker란?

서버를 구축하는 것은 귀찮은 일이다. 새로운 환경인 서버에 언어, 웹서버, DB, 자동배포툴 등을 모두 설치해야하기 때문이다. 거기다 개발환경에 따라 도구의 버전 역시 중요하기 때문에 이 역시 신경써줘야 한다. 서버를 운영하다보면 서버를 옮기거나 확장할 일이 많다. 이 때마다 서버환경을 똑같이 구축해주는 것은 상당히 귀찮다. 거기다 다른 사람이 구축한 서버를 처리해야하는 일이 발생할 경우 매우 번거로운 상황이 된다. 또한 한 서버에서 여러 서비스를 돌릴 때 각 서비스의 개발환경이 다른 경우 이를 처리해주기 어렵다. Docker? 이런 서버운영의 어려움을 해결해주는 것이 Docker이다. 개발도구들이 설치된 모습을 '이미지'화하여 DockerHubd에 업로드하고 다운로드한다. 이미지로 저장된..

CI/CD란?

CI/CD란? CI(Continuous Integration) : 지속적 통합 CD(Continuous Deployment) : 지속적 배포 코드 저장소(Github, BitBucket, GitLab)에 코드를 통합시키면 CI로 통합된 코드에 에러가 없는지 체크하고 CD로 배포한다. 설치형 도구인 Jenkins 클라우드형 도구인 Travis CI, Circle CI 등이 있다. 코드 저장소인 Github, BitBucket,GitLab 등에서 자체 제공하는 기능들도 있다. (Github Actions,GitLab CI/CD,BitBucket Pipelines) 설치형 : Jenkins 내 컴퓨터 혹은 서비스가 돌아갈 서버에 직접 설치 후 사용한다. (윈도우, 맥, 리눅스 모두에서 사용 가능) 설치 시 해..

유데미(Udemy) 한글자막 undefined 해결 (21.07.15)

https://fomaios.tistory.com/entry/Udemy-%EC%8B%A4%EC%8B%9C%EA%B0%84-%ED%95%9C%EA%B8%80-%EC%9E%90%EB%A7%89%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EB%B0%A9%EB%B2%95featChrome Udemy 실시간 한글 자막으로 보는 방법(feat.Chrome) 안녕하세요 Foma 입니다! 저는 평소에 공부를 할때 Udemy를 자주 이용하는편인데요. 영어를 잘하진 못하지만 그냥 꾸역꾸역 영어로 들으면서 강의를 들을때가 많았습니다. 그래서 거의 코드를 보 fomaios.tistory.com 영어실력이 좋지 못한 나는 늘 유데미 강의의 자막을 실시간 번역하여 수강한다. 번역 퀄리티가 완벽하지는 않지..

함수형 프로그래밍이란?

함수형 프로그래밍? 절차지향 프로그래밍,객체지향 프로그래밍, 함수형 프로그래밍 등을 '프로그래밍 패러다임'이라고 한다. 그 중 수학과 밀접하게 연관되어 함수의 사용을 메인컨셉으로 하는 것이 함수형 프로그래밍이다. 수학에서 주어진 데이터를 처리해 결과값을 도출하듯, 내외부 소통이 한정된 파이프라인(=함수)들을 묶어가며 프로그램을 구성해 나간다. Haskell, OCaml 등 함수형에 특화된 프로그래밍 언어도 있고 자바스크립트, 자바, 코틀린, Go, C++ 등 최근 객체지향과 더불어 함수형 프로그래밍 특징을 접목한 언어들도 많다. 프로그래밍 언어 역사와 함수형 프로그래밍 1958년 첫번째 함수형 프로그래밍 언어라고 할 수 있는 LISP가 등장했다. 우리가 보통 제일 처음으로 많이 배우는 프로그래밍 언어인 ..

명령형 UI와 선언형 UI

명령형 UI(Imperative UI), 선언형 UI(Declartive UI) 명령형 방식에서는위와 같은 작업을 위해서는 ViewB에 접근해서 selector 혹은 findViewById등의 도구로 인스턴스b를 찾고나서야, 하나씩 작업을 수행할 수 있다. 이러한 방식은 UI를 '어떻게' 구성하는지 개발자가 직접 상세히 기술하는 것이기 때문에 생산성을 많이 낮춘다. // Imperative style b.setColor(red) b.clearChildren() ViewC c3 = new ViewC(...) b.add(c3) 반면 선언형 방식의 경우 속해 있는 것들의 '선언'만 바꿔주면 된다. 즉, '어떻게'보다 '무엇을'에 집중할 수 있는 것이다. // Declarative style return Vie..

Redux - createStore / dispatch / subscribe

Store 생성 : Redux.createStore() function reducer(state, action) { if(state == undefined) { return {color: 'yellow'} } } var store = Redux.createStore(); console.log(store.getState()); // {color: 'yellow'} 출력 store 생성에는 reducer 등록이 필요하다. 이 때 store에 아무런 값이 없을 때는 state값이 undefined이기 때문에 초기화를 해주어야 한다. getState로 state를 불러올 수 있다. Reducer with action : store.dispatch() store.dispatch({ty..

🛠 기타/WEB 2021.04.18

Redux - 기초 개념

Redux란? 자바스크립트 앱을 위한 예측가능한 상태의 저장소 코드의 결과가 어떻게 나올지 좀 더 잘 예측할 수 있도록 도와줌으로서 코드의 복잡성을 낮춘다 하나의 state(상태)를 갖고, 해당 state들이 저장되는 store에 앱에서 필요한 모든 데이터를 넣고 관리하는 것으로 복잡성을 낮춘다. 외부로부터 철저히 차단되어 인가된 담당자(=함수)만을 통해 관리가 가능하다 작동하는 원리를 응용해 UNDO, REDO와 같은 기능도 수행이 가능하다. 앱을 리프래쉬해도 데이터(상태)는 살아있어 재입력을 할 필요가 없는 핫모듈리로딩을 할 수 있다. Redux의 구성요소 store : 정보가 저장되는 곳. 앱을 구성하며 생기는 동적 정보들이 들어가는 곳. state : 실제정보로, 절대로 해당 state에 직접 접..

🛠 기타/WEB 2021.04.17

Node.js - bcrypt

bcrypt 암호를 해시처리하는데 도움을 주는 라이브러리이다. 패키지 설치 $ npm install bcrypt기본사용법 const bcrypt = require('bcrypt'); const saltRounds = 10; const myPlaintextPassword = 's0/\/\P4$$w0rD'; const someOtherPlaintextPassword = 'not_bacon'; 해시처리를 위한 기본값들이다. saltRounds : 일종의 노이즈값으로 이 값을 높일 수록 해시처리하는데 드는 시간이 올라가 보안성이 높아진다. myPlaintextPassword : 내 비밀번호값 someOtherPlaintextPassword : 비밀번호와 다른 값 (비교..

🛠 기타/WEB 2021.02.04