인프런 - 강의/개발자는 왜 간단한 것도 안된다고 하나요? 18

17 - 너무 답답해서 직접 개발 배워보려고 하는데 얼마나 공부해야 하나

직접 개발자로 커리어를 쌓으시는 경우, 너무 많은 테크트리가 있어서 그 것을 제외하고 그냥 개발자와 대화를 하기 위해 교양으로 한번 배우고 싶다! 라고 하시면 프로젝트를 하나 만들어보시는 것이 가장 좋습니다. 인프런의 강좌로 한다면 인스타그램 클론 만들기 같은 강의들이죠 A-Z까지 다 해보면서 개발의 전체 사이클을 한번 경험해볼 수 있습니다. 다만 처음에 온라인 강의로 시작을 하시면, 가장 큰 문제가 간단한 에러인데 이 것을 해결하지 못해서 몇시간을 헤매거나 혹은 완전히 해결을 못해서 포기하는 경우가 생깁니다. 때문에 완전 초보이실 경우, 오프라인 수업을 권장드리는데, 스파르타코딩클럽을 추천합니다. 간단한 소프트웨어개발에 대한 지식부터, 간단한 프로젝트를 직접 만들어볼 수 있습니다. 이 과정을 통해서 삽..

16 - 인공지능은 어떻게 만들어지나요?

인공지능에 대한 관심은 날이 갈 수록 많아지는데, 인공지능을 쉽게 배울 수 있는 방법이 딱히 없는게 사실입니다. 찾아보면 어려운 수식과 어려운 용어에 당황해서 금방 브라우저를 끄게 됩니다. 간단하게 설명해보겠습니다. 흔히 쓰이는 예시입니다. 아래의 이미지들이 있을 때 우리는 이 원통이 X+Y의 수식을 가진다고 예상할 수 있습니다. 저 X + Y를 사람이 써 주는 것을 일반적인 프로그램, X + Y를 정해주지 않은 것이 머신러닝이라고 생각하시면 됩니다. 기존에 고양이를 알아보는 프로그램을 개발한다고 생각해볼게요 요런 애가 있다고 생각해봅시다. 그러면 이 이미지를 가져와서, 기존에는 얼굴이 얼마나고 귀는 어떤 위치에 있어야하고 그런 것들을 정해줘야 했습니다. 하지만 머신러닝에서는 그런 것들을 정해주지 않고 ..

15 - 데이터분석가는 뭐하는 직업이죠?

데이터분석가에 대해서 알아보겠습니다. 이름만 들어도 그냥 데이터를 분석할 것 같은 직업입니다. 그런데 정확히 뭘 하는지에 대해서 알아보면 좀 어려운거 하기는 합니다. 예를 들면 저희가 청와대에 청원이 올라는 것에 대한 트렌드를 파악하고 싶다고 생각해보겠습니다. 그러면 청와대 사이트로 들어가서 대충 글들을 보면서 이런 것이 트렌드구나 하면서 "감"을 잡을 수는 있습니다. 그런데 감으로 뭔가를 판단하고 결정할 수는 없겠죠? 그래서 데이터를 가공하는 작업을 하고 더 나아가서 예측을 하기도 합니다. 예를 들면 아래와 같은 절차대로 진행할 수도 있습니다. 데이터를 가져와서 가공하고 아래와 같이 시각화 할 수도 있습니다. 더 나아가 다음에 나오는 데이터를 예측할 수도 있는데 AI기법들이 사용됩니다. 좀 더 실무적인..

14 - 해킹 원리가 궁금해요! 해킹은 어떻게 하는거죠?

이 것도 많이 궁금해하는 질문중에 하나입니다. 해킹에 대해서 검색해보면 나오는 정보도 얼마 없거니와, 무슨 취약점을 파고들어서 공격을 한다니 뭐라니 라는 글들이 있는데 이 것을 가장 간단하게 설명해보겠습니다. 이전에 여기어때에서 SQL Injection관련해서 해킹 사건이 일어난 적이 있습니다. 이런식으로 로그인이 동작된다고 하면 ID, PWD부분에 무조건 database에 질의하는 부분을 ok값이 나오도록 할 수 있습니다.

13 - 프레임워크, 라이브러리라는 것은 또 뭔가요?

