1/ 10
1/10

진행중인 모든 이벤트

  • 로드맵 🌱
  • 왕초보 모여라 😎
  • 자바스크립트
  • 신규 강의 🎁
  • 지금 할인중 💸
  • 강의 추천 🧞
  • 지식공유신청
  • Top 50 👑
  • 인프런 동료찾기
  • 인프런은 🌱

무료강의? 오히려 좋아 ✨

무료 강의부터 가볍게 시작해 보세요.

왕초보도 할 수 있어요 💪

이미 검증된 쉽고 친절한 입문 강의!!

Vanilla JS, 선택일까 필수일까
Vanilla JS, 선택일까 필수일까
Vanilla JS,꼭 공부해야 할까요?#바닐라JS #VanillaJS #프런트엔드 #JQuery 여러분은 프레임워크나 라이브러리 없이개발을 해본 적 있나요?상상만으로도 많은 어려움이 예상되지 않나요? 최근 몇 년 사이에 프런트엔드 개발자들 사이에서순수 자바스크립트인 바닐라 JS에 대한학습의 중요성이 강조되고 있어요. 인프메이션 #56에서는Vanilla JS의 중요성이 대두된 이유와Vanilla JS의 장점을 파헤쳐 보려 합니다. 인프메이션 #56 🍦 소소하게 뜨거운 감자로 떠올랐던 Vanilla JS!빠르게 쓱 훑어볼까요? 새로운 프레임워크 아님 주의!Vanilla JS는 대체 뭘까? 자바스크립트(JavaScript)는 프런트엔드 영역에서 주로 사용하는 언어예요. 프론트엔드 분야에서 압도적으로 많이 쓰이기 때문에 자바스크립트를 기반으로 한 프레임워크나 라이브러리도 자연스럽게 대세를 차지하고 있어요. 바닐라 자바스크립트(Vanilla JS)는 외부의 라이브러리나 프레임워크를 이용하지 않는 순수 자바스크립트를 말해요. 라이브러리나 프레임워크를 사용하지 않기 때문에, 그걸 사용했을 때보다 빠르고 호환성이 좋다는 게 특징입니다. 이런 특징은 디버그(Debug)*를 할 때 큰 힘을 발휘하는데요. 보통 라이브러리를 통해 만든 구문은 디버그 과정에서 해당 구문과 이용 라이브러리 파일까지 조사하는데요. 바닐라 JS의 경우엔 해당 구문만 조사하기 때문에 디버그하는 시간이 크게 줄어들어요. *디버그(Debug): 프로그래밍 과정에서 발생하는 오류나 비정상적인 연산, 흔히 말하는 버그를 찾아 수정하는 것을 의미합니다. 디버그하는 과정을 디버깅(Debugging)이라 하기도 해요. 맛의 근본(?)인 바닐라와 자바스크립트의 근본인 바닐라 자바스크립트. 바닐라(Vanilla)는 일반적임(Plain)을 의미하는 데 쓰이는 단어이기도 해요. 하지만 라이브러리를 활용하면 간단한 코드도 바닐라 JS로 작성하면 길어진다는 어려움이 있어요. jQuery를 쓰면 한 줄로도 작업할 수 있는 코드를 여러 줄로 작성한다는 것은 비효율적이라고 느껴지기도 하고요. 그래서 바닐라 JS로 개발하는 것은 쉽지 않은 일이에요. 그럼에도 바닐라 JS 능력을 중요하게 생각하는 추세가 된 이유가 뭘까요? 자바스크립트의 본질을 제대로 알지 못한 상태에서 편의성만을 위해 프레임워크나 라이브러리를 활용하는 것에 대한 문제가 제기되었거든요. 떠오르는 바닐라 JS,그 뒤엔 jQuery가 있었다 바닐라 JS의 중요성이 조명된 이유를 알려면 제이쿼리(jQuery)에 대한 이야기를 빼놓을 수가 없어요. 제이쿼리는 프론트엔드 개발자들이 스크립트를 작성할 때 가장 많이 쓰는 라이브러리예요. 한때 자바스크립트 라이브러리 사용률 76%로 압도적인 1위를 기록하기도 했어요(2020년 10월, W3Techs 설문 기준). 오픈 소스 기반의 자바스크립트 라이브러리, 제이쿼리(jQuery). 제이쿼리가 처음 나왔던 2000년대 중반은 웹브라우저들 사이의 자바스크립트 호환성이 낮은 시기였어요. 이런 문제점을 바탕으로, 작성된 자바스크립트 코드를 웹 브라우저에 맞게 변환 및 실행하는 라이브러리가 다양하게 나왔는데요. 그중 제이쿼리가 가장 쉬운 API 문법을 제공했어요. 이 외에도 제이쿼리는 유지관리가 용이한 코드 작성 지원, 다양한 기능 제공 등 'Write less, do more'이라는 모토에 걸맞는 다양한 장점 덕분에 많은 개발자의 사랑을 받았어요. 자바스크립트 프레임워크와 라이브러리는 제이쿼리에 의존하고 있다는 이야기가 있을 정도로 제이쿼리의 입지는 굳건했지만, 최근에 그 의존도가 하락하고 있어요. 자바스크립트(JavaScript)의 지속적인 개선으로 인해 대부분의 기능을 바닐라 JS로 구현할 수 있게 된 것, 웹 표준 API가 확장된 것 등 다양한 이유가 있는데요. 대표적인 이유로는 가상 돔(Virtual DOM)을 사용하는 라이브러리의 등장이 꼽혀요. 웹페이지는 브라우저 내에서 돔(DOM)*이라는 표준 형식으로 파싱(Parsing)** 되어 표현돼요. 돔은 서비스 이용자의 동작에 맞춰 움직이는 인터랙티브 웹(Interactive Web)을 구현하기 위해선 필수적입니다. 하지만 돔 조작이 많아질수록 브라우저의 성능이 낮아지는 문제가 있었고, 이를 해결하기 위한 대안으로 등장한 것이 가상 돔(Virtual DOM)입니다. *돔(DOM): 돔(DOM, Document Object Model)은 문서 객체 모델로, XML이나 HTML 문서에 접근하기 위한 프로그래밍 인터페이스예요. 돔은 문서 내의 요소를 정의하고, 프로그래밍 언어가 돔 구조에 접근하는 방법을 제공해요. **파싱(Parsing): 문서나 HTML 등의 데이터를 분해하고 분석하고, 원하는 형태로 조립한 특정 데이터만 추출하는 것을 말해요. 파싱을 수행하는 프로그램은 파서(Paser)라고 합니다. 메모리에 가상 돔을 만들고 실제 돔과 비교하며 작업한 후, 수정된 부분은 실제 돔에 적용하는 식으로 활용할 수 있어요. 브라우저의 성능과 속도 문제를 보완한다는 장점을 바탕으로, 가상 돔을 이용한 프레임워크와 라이브러리가 늘었어요. 리액트(React), 뷰(Vue.js), 앵귤러(Angular)가 대표적이에요. 가상 돔을 채용한 프레임워크와 라이브러리의 대표 주자 React, Vue.js, Angular 제이쿼리와 비교했을 때 가상 돔을 이용한 경우가 생산성이 훨씬 높아요. 이에 자연스럽게 가상 돔을 채용하는 리액트(React)나 뷰(Vue.js) 등이 새로운 대세로 떠올랐어요. 가상 돔을 이용할 때 제이쿼리를 쓰면 스크립트 충돌이 발생할 수도 있어서, 되도록 바닐라 JS로 스크립트를 작성하려는 경향이 생겼습니다. 제이쿼리를 활용해 직접 돔을 제어하는 것보다, 상태(State)를 통해 돔을 선언적으로 제어하는 것이 코드에 대한 이해를 훨씬 쉽게 만들어주기 때문이에요. 리액트는 무조건 바닐라 JS로 작성해야 할까요? 🤔 가상 돔을 이용할 때 제이쿼리를 쓰면 충돌이 발생한다고 표현하는 이유는 제이쿼리와 가상 돔을 이용하는 프레임워크 및 라이브러리의 역할이 충돌하기 때문이에요. 제이쿼리와 리액트 및 뷰 모두 돔을 갱신한다는 같은 목적을 가진 도구거든요. 리액트와 뷰 등을 다룰 때 제이쿼리를 사용할 수는 있지만, 함께 쓰는 경우는 거의 없다고 해요. 같은 목적을 가진 두 도구를 굳이 한 번에 사용할 필요는 없으니까요.  Back to BasicsVanilla JS, 선택일까 필수일까 바닐라 JS를 대변(?)하는 웹사이트(vanilla-js.com). 어느 자바스크립트 개발자가 만든 vanilla-js.com이라는 웹사이트에서는 바닐라 JS를 다음과 같이 정의하고 있어요. '바닐라 JS는 놀랍고 강력한 자바스크립트 앱을 만들기 위한 빠르고 가벼운 크로스 플랫폼 프레임워크다.' 웹사이트에서 정의한 것처럼, 바닐라 JS는 빠르고 가볍다는 장점이 있어요. 하지만 바닐라 JS가 무조건 좋은 것은 아닙니다. 여느 프로그래밍 언어와 마찬가지로, 기본 언어만으로 높은 생산성을 달성하는 것은 쉽지 않거든요. 바닐라 JS를 지향하자는 이야기가 나오는 것은 프레임워크나 라이브러리를 무조건 금지하자는 의미가 아니라, 거기에 지나치게 의존하지 말자는 것이 핵심이에요. 사용률이 높은 제이쿼리(jQuery), 다양한 프레임워크 및 라이브러리 속엔 자바스크립트의 본질이 있어요. 제이쿼리든 리액트든 마법처럼 기능을 구현해주는 프레임워크나 라이브러리의 본질을 알고 쓰자는 움직임인 것이죠. 리액트 같은 프레임워크나 라이브러리가 마법처럼 구현해주는 일을 바닐라 JS로 다루는 'Vanilla Javascript로 ㅇㅇ만들기' 시리즈가 유행하기도 했어요. (출처: https://junilhwang.github.io/TIL/) 기업에서도 바닐라 JS 능력을 중요하게 생각하고 확인하려는 추세라고 합니다. 채용 공고에 '자바스크립트에 대한 충분한 이해가 있는 사람'을 우대한다는 내용을 작성하거나, 코딩 테스트에서 바닐라 JS 관련 문제를 출제하기도 해요. 프레임워크나 라이브러리는 언제든 바뀔 수 있으므로 바닐라 JS에 대한 이해를 중요하게 생각하는 거예요. "순수 JS에 대한 이해 없이 프레임워크 사용법만 익숙하신 분들을 선호하지는 않고요. 왜냐하면 프레임워크는 언제든 바뀔 수 있잖아요. 저 같은 경우에는 예전에 jQuery로 개발을 했다가 Backbone.js로 프레임워크로 전환을 했고요. 그 다음에는 Angular 1으로, 이후에는 Vue.js로 개발을 했었는데 프레임워크가 계속 바뀌기 때문에 코어라고 불리는 Vanilla JS에 대한 이해도를 특히나 프론트엔드에서 중요하게 평가를 하고 있어요." (참고 콘텐츠: 주간 인프런 #34)   바닐라 JS 공부의 중요성, 여러분은 어떻게 생각하시나요? 댓글로 여러분의 의견을 남겨주세요! 재미있는 IT 지식을 전달하는 [인프메이션]! 매달 첫번째 & 세번째 화요일마다 찾아오는 인프런 뉴스레터,[헬로 인프런]으로 가장 빨리 인프메이션을 받아보세요!지난 [인프메이션] 이 궁금하다면? (클릭) 헬로 인프런 구독하러 가기 💌([인프런 소식 및 홍보]를 ON으로 바꿔주세요 😊)
하루 세 번 출근하는 개발자 이야기
하루 세 번 출근하는 개발자 이야기
야생형 개발자에게 원동력이 되어준 것, 그리고 앞으로의 생각들 #개발자 #호돌맨 #개발바닥 #일과고민 여러분에게 경험이란 어떤 의미인가요? 계속해서 나아가게 만드는 힘은 무엇인가요? 누군가는 직접 부딪혀 얻어낸 경험에 대해 목소리를 내기도 하는데요. 이런 목소리는 유튜브나 블로그가 되기도 하고 강연, 책, 때로는 인프런 강의가 되기도 합니다.  네 번째 인포커스는 개발자 이주현 님의 이야기를 들어보았습니다. 이주현 님은 반려생활 CTO로 일하는 한편 인프런 지식공유자, 유튜브 개발바닥의 호돌맨까지 세 가지 모습으로 매일을 보내고 계신데요.  스스로를 “야생의 개발자”라 소개하는 유머러스한 모습 뒤에 담긴 일과 경험, 그리고 목표에 대한 진지한 고민에 귀를 기울여주시길 바라요.  인포커스 #4 📸 개발자로서 지나온 지난 10년과 오늘, 함께 나누고픈 호돌맨의 생각을 전합니다.  Scene #1 안녕하세요, 이주현입니다. 현재 스타트업 반려생활에서 CTO로 일하고 있고, 유튜브 채널 개발바닥을 운영하면서 인프런에서는 지식공유자로 〈호돌맨의 요절복통 개발쇼〉 강의를 진행하고 있는 호돌맨 이주현입니다. 2013년에 처음 개발자로 커리어를 시작했고 지금 일하는 반려생활이 세 번째 직장입니다. 올해로 딱 10년 차가 되었네요. Scene #2 개발자로서의 10년을 돌아보며 첫 회사는 피캣(시럽테이블)이라는 파이썬 기반 맛집 큐레이션 서비스의 관리자 페이지를 만드는 일부터 시작했었어요. 통계 관련 작업도 하고, API도 만들고, 약간의 인프라 업무까지 함께 했고요. 이후에는 PHP로 되어 있던 서비스를 파이썬으로 마이그레이션(migration)하는 업무까지 여러 업무를 했는데요.  당시에는 막상 여러 가지를 한다는 생각을 하지 않았어요. 첫 회사였고, 아무것도 모르는 상태에서 시키는 일을 다 하다 보니까 그게 원래 백엔드 개발자가 하는 일이겠거니 싶었죠. 그러다 퇴사를 하고 두 번째 회사인 우아한형제들(배달의민족)으로 이직을 했습니다. 퇴사라는 게 타이밍이 복잡하게 엮여야만 이루어지는 그런 면이 있는 것 같아요. 당시에 회사가 어려워지면서 구조조정을 거치고 나서는 제대로 된 프로젝트가 계속 넘어오지 않는 상황이 됐어요. 어떻게 꾸역꾸역 일을 하긴 했는데, 개발자로서 ‘과연 내가 잘 하고 있는 게 맞나’ 하는 고민이 들었죠.  아무래도 스타트업에 있다 보면 큰 회사에 있는 친구들이 많이 부럽긴 하거든요. 같은 시간을 쓰는데도 친구들은 더 많은 연봉과 복지를 받으니까 그렇기도 하고, 또 그런 큰 회사에 있는 사람들은 과연 어떻게 개발을 할지에 대한 궁금증도 있었고요. 회사도 힘들고 나도 궁금한 마음이 있으니 좀 도전을 해봐야겠다 싶어서 퇴사를 했었어요. 그렇게 이직하는 과정에서는 자신이 좀 없었던 것 같아요. 다른 사람들이 어떻게 개발하는지 모르는 상태에서 오로지 회사에서 제가 맡은 일만 쭉 하다 보니까 뭔가 아닌 것 같고 내가 알고 있는 게 개발의 끝이 아니라 분명히 뭐가 더 있는 것 같다는 생각이 드는데 막상 그런 경험을 못 해봤으니까 자신감이 많이 떨어졌던 거죠.  그때가 채용 과정에서 코딩 테스트를 많이 도입하기 시작한 시기였어요. 그런데 코딩 테스트에서 계속 떨어지니까 ‘이거 어떻게 해야 하나’ 싶었고요. 또 제가 갖춘 기술적인 커리어로 이직할 만한 회사를 찾으려고 하니 그렇게 쓸 만한 데가 많지 않더라구요. 그동안 사용해왔고 자신 있었던 기술 스택이 파이썬과 PostgreSQL이었는데, 그때는 제가 가진 스택이 꼭 그 회사랑 맞아야 들어갈 수 있다는 생각을 갖고 있었거든요. 나중에 돌아보니 꼭 그렇진 않았지만, 그때는 잘 몰랐으니까요.  쓸 만한 데도 몇 군데 없고, 넣어도 서류 탈락하거나 코딩 테스트에서 광탈하다 보니까 ‘지금까지 길을 잘못 쌓아왔구나, 나랑 맞지 않는구나’ 하는 생각이 들어서 개발을 그만두려고도 했었어요. 파이썬(Python), 포스트그레스큐엘(PostgreSQL). 사실 운이 좋았죠. 우아한형제들에는 원래 당연하게 지원을 안 하고 있었어요. 이미 당시에도 유명한 회사였고 좋은 개발자도 많이 뽑고 있었던 상황에다 자바(Java)를 쓴다, 자바로 넘어간다고 공고에도 명시되어 있어서 내가 갈 만한 급의 회사가 아니라는 생각이 들었거든요. 그러다 기왕 개발자 그만둘 거 한번 써보고 그만두자 싶어서 이력서를 냈었는데, 좋게 봐주셨는지 합격이 됐고요. 그때 합류한 팀이 빌링/정산 개발팀이었어요. 그 팀에 김영한 님(현 우아한형제들 기술이사)이나 지금 반려생활 대표이신 이혜미 대표님도 계셨고, 함께 하던 팀원분들도 무척 열심히 하는 분들이셨는데요. 그런 환경으로 가게 된 게 계속 개발을 할 수 있게 된 원동력이 되어주지 않았을까 싶어요. 〈어벤져스〉 같은 히어로물 속 영웅들처럼, 팀원들 각자 장점과 능력이 있었는데 잘 조화가 됐던 거죠.  만약 우아한형제들이라는 좋은 회사에 들어가더라도 그 팀에 가지 않았더라면 지금 제가 걸어온 길이 아마 없지 않았을까 하는 생각이 들기도 해요. 여전히 생각해보면 그런 조합이 나올 수 있나 싶기도 하고요.  그땐 잘 몰랐는데 돌이켜 생각해 보면 이런 환경이 제게 엄청난 영향을 줬던 것 같아요. 당시에 김영한 님이 제가 잘 일할 수 있도록 신경을 많이 써주셨는데, 그 포인트가 저랑 되게 잘 맞는 일들이었던 점도 무척 좋았구요. 그렇게 3년을 일하다가 지금 대표님의 제안으로 반려생활에 합류하게 됐죠. 우아한형제들 재직 당시 이주현 님이 회사 기술 블로그에 쓴 글. 막간 인터뷰 🎤 Q. 만약 주니어 시절로 돌아간다면 ‘이건 할 것 같다’ 하는 게 있을까요? 첫 회사에 들어갔을 때, 나중에 사업을 할 때 도움이 될 만한 걸 많이 배우고 나오자는 목표가 있었어요. 대학 시절 1인 개발자로 사업을 했었는데 혼자 하다 보니 기술력도 없고 부족했던 게 아쉬웠거든요. 그래서 첫 회사에서는 주어지는 일을 넘어서 거의 매일 사무실에 남아서 공부를 했는데요. 책을 읽거나 하기보다는 제 서비스를 만들어보려고 계속 무언가 만들었던 기억이 나요. 내가 발전하기 위해 꾸준히 공부하면서 서비스를 만들어보는 일은 그때로 돌아가도 계속 하지 않을까 싶어요. Scene #3 경험을 나눌 수 있도록 세 번째 회사로 오고 나서 예전과는 상황이 많이 바뀌었어요. 2년 반 넘게 개발바닥 유튜브로 활동하고, 인프런에서 강의를 만들기도 했죠. 지난 여름 강의 〈호돌맨의 요절복통 개발쇼〉를 만들게 된 건 제가 그동안 공부하면서 들었던 생각 때문이었어요. 보통 공부를 하다 보면 어떤 기술적인 부분에 대한 책 같은 걸 읽으면서 나온 내용을 따라 실습하게 되는데, 막상 어떤 프로젝트를 전체적으로 진행해볼 수 있는 사례가 별로 없는 것 같았거든요. 내가 지금 배우는 내용이 어떻게 쓰이는지를 막상 잘 모르시거나, 실제로 만들어보지 않은 분들도 많은 것 같았고요. 개발자로 일을 하게 된다면 그런 경험이 필요한데, 그렇게 학습한 내용을 직접 만들어보지 않는다면 좀 아쉬운 학습 방법이 아닌가 싶었어요.  또 회사에서 서비스를 만들 때 서비스를 개발해서 배포하고, 실제 서비스를 운영할 환경까지 만들어낼 때 어떤 과정이 일어나는지를 알고 있다면 좋겠다는 생각이 들었고요. 경험이 부족한 상태에서 애플리케이션을 만들 때는 항상 불안하거든요. 기술력도 부족하고, ‘내가 모르는 뭔가가 있는데 그게 뭔지 모르겠네’ 하는 생각이 드니까요. 그런 식으로 도움이 되었으면 하는 생각으로 강의를 만들었어요. 오리엔테이션에서도 저는 블로그를 만들 테니 여러분은 블로그 대신 다른 걸 만들어보시라고 말씀을 드려요. 저는 뭔가 배울 때 알려주는 내용 자체를 그대로 따라하는 경우가 거의 없거든요. 아무래도 야생형 개발자에 가까운 편이죠. 책에 코드가 나와있으면 그대로 따라치지 않고 나와 있는 걸 하나하나 찾아서 저만의 방식으로 커스텀해서 다른 코드를 작성해요.  호돌맨의 요절복통 개발쇼는 서비스를 만들고, 배포하고, 완성하기까지의 과정에 집중합니다. 가령 책에 어떤 자바스크립트(JavaScript) 코드가 있다면 저는 책 내용과 다르게 타입스크립트(TypeScript) 환경을 꾸려놔요. 이 환경에서 자바스크립트 코드를 그대로 붙여넣으면 당연히 작동을 안 할 테니까 타입스크립트 형식으로 코드를 바꾸게 되는데, 그 과정에서 타입스크립트에 대해 더 잘 알게 되잖아요. 이런 식으로 뭔가 난이도를 스스로 높여서 응용하는 방식을 선호해요. 그래야 책에 나온 것 외에 더 많이 배울 수 있거나 제가 모르는 부분들이 드러나면서 찾아보고 새롭게 알게 되거든요.  제 강의도 마찬가지인 것 같아요. 제가 보여드리는 블로그 만들기를 그대로 따라하면 사실 의미가 없거든요. 블로그 대신 쇼핑몰을 만든다거나, 저는 자바로 하지만 수강생 여러분은 코틀린(Kotlin)으로 해보거나 하면서 방법을 달리해보고 제가 알려드리는 기능 외에 더 많은 기능을 집어넣는 식으로 따라오시면 더 많이 배울 수 있지 않을까 싶습니다. 강의라는 이름 대신 ‘쇼’라고 한 이유도 그래서였어요. 유튜브를 시작한 계기도 비슷해요. 예전부터 하고 싶다고 생각했고요. 2017년에 종영한 팟캐스트 〈나는 프로그래머다〉를 재미있게 들었는데, 개발 관련 콘텐츠가 많지 않았어서 종영 당시에 청취자로서 굉장히 아쉬웠던 기억이 있었거든요. 그럼 오히려 제가 이런 걸 만들어보면 좋겠다는 생각이 들었는데, 내공이 부족한 당장은 힘들고 나중에 한 번 해봐야겠다 생각했어요. 당시 우아한형제들 빌링/정산 개발팀에서 함께 일하던 향로(현 인프랩 이동욱 CTO)님이랑 같이 하면 좋겠다 싶었고요. 제목도 〈개발바닥〉으로 이미 오래 전에 정해놨었는데, 시간이 흘러 반려생활로 이직하고 난 뒤에 팟캐스트가 아닌 유튜브로 2021년 1월부터 시작하게 되었어요. 2.9만 유튜브, 개발바닥은 “본격 세계최초 예능지향 DEV 엔터테인먼트 토크쇼”를 지향하는 유튜브 채널이에요. 초기 스타트업에 몸담은 상황에서 회사에 도움이 될 만한 일에 대한 생각도 해봤는데요. 아무래도 개발자에 초점을 맞춘 홍보, 스스로는 “개발적 마케팅”이라 부를 만한 포인트를 고민했었어요. 사실 누군가를 처음 만나는 자리에 가거나 어디 나서서 이야기하는 걸 좋아하는 편은 아니거든요.  그런데 제가 지금 속해 있는 스타트업 CTO라는 자리에 있어서는 그런 점을 좀 깰 필요가 있다는 생각으로 지금도 노력을 하는 편이에요. 회사 서비스에 충실함으로써 다른 개발자분들께 널리 알려질 수 있는 면 외적으로도 회사에 도움이 될 수 있는 부분을 생각했던 건데 그게 이제 개발바닥이었던 거죠.  결과적으로는 향로님과 저 자체에 대해 브랜딩이나 도움이 된 부분도 있지만, 반려생활과 인프런이라는 회사를 널리 알리는 데도 도움이 되지 않았나 생각하고 만족하고 있습니다.  개발바닥은 인프런의 첫 오프라인 콘퍼런스, INFCON 2022에서 라이브 토크콘서트를 진행하기도 했어요. 인프런 강의 수강평이나 커뮤니티, 개발바닥 채널 댓글 등으로 저를 유머러스하게 받아들여주시는 분들을 보면 재밌기도 해요. 또 한편으로는 조금 걱정이 되기도 하고요. 사실 그렇게 재미있는 사람은 아닌데, 그런 이미지가 아무래도 제가 속한 회사의 서비스 이미지에 누가 되지는 않을까 싶은 부분도 있어요.  그렇지만 지금은 그렇게 해서까지 알아봐주시기만 하다면 감사하다는 생각으로 여러 가지를 하고 있어요. 그래서 수강평도 올려주시면 일단 다 좋고요. 무관심보다는 악플이 낫잖아요. 그만큼 관심을 가져주시는 거니까, 어떤 표현을 남겨주시든 상관없이 좋아요.  때때로 어떻게 도움이 되었다고 자세히 적어주시는 분들이 계신데 그럼 강의하는 입장에서는 뿌듯하고 더 좋습니다. 쇼핑몰이나 주문 시스템, 퀴즈 프로그램 같은 걸 만들어보시는 분들을 볼 때도 좋더라구요. 서비스를 만드는 과정에서 겪는 문제나 알아야 할 포인트를 제가 아는 선에서 다 보여드리고 싶었는데, 실제로 각자 본인이 만들고 싶은 서비스를 만드는 과정에 활용하고 있으시다면 강의를 기획한 의도와 목적대로 되고 있는 것 같아 만족스럽죠. 호돌맨의 요절복통 개발쇼 수강평 & 커뮤니티 자유주제 게시글(수염 알고리즘). 그래서 질문을 해주실 때에도 본인이 무엇을 모르는지, 어떤 게 궁금한지 명확하게 말씀해주시면 좋을 것 같아요. 실제로 본인이 궁금한 게 있는데 설명을 잘 못하시는 분들이 있더라구요. 두루뭉술하게 질문하시는 분들도 계시고, 아니면 궁금한 부분에 대한 코드를 함께 첨부해주시는데 알고 보니 막상 그 부분과는 전혀 상관없는 다른 문제인 경우도 있거든요.  또 생각보다 궁금한 걸 어떻게 찾아야 하는지 모르시는 분들도 계신 것 같아요. 찾아보면 금방 알 수 있는 내용인데 궁금해하실 때는 제가 구글링해서 찾아드리는 대신에 어떻게 검색을 하면 좋을지 추천 키워드를 달아드리려고 해요.  ‘내가 어떤 환경에서 했더니 잘 안되더라, 그래서 이런 걸 검색해서 이 방법으로 해결해보려고 했더니 이것도 잘 안 된다’ 이런 식으로 구체적으로 얘기해주시면 참 좋지 않나 싶어요. 기술적인 부분에 대해 잘 몰라서 명확하게 질문하지 못하실 수도 있지만 커뮤니케이션 능력이 부족해서 그럴 수도 있거든요. 소프트 스킬도 그런 측면에서는 개발자에게 중요한 일부인 것 같아요. 한편으로는 깊이있는 질문을 해주시는 분들이 있어서 놀라기도 했고요. 그런 경우에는 저도 어떻게 답변을 달아야 할지 약간 고민이 될 때도 있습니다. 얼마 전에는 호돌맨의 요절복통 개발쇼 수강생 분들을 대상으로 한 “천하제일 포트폴리오 자랑대회”가 개최되기도 했어요. 막간 인터뷰 🎤 Q. 강의 수강평, 질문/답변은 언제 어떻게 확인하시나요?특정한 시간을 잡고 하지는 않고요. 주기적으로 확인을 해요. 평소 메일을 2~30분에 한 번씩 확인하는 편인데요. 그래서 인프런에 곧바로 접속하기보다는, 알림 메일이 오면 질문만 먼저 읽어요. 그래서 이 분이 이런 부분을 궁금해하시는구나 확인한 다음에 어떻게 답변을 드릴지 미리 생각해놓고 저녁에 답변을 달아드리려고 해요. 그런데 낮에 어떻게 답변을 달지 계속 고민하다 보면 답변 단 걸로 착각을 할 때가 있는데요. (웃음) 그러면 이제 며칠 뒤에 할 때도 있고 그렇습니다. 양해 부탁드립니다. Q. 수강생이 남긴 글 중 특별히 기억에 남는 글이 있나요? 자유주제로 제가 쓰는 키보드가 뭔지 여쭤보신 분이 있어요. 강의에서 타이핑하는 소리를 듣고 궁금해하셨던 거겠죠. 어떤 키보드를 쓴다는 답변과 함께 정보가 담긴 링크를 함께 드렸는데, 그분이 답변에 쿠팡파트너스 링크인 줄 알았는데 아니었다고. 하하하. 제일 기억에 남네요. Scene #4 “멋있는 개발자”로 기억된다는 것 저는 개발자로서 엄청난 목표가 있지는 않은데요. 좀 멋있는 개발자가 되자고 생각을 하고 있어요. 그 멋있다는 건 제가 처한 상황에 따라 그때그때 포인트가 바뀌는 것 같아요. 지금은 제가 할 수 있는 것에 대해서, 그러니까 제가 할 수 있는 걸 가지고 다른 사람에게 도움이 되는 그런 서비스를 만들어가자는 마음이 듭니다. 좋은 개발자라는 기준도 그 사람이 어디에 속해 있는지에 따라 달라질 수 있다고 생각하거든요. 스스로 생각할 때는 좋은 개발자에 부합할 수도 있지만, 회사나 팀에서는 또 다를 수도 있거든요. 개발에 대해 무언가 많이 알고 있더라도 팀에서 그런 지식을 결과나 성과로 이어지게 하지 못한다면 그건 또 좋은 개발자가 아닐 수도 있겠죠. 상황에 따라 다르기는 하겠지만요. 누군가 개발자에게 필요한 자질이 뭔지 묻는다면, 회사 입장과 객관적인 개발자 입장에서 함께 생각해볼 때 탐구심을 갖춘다면 참 좋은 개발자로 이어지지 않을까 싶어요. 어떤 업무가 주어질 때, 그 업무가 누가 새로 준 일일 수도 있고 본인이 스스로 만드는 걸 수도 있잖아요. 주어진 일에 코드를 작성한 걸로 끝내는 게 아니라 그 과정에서 내가 잘 모르거나 다른 어떤 부가적인 기능과 방법을 더 고민해보고 또 직접 해보는 그런 사람이라면 좋은 개발자에 가깝지 않을까 생각합니다. 그래서 지금은 반려생활 서비스를 더 잘 만들기 위해서 노력하고 있습니다. 어떻게 보면 제가 지금까지 배운 걸 토대로 서비스를 계속해서 개선해나가는 데 사용하는 시즌이라고 생각하고 있어요. 코드 하나를 치더라도 이게 나중에 우리가 속도를 내는 데 있어 발목을 잡지 않도록 매 순간순간마다, 코드 한 줄 한 줄 칠 때마다 더 집중하고 있습니다.  ‘어떤 기술을 딱 넣어서 더 좋게 만든다’, ‘세상에서 제일 개발하기 좋은 회사를 만들자’가 아니라 서비스를 만드는 매 순간마다의 과정에 집중하고 정신력을 투입하고 있다고 생각해주시면 좋을 것 같아요. 우리 반려생활이 가진 그런 기술력을 통해 고객에게 어떤 가치를 전달하는 데 있어서, 우리가 제일 잘 할 수 있는 일을 안정성을 갖고 잘 해냄으로써 회사적으로 기여하고 싶습니다. 한편으로는 제가 지금까지 겪어온 과정에서 느끼고 알게 된 것을 많은 분들에게 알려드릴 수 있었으면 해요. 인프런 지식공유자로서는 수강생 분들께 본인이 뭘 모르는지에 대해서 많이 알려줬던 사람으로 기억해주시면 좋을 것 같고요. 개발바닥에서는, 채널의 어떤 모토라고 해야 할까요. 어떤 한 주제에 대해서 향로님과 제가 이야기를 할 때 그 얘기가 맞는지 틀린지를 떠나서 구독하시는 분들도 이 주제에 대해 한번 생각을 해보셨으면 좋겠다는 마음으로 하고 있거든요. 그래서 개발에 있어서 어떤 생각의 폭을 넓히는 데 도움이 되었던 분이라고 기억이 된다면 좋지 않을까 싶습니다. 막간 인터뷰 🎤 Q. 요즘 관심 가는 주제가 있으신가요?요즘 〈나는 SOLO〉 보고 있거든요. 하하. 너무 재밌어서 쭉 정주행하고 있고요. 기술적인 부분은 사실 없어요. 러스트(Rust)나 코틀린 같은 데 좀 관심이 가기는 하는데 현실적으로 손은 못 대고 있고요, 그런 쪽으로 직접 파고드는 것보다는 현재 가지고 있는 시간과 정신력을 반려생활 서비스를 좀 더 잘 만드는 데 투자하는 게 좋지 않을까 생각해요.  Q. 혹시 다음 강의 계획이 있다면 알려주세요.아직은 노코멘트 하겠습니다. (웃음) 만약 하게 된다면 제목은 요절복통YJBT 대신 우당탕탕UDTT으로 하려고요. 호돌맨 이주현 님의 싸인(!) 인프런이 받아봤습니다. >.< 이주현 님의 강의를 만나보세요. add_shortcode('course','328753','list') [인포커스]를 계속 받아보고 싶다면? 매달 첫 번째 & 세 번째 화요일마다 찾아오는 인프런 뉴스레터, [헬로 인프런]으로 가장 빨리 인포커스를 받아보세요! 헬로 인프런 구독하러 가기 💌([인프런 소식 및 홍보]를 ON으로 바꿔주세요 😊)
R 대 파이썬, 데이터 시각화 비교해봄!
R 대 파이썬, 데이터 시각화 비교해봄!
데이터도 꿰어야 보배! 어마어마한 양의 데이터를 보기 좋게 만들려면 데이터 시각화 과정이 꼭 필요한데요. 복잡한 데이터를 명쾌하게 분석하고 빛나는 인사이트를 발견할 힘을 얻기 위해, 많은 분들이 R이나 파이썬 같은 프로그래밍 언어로 데이터 시각화에 도전하고 있어요. 그런데… 이쯤이면 고민이 되죠. ‘R과 Python 데이터 시각화는 어떻게 다르지?’ ‘나한테 맞는 데이터 시각화 학습법은 뭘까?’  그래서 준비했습니다. [R 대 파이썬 비교해봄!] R & 파이썬 데이터 시각화, 서로 어떻게 다른지 핵심을 쏙쏙 뽑아 알려드릴게요. 데이터 시각화, R 대 파이썬 📊하나만 고른다면 어떤 걸 배워야 할까?  R은 통계학자들이 통계 목적으로 만든 프로그래밍 언어예요. (통계 관련 전공자라면 강추!) 통계 검정이나 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등 통계 분석에 필요한 다양한 기능들을 기본적으로 제공한다는 장점이 있어요. R 데이터 시각화 패키지, ggplot2(지지플롯2)를 이용하면 고품질의 그래프를 효과적으로 그려낼 수 있어요. 파이썬은 최근 가장 인기있는 프로그래밍 언어 중 하나로, 데이터 분석을 비롯한 다양한 분야에 활용되고 있어요. 문법이 간단해 초보자도 배우기 쉽고, 특히 AI 알고리즘을 접목시키는 데 탁월하죠. 파이썬 데이터 시각화 라이브러리, 맷플롯립(Matplotlib)으로 엑셀 표 다루듯 데이터를 차트나 플롯 형태로 편리하게 시각화할 수도 있답니다. ✅ 패키지나 라이브러리를 사용하는 이유! R에는 통계 분석을 위해 만들어진 소프트웨어 환경답게 기본적인 시각화 기능이 내장되어 있어요. 때문에 R만으로도 충분히 시각화를 해볼 수 있지만, ggplot2를 쓰면 보다 정교하고 예쁜 그래프를 편리하게 그릴 수 있어요. 파이썬에 내장된 plot 메서드만으로도 데이터 시각화를 할 수 있어요. 하지만 고도화된 수준의 시각화를 하는 데는 한계가 있는데요. 이때 맷플롯립을 함께 쓰면 한결 쉽고 강력하게 다양한 2차원 차트를 그릴 수 있죠. (Seaborn, Plotly 같은 다른 라이브러리도 있답니다!) 가장 인기 있는 R 데이터 시각화 도구 ggplot2를 R 기본 함수에 곁들이면? 전문가가 만든 것 같은 차트를 내 손으로 그려보세요. 다양한 테마를 적용하거나, 서로 다른 모양의 그래프를 덧그릴 수도 있어요. 이런 것도 만들 수 있어요 👀 값의 높낮이에 따라 색상을 다르게 표현해주는 열지도(Heat Map). 코로나-19 데이터와 시군구 행정경계지도를 연동해서 서울 구별 확진자 열지도를 만들어보세요! add_shortcode('course', '327142', 'list') 지식공유자 김승욱님이 전하는 꿀팁 👨‍💻 R 전용 개발 환경, RStudio에서는 개념이나 분야별로 치트 시트를 제공해요. ggplot2를 활용한 시각화부터 딥러닝 관련 자료까지 유용한 코드 요약본을 만나볼 수 있답니다. 파이썬 개발 환경에 맷플롯립을 불러와주세요! 시각화하고자 하는 특정한 데이터 프레임에 막대그래프, 도수분포표, 히스토그램, 산점표 등 알맞은 그래프를 간단하게 적용해볼 수 있답니다. 이런 것도 만들 수 있어요 👀 코로나-19 확진자가 가장 많이 나온 날짜는 언제일까요? 서울 구별로 해외에서 유입된 확진자 수를 비교할 수 있을까요? 판다스 플롯과 맷플롯립을 이용해 그래프를 그려보아요. add_shortcode('course', '324030', 'list') 지식공유자 박조은님이 전하는 꿀팁 👩‍💻 Seaborn, PyPlot에서는 파이형 차트(Pie Chart)를 지원하지 않아요. 대신 판다스와 맷플롯립에서는 가능하다는 사실! 파이썬으로 파이 차트를 만든다면 맷플롯립을 애용해주세요. 지금 깜짝 할인 중! (종료)데이터 시각화, 인프러너의 선택은? 하나면 하나지 둘이겠느냐~♬ R과 파이썬, 데이터 시각화를 위한 두 언어 중 관심이 가는 하나를 골라 댓글로 남겨주세요. 10월 10일부터 10월 24일까지, “단 두 장의 문서로 데이터 분석과 시각화 뽀개기”“[R을 R려줘] R 데이터 시각화”강의의 15% 할인 쿠폰이 즉시 발급됩니다.(발급 후 5일 동안 사용 가능) 더 많은 데이터 시각화 강의가 궁금하다면? 인프런의 50+개 데이터 시각화 강의를 만나보세요.  모든 데이터 시각화 강의 보러 가기 >>

