코드스쿼드에서 웹프론트엔드를 맡고 있는 크롱이라고 합니다.

크롱? 네 전 이곳에서 크롱이라고 부릅니다.

이런 저런 이유로 리액트 단기코스를 열고 싶어도 바쁘다는 핑계로 미뤄 왔습니다. 현업에 계신 개발자분들을 만나 뵙고, 함께 배우고 싶은데 말이죠

올해는 우선순위를 높여서 2년만에 다시 열기로 했습니다.

이 글은 이미 광고냄새가 풀풀 나고 있군요.

그래도, 관심있는 분들이 교육비와 소중한 시간을 낭비하시지 않도록, 어떤 교육인지 주저리 주저리 설명해보겠습니다.

리액트는 발전했는가?

작년에 바이러스가 우리의 세상을 멈추게 한 듯, 리액트도 성장을 멈춘 거 같아 보였습니다. 비동기 UX를 똑똑하게 제어할 것 같은 Concurrent 모드는 더디어 보이 …


저는 코드스쿼드에서 모바일 클래스를 담당하고 있는 JK입니다. 모바일 개발을 배우려면 어디서부터 배워야 하는지 막막한 분들을 위해서 정리해봤습니다. 모바일 분야 중에서도 아이폰 iOS 앱 개발자 경험을 위주로 소개합니다.

우선 “개발자가 되야겠다”고 막연한 호기심을 가졌다면 다시 생각해보라고 말리고 싶네요 🤷‍♂️

왜냐하면 개발자라는 직업이 멋져 보이고 취업이 잘 되고 다른 직업에 비해 연봉도 많이 받을 것 같지만, 현실은 그렇게 쉽고 아름답지만은 않습니다. 물론 똑똑하고 일을 잘 하는 분들은 좋은 대우를 받고 일하고 계실 겁니다. 하지만 모든 개발자가 편한 것도 아니고, 꼭 모두가 개발을 배워야 하는 것도 아닙니다.

꽤 많은 개발자는 이런 성향을 갖고 있습니다. (이런 성향을 갖고 있어야만 개발자가 될 수 있다는 필수 조건이 아니라, 여러 개발자들이 그렇거나 이런 걸 즐겨하기 때문에, 내가 그렇지 않으면 불편하지만 다른 사람들은 당연하게 생각할 수 있다는 의미입니다.)

  • 개발자는 호기심이 많습니다. 무언가 새로운 기술, 언어, 도구, 서비스, 게임 등이 나오면 호기심을 갖고 접근합니다.
  • 개발자는 꾸준히 학습합니다. 호 …

class나 struct로 작성한 모델에 대한 객체 인스턴스를 Serialization 하거나 Archive 하기위해서 Codable 프로토콜을 채택하는 경우가 많습니다. 오브젝티브-C 시절부터 사용해 왔던 NSCoding 프로토콜은 구시대 유물이고, Codable로 완전히 대체된 것으로 이해하기도 합니다.

애플은 왜 동일한 것 같은데, 새로운 Codable 프로토콜을 만든 것일까요? 이 글은 Codable로 표현하지 못하는 제약사항에 대해 이야기 하고자 합니다. 객체 그래프를 따라서 데이터 구조로 만드는 작업을 해야 한다면 어떤 기준에서 선택해야 할까도 함께 알아보겠습니다.

struct 에서 Codable 채택하는 경우는 …


3주년 데이터 인포그래픽

NEXT에서 코드스쿼드까지


SPAs 구현은 여전히 골치아픈 일입니다.

React,Angular,Vue(줄여서 RAV)만 있다면 간결하게 해결할 수 있습니다.

view에 데이터만 엮어서 선언하면, 알아서 렌더링이 다시 되기도하죠. 대견합니다.

사람들이 매직이라고 하더군요.

매직은 보고 쓸때는 좋은데, 내가 좀더 이해하려고 하면 답답합니다.

개인적으로 React가 가장 괜찮아 보이는 이유는 매직에서 가장 거리가 있어보이기 때문입니다.

Angular는 반대편 쯤이고, 그 사이에 Vue가 자리 잡고 있는 거 같습니다.

아 반대라고 나쁜건 아닙니다. 일장일단이 있죠.

RAV, 이 위대함을 느끼는 건 어렵지 않습니다.

바닐라로 SPAs를 구현하는 낯선 경험을 해 …


GRASP 원칙

이 글은 http://www.kamilgrzybek.com/design/grasp-explained/ 링크에 있는 글을 Swift 언어를 기준으로 재해석한 글입니다.

