본문 바로가기

개발중

클린코드를 작성하는법 지속가능한 코드 혹은 소프트웨어 유지보수란 무엇일까? 개인적으로 기존 앱이나 시스템의 사용자경험 그리고 특징의 지키면서 소스 코드를 바꾸는 refactoring이라고 생각한다. (버그의 수정, 시스템이나 프로그램의 기존 부분의 re-design, 시스템의 최적화) maintenance의 사전적 의미는 현재부분을 유지하면서 실패나 쇠퇴를 막는것이라고 나와있다. 하지만 소프트웨어의 개발자로서 단순히 유지하는 것 보단 코드를 향상시키길 원한다. 소프트웨어의 유지보수의 황금률은 사용자경험과 기존의 특징을 유지하라는 것이다. 우리가 직접적으로 보이지 않는 백엔드에서 위에서 말한것들을 향상시킬 수 있는 기회가 있다. (코드의 가독성, 시스템의 확장성, 시스템의 성능향상) 클린코드를 작성함으로써 얻는 장점 클린코드는..
누구나 한 번쯤은 띄워본 JavaScript 에러 TOP 10. https://blog.meeta.io/10
알고리즘 공부하는 방법 프로그래밍을 공부하는 다양한 사람들을 접해보고 싶어서 CodeStates pre코스를 등록했다. 알고리즘 문제를 가끔씩 풀기는 했지만, 이렇게 짧은 시간에 많은 문제를 접하기는 처음이다. 개인적으로 너무어렵다.. 그래서 알고리즘 공부법에 대해 찾아본 내용을 정리해보고자 한다. 1. 소스를 보기보다는 무조건 쳐보기! 2. 손으로 필기하면서 풀어보기 알고리즘 공부법 1. 먼저 알고리즘과 관련된 이론*(아래 참고) 을 공부하여 이해한다. 이론과 관련된 알고리즘 문제를 푸는 방법을 이해한다. 완벽하지 않아도 일부만 이해하는 것으로 충분하다! 2. 다음으로 관련된 알고리즘 문제를 풀어본다. 한 문제는 길어야 2시간 정도만 고민해본다. 2시간 정도 고민해도 모르겠으면 포기하자! 정답 소스를 보거나 다른 사람의 풀이..
튜토리얼 지옥에서 좀 꺼내줘 https://codeburst.io/digging-my-way-out-of-tutorial-hell-6dd5f9927384 원문 미디엄의글을 짧게 요약해본다. 코딩을 배우기 위해 수 많은 강의와 튜토리얼을 진행한다.이중에 대다수가 튜토리얼을 제대로 진행하지 못한다.(코드 복붙, 중도포기 등으로)더 쉽게 접근가능한 튜토리얼로 건너뛰기 쉽상이다. `튜토리얼 중독` 어떻게 하면 이런 문제를 해결하고 뛰어난 강사에 의존하지 않고 내 스스로 믿고 배워나갈 수 있을까?한가지 해결책은 오픈소스 프로젝트에 참여하는 것이다.오픈소스 프로젝트에 참여한다는 것은 생각보다 훨씬 큰 일이며, 프로젝트를 차근차근 준비하면서 나의 가치를 알아갈 수 있을것이다. 오픈소스 프로젝트를 준비한다면 튜토리얼을 시작할 시간조차 없다. 다른..
비전공자 웹개발자로서 살아남는 법 정리본(출처:okky) https://okky.kr/article/372485 원문 링크 입니다. 아래의 내용은 원문과 댓글을 참조해서 개인적으로 편집한 내용입니다. (중요도순으로 번호)(1) 네트워크(웹서버포함) 네트워크는 매우 중요합니다. 신입한테는 운영체제와 컴퓨터 사이언스에 대한 지식보다 중요하다고 전 개인적으로 생각합니다. 데이터가 어떻게 라우터를 통해 넘어다니고 하는 것까지는 모르더라도, 웹브라우저(클라이언트)와 웹서버(서버) 사이에서 일어나는 흐름들, http 프로토콜에 따라 데이터가 헤더와 바디에 담겨서 넘나드는 흐름을 정확히 이해하고 있는가 아닌가는, 기초적인 코딩 응용력을 결정짓는 중요한 요소라고 생각합니다. 보통 여기선 웹 서버 하나 정해놓고 공부를 하는 게 도움이 됩니다.(apache 또는 nginx 등)..
2019 신입개발자로 취업하기 프로젝트 1. 기본에 충실하기html, css, javascript, bootstrap + ? (추가) react 2. 코딩연습하기1000시간의 코딩연습과 320시간의 어플리케이션 개발이 필요하다.https://www.udemy.com/the-web-developer-bootcamp/learn/v4/content Code along -> taking down in bullet points(new syntaxs) -> coding one your own https://learn.freecodecamp.org/https://leanpub.com/javascriptallongesix/read 3. 이론 공부면접에서 다룰만한 주제의 컴퓨터 공학 관련 기본 이론https://medium.com/javascript-scen..
Keyword 'this' 'this'란 무엇인가? Usally determined by how a function is called(what we call 'execution context')Can be determined using four rules(global, object/implicit, explicit, new) 첫번째 규칙when 'this' is not inside of a declared object > global object(window)_bad example 두번째규칙 Implicit rulewhen 'this' is inside of a declared object > closest parent's object 세번째규칙 Explicit binding function Car(make, model, year..
코드를 배우기 위한 오직 유일한 방법은 실제로 코딩하는데 시간을 쓰는 것 코딩을 배우는 입장으로써 어떻게 하면 효율적으로 배울 수 있을까 생각하고 있다. 관련 글이 미디엄에 올라와 중심내용만 번역해본다. 코딩을 배우기 좋은 시간이다. 개발자가 직업으로써 어떠한 단점도 없고, 그런 사실이 급격히 바뀔거 같지도 않다. 풍부한 무료 강의들과 진입장벽은 낮아진적이 없다. 처음 프로그래밍을 배우기 시작했을때 ' 자바스크립트가 배우기도 좋고 활용하기에 좋대''프리코드캠프가 괜찮대, 아니야 내친구는 코드스쿨이 더 낫대''Udemy에 좋은 강의들이 많으니까 한번 시도해보자''파이썬이 시작하기 좋은 언어라더라''코드아카데미의 리뷰들이 좋네, 한번 해보자' 이러한 강의와 정보들을 모두 시도했지만 나의 학습과정에서는 좋은영향을 끼치지 못했다.실질적으로 배우는것보다 어떠한 자료를 사용해 배울지에 ..
유다시티 나노디그리 후기 (안드로이드 베이직 나노디그리 졸업) 유다시티 나노디그리 수료증 Udacity Android Basics Nanodegree 안드로이드 나노디그리 기초과정이 끝났다. 기본적인 레이아웃을 이용한 단일 화면 어플리케이션부터 데이터베이스를 활용한 재고관리 어플까지 만들었다.만들었던 어플들을 추억할겸 그 동안의 프로젝트를 소개해본다. 아래에 7가지의 App들이 나노디그리 과정을 진행하면서 만들었던 어플들이다.이런 프로젝트들을 완성하는것으로 강의가 진행되기 때문에 몰입감 있게 강의를 완료할 수 있고, 이전에는 Mentor 시스템, 현재는 수강생들의 커뮤니티를 도입해 프로젝트를 진행하는 다른 수강생들과 문제점을 공유하고 멘토와 소통하면서 어려운 문제를 해결할 수 있게 만들어졌다. 약간 아쉬웠던 부분은 어떤 파트는 프로젝트 완성에만 치우쳐 빈약한 설명만..
왜 MIT는 SICP를 가르치는것을 중단하였는가 (한국어판 : 컴퓨터 프로그램의 구조와 이해)"Structure and Interpretation of Computer Programs" 마법사책이라고 불리는 컴퓨터 과학 분야에서 저명한 책이 있다. MIT 컴퓨터과학 과정에서 입문으로 강의 해왔다고 들었다. 하지만 MIT에서 이제 이 강의를 중단하다고 공지를 띄웠고, 이 책으로 공부를 시작하려던 나는 이 내용에대해 조금 더 알아보고 싶었고 알게된 사실을 공유하기 위해 이 글을 쓴다. 코딩의신 아샬님이 올리신 관련 영상도 유튜브에 있지만 내용을 보다 자세히 공유하기위해 글로 정리해보았다. 강의를 중단하게 된 이유 중 가장 큰 이유는 더이상 SCIP 강의가 요즘 엔지니어들이 하는 일을 준비하는데 도움이 되지 않는다고 느꼇다. 이게 무려 1997년의 일이다...