994,548 명이
인프런과 함께합니다.

학교에서 배우기 어렵거나 큰 비용을
지불해야만 배울 수 있는 전문적인 지식들을 제공합니다.
오픈 플랫폼의 이점을 통해 다양성과 경제성을 모두 높입니다.
Angma 님(수강생) 30분 전
자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 책 구매하고 강의랑 같이 병행하면서 들으려고 학습하고 있습니다. 반복 또 반복해서 열심히 공부하겠습니다!!
글렌 님(수강생) 54분 전
서버와 인터넷 그리고 데이터 이야기
막 시작하는 분들에게 흐름을 알 수 있는 좋은 강의인 것 같습니다.
박재연 님(수강생) 1시간 전
이경은 님(수강생) 1시간 전
자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
정말 알차고 좋은 강의입니다. 코틀린 기초는 이 강의 하나만 들어도 충분하다고 추천해주고 싶네요. 강의 잘 듣고 갑니다. 후속 강의도 기대하겠습니다!
sungjun.cho 님(수강생) 1시간 전
이펙티브 자바 완벽 공략 2부
1부에 이어 2부 좋은 강의 감사합니다.
emigrant 님(수강생) 1시간 전
나형현 님(수강생) 1시간 전
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
이해하기 쉽게 설명된 교육자료입니다.
reant0509 님(수강생) 1시간 전
스프링 DB 1편 - 데이터 접근 핵심 원리
항상 좋은강의 감사합니다 !
taburu1 님(수강생) 1시간 전
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
알기 쉽게 자세히 설명해주셔서 좋았습니다.
hsjo6864 님(수강생) 2시간 전
스프링 DB 2편 - 데이터 접근 활용 기술
영한님 좋은 강의 만들어주셔서 감사하고 잘듣고 있습니다! 다음 코스인 실전! 스프링부트 강의는 언제쯤 출시될까요!? 항상 실무에 도움이많이되는 영한님 강의라 다음 강의도 궁금합니다ㅎㅎ
OR 님(수강생) 2시간 전
스프링 DB 1편 - 데이터 접근 핵심 원리
정말 큰 도움을 받았습니다. 매우매우 추천합니다.
성민 님(수강생) 3시간 전
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
드디어 다 들었다.. 너무 알차고 문법 공부하는데 있어서 진짜 큰 도움이 됐어요
김진용 님(수강생) 4시간 전
파이썬입문과 크롤링기초 부트캠프 [쉽게! 견고한 자료까지!] (5차 업데이트)
프로그래밍에 자신을 갖게 해준강의 였습니다 완강하고 자신감이 생겼습니다 감사합니다
사람 님(수강생) 4시간 전
사람 님(수강생) 4시간 전
사람 님(수강생) 4시간 전
zican 님(수강생) 4시간 전
[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
하루 10분으로 C++의 기초체력을 갖춰주는 체력장 수업, 필수 개념을 최대한 간결하게 전달하도록 구성한 강사님께 감사드립니다.
kyungmin.ko 님(수강생) 5시간 전
[DevOps] AWS and 테라폼: Infrastructure as Code: 초급, 입문편
주영씨 화이팅~!! 당신을 응원합니다.
damduc81 님(수강생) 5시간 전
스프링 핵심 원리 - 기본편
임베디드 관련 일들을 계속하다 웹 백엔드 특히 스프링 기술에 관심이 있어 수강하게되었습니다. 스프링은 너무 방대한 프레임워크인데 실무에서 사용하는 것 위주로 꼭 필요한 부분만 설명해 주셔서 정말 유용한 것 같습니다. 그리고 이번 강의를 듣고 객체 지향 프로그래밍에 대해 조금 더 깊이 있게 이해하게 됐습니다. 앞으로도 좋은 강의 많이 부탁 드립니다. ^^
김희겸 님(수강생) 6시간 전

지식을 나눠주세요.
쉽게 시작하고 합당한 보상을 받을 수 있어요.

지식공유 알아보기

모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공해주세요.

비즈니스 알아보기

당신은 더 좋은 곳에 갈 수 있어요.
지금 열려있는 채용공고를 확인해보세요.

공고 확인하기

이미 많은 기업 구성원들이
인프런에서 성장하고 있어요.

라인
우아한형제들
sk
네이버
넥슨
삼성
카카오
LG
nc

다양한 서비스를 신청하세요.

인프런의 지식공유자 ˙ 비즈니스 ˙ 대학생 신청방법에 대해 알아보세요.

지식공유자 되기

9개월간 온라인 기술 강의로만 1억원!
나의 지식을 나눠 사람들에게 배움의 기회를 주고, 의미있는 대가를 가져가세요.
지식공유자 참여하기

인프런 비즈니스 신청

모든 팀원의 인프런의 강의들을 자유롭게 학습하는 환경을 제공해주세요.
업무 스킬에 집중된 콘텐츠를 통해 최신 트렌드의 업무역량을 습득할 수 있습니다.
비즈니스 신청하기

인프런 X 대학생

학교와 인프런이 함께 하여,
많은 학생 분들께 정해진 커리큘럼 이외에도 필요한 학습을 보완하고, 더욱 성장할 수 있도록 도와드립니다.
대학생 신청하기