GRASP은 9가지 General Responsibility Assignment Software Patterns 집합다.
객체 책임을 할당하는 것은 OOD(객체 지향 설계) 핵심 설계 방법 중에 하나다. 개발자와 설계자라면 이런 패턴에 익숙해져야 한다.

1. 정보 담당자 Information Expert
2. 소유권한 Creator
3. 컨트롤러 Controller
4. 낮은 연결 Low Coupling
5. 높은 응집도 High Cohesion
6. 간접 참조 Indirection
7. 다형성 Polymorphism
8. 순수 조립 Pure Fabrication
9. 변화 보호 Protected Variations

1) 정보 담당자 (Information Expert)

문제정의: 객체에 책임을 할당하는 기본적인 원칙은 무엇인가?
해결방안: 해당 객체 필요한 정보를 채워넣는 것을 우선적으로 책임으로 할당한다.

다음 Customer 클래스는 모든 주문 Orders를 참조하고, 주 …


Happy New Year 2019 🤓

2018년 한 해를 돌아보고, 2019년 새 해 출사표를 던진다.

되돌아보기🙃

온라인-리모트로 근무도 할 수 있는 업계 흐름을 보면 SW교육에서 오프라인 공간이 주는 영향력이 다른 교육에 상대적으로 낮을 수도 있다. 반면에 MOOC 나 온라인 교육만으로 성장할 수 있는 한계도 명확하다. 2017년 겨울에 뱅뱅사거리로 이사할 때 가졌던 교육 공간에 대한 철학은 “스스로 학습하고, 동료와 함께 성장하고, 마스터와 같이 생활한다.” 였다. 이제 3개 클래스에서 40명 정도가 각자 학습하며, 경쟁 대신 합력하며 함께 성장하고 있다.

12월말에는 클래스별로 작년에 공부했던 졸업생들이 방문해서 함께 하는 홈커 …


(시작하기에 전에… 옛날 얘기를 좀 하자면)
2013년 NHN NEXT가 시작했을 때 프랑스에서도 새로운 SW교육을 시도하는 학교가 생겼다는 뉴스를 들었었다. 당시에는 낯선 나라에서 다른 방식으로 교육한다는 얘기만으로도 신기하고 비슷한 측면도 있겠구나 하고 막연하게 생각했었다.

그리고 5년이라는 시간이 지나 <코드스쿼드>를 시작하고 마스터들이 직접 코드를 꼼꼼하게 리뷰하면서 진행하는 마스터즈코스를 직업 운영하고 있다. 최근에는 “우아한테크캠프”와 같은 기업 교육을 진행하다가 우연히 에콜에 직접 방문할 기회가 생겼다. (함께 출장다녀온 분들께 감사드립니다 꾸벅)

그들과 우리는 무엇이 달랐던 걸까?
에콜을 운영하는 프랑스 …


최근 인터넷에서 흥미로운 기사를 봤다 (기사링크는 하단 참고). 아인슈타인이 최악의 강사였던 이유와 우리는 누구에게 배워야 하는가라는 주제를 다른 글이었다.

글의 내용은 두 가지로 요약할 수 있다. 글쓴이는 아인슈타인과 여러 저명한 석학들이 최악의 강사였던 원인으로 ‘지식의 저주’를 꼽았다. 석학들은 너무 해당 분야에 대해 잘 알다 보니 학생이 나와 같은 수준의 배경지식을 가지고 있을 거라는 인지적 오류를 범할 수 있다고 한다. 한 마디로 학생이 뭘 모르는지 모른다는 거다. 예전에 TV에서 많이 보던 “참 쉽죠?”를 떠올리면 될 것 같다.

참 쉽죠?로 유명한 밥 선생님

두 번째는 그럼 우리는 누구에게 배워야 하는가? 라는 것이다. 글에서는 세 가지 …


피터는 어떤 미션을 해결하기 위해서 새로운 방법을 찾아 공부하게 될지 설레이는 마음으로 코드스쿼드로 출발했다. 9시 50분쯤 도착해서 커피를 마시며 오늘 작업할 내용을 떠올려본다.

10시가 넘으니 자연스럽게 같은 클래스에 있는 사람들이 모여서 안부를 물으며 미팅을 시작한다. 오늘 데일리 미팅에서는 이틀동안 고민했던 카드 게임 애니메이션을 처리하기 위해서 공부했던 Core Animation과 CALayer내용을 다른 멤버들에게 공유했다.

다음 미션의 요구사항은 화면을 나눠놓은 하단 스택 뷰에 포함된 카드이미지 뷰를 드래그해서 다른 뷰로 옮길 수 있도록 구현하는 것이다. 터치 이벤트를 활용해서 드래그하는 방법을 고민해서 구 …

YodaCodd

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store