프레임워크, 라이브러리에 대해서 알아보겠습니다. 그래도 개발에 대해서 알아보려고 이것저것 찾아보신 분들이면 프레임워크와 라이브러리에 대해서 들어보신 적이 있으신 분들도 있으실겁니다. 쉽게 생각하면 누군가가 만들어 놓은 것들입니다. 사용하기 쉽게 자 이게 뭐냐하면 집을 짓는다고 생각해보겠습니다. 이런 나무로 된 집을 짓는다고 생각해보면 직접 산에가서 이거 나무 다 캐서 이거를 가공해서 하는 것은 미친 짓이겠죠? 우리는 이렇게 만들어진 재료를 가져와서 집의 뼉다구를 만들어 놓을 수 있습니다. 그런데 이것만 다 하면 되는건가? 라고 물어보시면 집에는 전기도 있고 가스도 있죠? 이 전기와 가스를 또 자가발전하는 것은 미친짓이다 보니, 얘네들도 가져와서 사용할 수가 있습니다. 그래서 프레임워크는 뼈대 라이브러리는..

12 - Github라는 것은 뭔가요?

개발자들이 깃허브 깃허브 라는 것을 많이 들어보셨을 겁니다. 깃허브라는 것은 뭘까요? 이 것을 검색해보면 원격 저장소고 뭐고 어쩌고 이런 설명들이 나올 겁니다. 일반적으로 원격 저장소를 이용하는 이유는 크게 2가지죠 1. 어디서나 접근해서 수정할 수 있다. 2. 내 컴퓨터가 고장나도 데이터가 저장되어 있다. 그런데 그럴꺼면 다른 원격 저장소 서비스가 많습니다. 구글 드라이브, 네이버 드라이브 등등 많은데, 왜 개발자들을 하나같이 깃허브라는 것을 사용할까요?? 코드를 저장하기 좋아서? 남들 다 쓰니깐 트렌디해서? 의 이유보다는, 코드를 저장하고 수정하기에 가장 최적화 되어 있습니다. 이게 무슨말이냐 하면 아래와 같이 언제 누가 어떻게 수정했는지 기록을 볼 수 있고 하나를 눌러보면 어떤 코드가 어떻게 바뀌었..

11 - 왜 버튼 하나 만들어달라는데 안만들어주나요?

가장 많이 듣는 질문중에 하나입니다. "왜 버튼 하나 간단하게 하나만 만들어달라는데 안만들어주나요??" 혹은 "왜 버튼 하나 바꿔달라는데 안된다고 하나요?? 라는 질문을 많이 듣는데, 이 것을 이해하려면 소프트웨어 개발의 과정을 알아야 합니다. 자, 게시판을 예로 하나 들어볼게요! 위와 같은 게시판이 있습니다. 기획에서는 "삭제"이라는 버튼이 없었는데, 하다보니 삭제 기능이 필요할 것 같아서 만들어달라고 개발자에게 요청하면 "그거 안돼요. 시간 많이 걸려요. 복잡해요." 라는 말을 들을 수 있습니다. 그러면 저 간단한 버튼하나 만드는 것 가지고 왜 이렇게 까다롭게 구는 것일까요?? 저 게시판을 만드는 원리를 파악해야 하는데 저 게시판을 삭제 기능을 만드는 과정을 보면 위와 같이 여러 과정들을 통해서 만들..

10 - 자료구조와 알고리즘이 중요하다던데?

자료구조와 알고리즘은 뭔지에 대해서 알아보겠습니다. 알고리즘 같은 경우는, 저희가 뭐 유투브 알고리즘 이런 단어등을 통해서 어떠한 법칙? 같은 것이구나 라고 감을 잡을 수 있습니다. 알고리즘에 대해서 조금 더 알고가면 제가 만약 유투브에서 트와이스 영상을 봅니다. 그러면 자연스럽게 다음 동영상에 관련 영상들이 나옵니다. 이 과정을 아래의 순서도로 나타낼 수 있습니다. 이 것을 다르게 말하면 유투브에서 영상을 틀어주는 알고리즘이라고 합니다. 그러면 자료구조는 무엇인가 하고 보면 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 ..

9 - DB란 무엇인가?

DB(데이터베이스)란 무엇일까요? 그냥 저장소입니다 이런 컴퓨터안에 있는 저장소인데 얘가 하는 역할이 무엇일까를 생각해보면 엑셀파일 생각해보시면 됩니다. 엑셀처럼 다양한 Sheet를 만들어서 데이터를 저장해놓을 수 있고 아래와 같이 불러올 수도 있습니다. 또한 이렇게 다양한 데이터 덩어리들이 연관되어 사용됩니다. mysql에서는 이 것을 sheet라고 부르지 않고 table, column이라고 부릅니다. 그래서 query를 날린다고 하는데, 이 것을 이용해서 데이터베이스에 있는 데이터를 꺼내올 수 있습니다. 회원 1에 관한 데이터를 뽑아올 수도 있고, 아니면은 아이디가 4글자 이하인 사람의 데이터들도 다 뽑아올 수 있겠죠??