반응형

안녕하세요. 이번 포스팅에서는 HTML에 대해서 알아보겠습니다. HTML은 마크업 언어로, 우리가 보는 웹 페이지의 기본 구조를 나타내는 역할을 한다고 볼 수 있습니다. HTML만 잘 다룰 줄 알아도, 다양한 부분에서 편리하게 사용할 수 있는데, 한번 자세히 알아보겠습니다.

 

 블로그를 하시는 분들도 HTML 언어를 알아두면, 블로그의 구조를 자신의 입맛대로 바꾸기 좋고, 기본 틀을 HTML로 정의해놓으면, 글을 작성하는데에도 훨씬 편리할 것입니다.

 

HTML 로고

HTML이란?

 "HyperText Markup Language"로, 웹페이지를 구성하는 언어입니다. 텍스트, 이미지, 비디오, 링크 등 다양한 콘텐츠를 구조화하고, 표시하는 데 사용됩니다.

 

 HTML은 프로그래밍 언어가 아니라, 웹 페이지의 내용과 구조를 기술하기 위한 마크업 언어입니다. 웹 브라우저는 HTML 문서를 해석하여 콘텐츠를 표시하고, 링크를 따라 다른 웹 페이지로 이동할 수 있도록 해줍니다.

 HTML 문서는 태그라 불리는 특별한 기호들로 이루어져 있습니다. 예를 들면 <p> 태그는 단락(paragraph)을 나타내고, <h1> 태그는 제목(heading)을 나타냅니다. 이러한 태그들은 웹 페이지에서 콘텐츠를 구조화하고 표시하는 역할을 합니다. 문법에 대한 자세한 내용은 밑에서 다루도록 하겠습니다.

 HTML은 웹 개발의 기초이며, CSS(Cascading Style Sheets)와 JavaScript와 함께 사용하여 웹 페이지의 디자인과 동적인 기능을 추가하는 데 사용됩니다. 웹 사이트를 구축하고 웹 콘텐츠를 작성하는 데 있어서 중요한 역할을 수행합니다.

 

웹 페이지를 만들 때, 기본 구조와 틀을 HTML로 작성하고, CSS로 디자인을 더한 후, JavaScript로 기능들을 추가하는 것이 기본적인 웹페이지의 구조입니다. 뭐든지 처음에 잘 해놔야 좋기 때문에 HTML을 잘 활용하는 것이 매우 중요합니다.

 

HTML 문법

 HTML은 태그들을 사용하여 문서의 구조와 컨텐츠를 정의합니다. 각 태그는 괄호(' < > ')로 묶여 있으며, 여는 태그와 닫는 태그로 짝을 이뤄 콘텐츠를 둘러 쌉니다. 원하는 컨텐츠의 범위를 여는 태그와, 닫는 태그로 정의해 주는 것입니다. 닫는 태그는 앞에 '/' 를 붙입니다.

ex) <h> : 여는 태그, </h> : 닫는태그

 

1. 제목 : <h1> </h1>

 head는 제목을 의미합니다.

<h1>이것은 제목입니다</h1>

 

2. 단락 : <p> </p>

<p>이것은 단락입니다. 웹 페이지의 일반적인 텍스트를 담습니다.</p>

 

3. 링크 : <a href="원하는링크입력"> </a>

<a href="https://www.nakco.tistory.com">낙서 코딩으로 이동</a>

href = ' ' 에 링크를 입력하고, 태그 사이에 글을 입력하면, 해당 글을 클릭할 시 입력한 링크로 이동하게 됩니다.

 

4. 이미지 : <img src = "이미지주소" alt = "설명" >

<img src="이미지.jpg" alt="설명">

src = ' ' 에 이미지 주소나, 이미지 파일명을 입력하고, alt = ' ' 에 해당 이미지에 대한 설명을 입력하면, 이미지 밑에 설명이 뜨게 됩니다. 만약 이미지 파일명을 입력하려면 해당 페이지에 해당 이미지를 미리 삽입해주어야합니다.

 

5. 목록 : <ul> <li> 리스트 항목</li> </ul>

<ul>
    <li>리스트 항목 1</li>
    <li>리스트 항목 2</li>
    <li>리스트 항목 3</li>
    <li>리스트 항목 4</li>
</ul>

ul 태그는 리스트 전체이고, li 태그 사이에 원하는 리스트 항목들을 넣습니다.

 

6. 폼 : <form> </form>

<form action="서버로 전송할 주소" method="전송 방식">
    <label for="name">이름:</label>
    <input type="text" id="name" name="name">
    <input type="submit" value="제출">
</form>

폼 태그를 사용하면, 사용자로부터 입력을 받을 수 있습니다. 웹 페이지에서 정보를 전달하거나 사용자 입력을 받아 서버로 보내는 기능을 구현할 때 주로 사용됩니다. 폼 태그 안에는 다양한 입력 요소들이 들어가며, 사용자가 텍스트, 숫자, 체크박스 등을 입력하거나 선택할 수 있도록 합니다.

 

HTML 간단 예시

<!DOCTYPE html>
<html>
<head>
    <title>낙서코딩 블로그</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            margin: 20px;
        }
        h1 {
            color: #007bff;
        }
        h2 {
            color: #28a745;
        }
        p {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <h1>낙서코딩 블로그</h1>

    <h2>최신 글</h2>
    <p><a href="#">첫 번째 글 제목</a></p>
    <p><a href="#">두 번째 글 제목</a></p>
    <p><a href="#">세 번째 글 제목</a></p>

    <h2>카테고리</h2>
    <ul>
        <li><a href="#">웹 개발</a></li>
        <li><a href="#">프로그래밍 언어</a></li>
        <li><a href="#">데이터 과학</a></li>
    </ul>

    <h2>문의</h2>
    <p>이메일: contact@낙서코딩.com</p>
</body>
</html>

 

결과

 

HTML 코드 실행 결과

 

해당 사이트에서 HTML 코드를 직접 실행해 볼 수 있으니 한번 해보세요! 진짜 재밌습니다. 바로바로 적용되는게 웹 개발의 묘미라고 생각합니다.

 

https://codepen.io/pen/

 

Create a New Pen

...

codepen.io

 

 

마무리

오늘은 기본 문법들에 대해 알아봤는데, 각각 세부적인 문법들에 대해서 앞으로 차차 자세하게 정리해나가도록 하겠습니다. 많은 관심 부탁드립니다. 오늘도 읽어주셔서 감사합니다!

반응형
반응형

안녕하세요. 오늘은 임베디드 개발자에 대해서 알아보겠습니다. 임베디드는 기계나 장치를 원하는대로 동작하게 하는 소프트웨어인데, 컴퓨터 공학에서도 배우고, 전자과, 기계과에서도 접할 수 있는 과목입니다.

 

임베디드란?

 임베디드(Embedded)란 컴퓨터 과학과 전자공학 분야에서 사용되는 용어로, 다른 시스템의 일부로 통합되어 특정한 기능을 수행하는 컴퓨터 시스템을 가리킵니다. 이러한 시스템은 주로 제한된 리소스와 공간에서 작동하며, 특정한 임무나 기능을 수행하기 위해 설계됩니다.

임베디드 시스템은 주로 특정한 장치나 제품 내부에 내장되어 사용됩니다. 예를 들어, 디지털 카메라, 휴대전화, 가전제품, 자동차의 제어 시스템, 의료 기기, 산업 자동화 시스템 등이 임베디드 시스템의 예입니다. 이러한 시스템은 특정한 기능을 위해 설계되기 때문에 실시간 처리, 저전력 소비, 작은 크기, 안정성, 내구성 등의 특성을 갖추고 있습니다.

임베디드 시스템은 주로 마이크로컨트롤러나 마이크로프로세서를 기반으로 동작하며, 필요한 하드웨어와 소프트웨어를 포함합니다. 이러한 시스템은 다양한 도메인에서 사용되며, 우리 일상생활에 많은 영향을 미치고 있습니다.

 

임베디드 개발자란?

  • 임베디드 시스템을 설계, 개발 및 유지보수하는 전문가입니다. 이들은 임베디드 시스템에 필요한 하드웨어와 소프트웨어를 개발하고 통합하여 목표 기능을 수행할 수 있도록 합니다.

  • 다양한 역할을 수행할 수 있습니다. 일부 개발자는 하드웨어 설계 및 회로 개발에 전문화되어 있으며, 다른 개발자는 저수준 프로그래밍, 임베디드 운영체제, 장치 드라이버 개발 등 소프트웨어 측면에 더 전문화되어 있을 수 있습니다. 또한, 신호 처리, 통신 프로토콜, 센서 인터페이싱 등 특정한 도메인에 대한 전문 지식을 보유한 임베디드 개발자도 있습니다.

  • C, C++, 어셈블리어 등의 프로그래밍 언어를 사용하여 하드웨어와 소프트웨어를 상호작용시키고, 시스템의 성능을 최적화하며, 실시간 요구사항을 충족시키는 등의 작업을 수행합니다. 또한, 테스트, 디버깅, 문제 해결 및 시스템 최적화와 관련된 업무도 담당할 수 있습니다.

  • 전자공학, 컴퓨터 공학, 소프트웨어 공학 등과 같은 관련 분야에서 교육과 실무 경험을 쌓아야 합니다. 또한, 실제 장치와 하드웨어에 대한 이해와 함께, 소프트웨어 개발 및 디버깅 기술, 신호 처리 및 통신 프로토콜에 대한 지식이 필요합니다.

 

임베디드 개발자 필요 역량

 

  • 필요한 기초 지식 습득: 임베디드 시스템 개발에 필요한 기본 지식을 습득해야 합니다. 전자공학, 컴퓨터 공학, 소프트웨어 공학 등과 같은 관련 분야에서의 학위나 과정을 이수하는 것이 도움이 될 수 있습니다. 이를 통해 전기 및 전자 기초, 디지털 시스템, 마이크로프로세서, 프로그래밍 언어 등을 학습할 수 있습니다.

  • 프로그래밍 언어 학습: 임베디드 시스템 개발에서는 C, C++, 어셈블리어 등의 프로그래밍 언어가 주로 사용됩니다. 이러한 언어들을 학습하고, 해당 언어들을 사용하여 하드웨어와 소프트웨어를 효과적으로 상호작용시킬 수 있는 능력을 갖추어야 합니다.

  • 하드웨어 지식 습득: 임베디드 개발자는 하드웨어 설계와 회로에 대한 이해를 가져야 합니다. 마이크로컨트롤러, 센서, 액추에이터 등과 같은 장치들을 다루는 방법을 학습하고, 하드웨어와 소프트웨어 사이의 인터페이스에 대한 이해를 갖추어야 합니다.

  • 임베디드 시스템 개발 도구 사용: 임베디드 시스템 개발에는 다양한 도구와 환경이 사용됩니다. 이러한 도구들을 학습하고 사용하는 방법을 익히는 것이 중요합니다. 예를 들어, 크로스 컴파일러, 디버깅 도구, 테스트 도구 등을 사용하는 방법을 익히는 것이 필요합니다.

  • 프로젝트 경험 쌓기: 실제로 임베디드 시스템을 개발하는 프로젝트에 참여하여 경험을 쌓는 것이 중요합니다. 개인적으로 작은 프로젝트를 수행하거나, 학교나 업계에서 제공하는 프로젝트에 참여하는 등의 방법으로 실전 경험을 쌓아보세요. 이를 통해 실제 문제 해결과 팀원들과의 협업 능력을 향상시킬 수 있습니다.

  • 계속적인 학습과 업데이트: 임베디드 시스템 개발은 계속해서 진화하고 발전하고 있습니다. 새로운 기술과 도구에 대한 학습을 지속적으로 진행하고, 최신 동향을 파악하는 것이 중요합니다. 커뮤니티, 온라인 자료, 교육 과정 등을 통해 계속적인 학습을 유지하는 것이 필요합니다.

 

임베디드 활용 분야

 

  • 자동차 및 운송: 자동차 산업에서는 임베디드 시스템이 차량의 제어 시스템, 엔진 관리, 차량 안전 시스템 등에 사용됩니다. 또한, 운송 분야에서는 임베디드 시스템이 교통 신호 제어, GPS 시스템, 교통 관리 등에 활용됩니다.

  • 의료 기기: 의료 분야에서 임베디드 시스템은 의료 기기의 제어와 모니터링에 사용됩니다. 예를 들어, 혈압 측정기, 심전도 모니터, 체온 조절 장치 등에 임베디드 시스템이 적용됩니다.

  • 가전제품: 가전제품 분야에서는 임베디드 시스템이 세탁기, 냉장고, 에어컨, 스마트 홈 시스템 등에 사용됩니다. 임베디드 시스템은 이러한 가전제품의 자동화, 제어 및 효율적인 에너지 관리를 가능하게 합니다.

  • 산업 자동화: 산업 자동화 분야에서는 임베디드 시스템이 공장 자동화, 로봇 제어, 제조 공정 모니터링 등에 사용됩니다. 임베디드 시스템을 통해 생산성을 향상시키고 생산 공정을 자동화할 수 있습니다.

  • 스마트 시스템: 스마트 시티, 스마트 홈, 스마트 웨어러블 디바이스 등의 분야에서 임베디드 시스템이 사용됩니다. 이러한 시스템은 센서, 통신 기술, 데이터 수집 및 분석을 통해 효율성과 편의성을 제공합니다.

  • 에너지 관리: 임베디드 시스템은 에너지 관리 분야에서 사용됩니다. 스마트 그리드, 태양광 발전 시스템, 에너지 모니터링 시스템 등에 임베디드 시스템이 적용되어 에너지 효율을 향상시키고 관리합니다.

이 외에도 보안 시스템, 항공 우주 산업, 게임 콘솔, 휴대전화 등 다양한 분야에서 임베디드 시스템이 활용됩니다. 임베디드 시스템은 그 유연성과 저전력 소비 등의 특징으로 인해 많은 분야에서 필수적인 역할을 수행하고 있습니다.

 

임베디드 개발자 전망

임베디드 개발자의 전망은 매우 밝습니다. 임베디드 시스템은 현대 사회에서 필수적인 역할을 맡고 있으며, 이는 임베디드 개발자에 대한 수요를 지속적으로 높이고 있습니다.

 

  • 기술 발전과 산업 변화: 기술의 발전과 산업 변화로 인해 임베디드 시스템이 점점 더 중요해지고 있습니다. 자율 주행 자동차, 인공 지능 기반의 스마트 시스템, 의료 기기 등의 분야에서 임베디드 시스템의 수요가 증가하고 있습니다. 이에 따라 임베디드 개발자에 대한 수요도 더욱 증가할 것으로 예상됩니다.

  • 인터넷 of Things (IoT): IoT 기술의 발전으로 인해 임베디드 시스템은 더욱 널리 사용되고 있습니다. 사물간의 연결과 데이터 통신을 통해 스마트 홈, 스마트 시티, 산업 자동화 등 다양한 분야에서 임베디드 시스템이 필요해지고 있습니다. 이로 인해 임베디드 개발자에 대한 수요도 증가할 것으로 예상됩니다.

  • 산업 분야의 다양성: 임베디드 시스템은 다양한 산업 분야에서 사용되고 있습니다. 자동차, 의료, 가전, 에너지, 산업 자동화 등 다양한 분야에서 임베디드 시스템의 수요가 높아지고 있습니다. 이에 따라 임베디드 개발자도 해당 분야의 전문성을 갖춘 전문가로서 필요성이 커지고 있습니다.

  • 글로벌 시장의 성장: 임베디드 시스템은 전 세계적으로 수요가 높은 시장입니다. 특히 신진 시장과 개발 중인 국가에서는 기술 발전과 산업 혁신에 따른 임베디드 시스템의 수요가 크게 증가하고 있습니다. 이에 따라 임베디드 개발자에 대한 글로벌 시장에서의 수요도 증가할 것으로 예상됩니다.

따라서, 임베디드 개발자로서의 전망은 매우 밝으며, 산업의 발전과 기술 혁신에 따라 임베디드 시스템에 대한 수요는 계속해서 증가할 것으로 예상됩니다. 임베디드 개발자로서 기술적인 역량과 도메인 지식을 갖추고 지속적인 학습과 성장을 추구한다면 많은 기회를 만날 수 있을 것입니다.

반응형
반응형

안녕하세요. 이번 포스팅에서는 개발자의 미래 취업시장을 위협하는 아주 악덕한 chat GPT에 대해서 알아보겠습니다. chat GPT가 생각보다 너무 잘 만들어져서, 여러 직종들이 위협을 받고 있는 것 같은데 개발자도 그 중에 하나라고 생각합니다. 

 

Chat GPT란?

  • Chat GPT는 GPT(Generative Pre-trained Transformer)의 변형 중 하나입니다. GPT는 OpenAI가 개발한 자연어 처리를 위한 딥러닝 모델로, 트랜스포머(Transformer)라는 아키텍처를 기반으로 합니다.

  • 대화 형태의 문맥에서 작동하도록 훈련된 모델입니다. 사용자의 입력에 따라 자연어로 대화를 이어가며 응답을 생성합니다. 이 모델은 인간과 자연스럽고 유창한 대화를 수행하는 데 중점을 두고 개발되었습니다.

  • 큰 규모의 데이터셋에서 사전 훈련된 후, 다양한 대화 데이터를 사용하여 세부 조정됩니다. 이를 통해 모델은 일반적인 언어 이해와 대화 생성 능력을 갖추게 됩니다. 사용자의 질문, 문장, 문맥 등을 이해하고 적절한 대답을 생성할 수 있도록 학습되었습니다.

  • 다양한 영역에서 사용되며, 개발자, 사용자 지원, 교육, 엔터테인먼트 등 다양한 분야에서 대화 인터페이스로 활용될 수 있습니다.

Chat GPT 사용 방법

1. 구글에 챗GPT라 치고 가장 상단에 openai.com 사이트에 접속합니다.

 

2. 사이트에 들어가면, 간단하게 로그인 한 후, 해당 채팅창에서 대화를 이어나갈 수 있습니다.

3.  왼쪽의 목록에 보면 + New chat을 클릭하여 새로운 채팅을 할 수 있고, 로그인을 한 상태로 대화를 나눴다면 이전의 채팅 기록을 볼 수 있습니다.

챗 GPT 사용 꿀팁은, 비슷한 내용에 대해서 지속적으로 물어보시는 분들이라면, 새로운 채팅방을 만들지 말고 하나의 채팅방에서 계속 하는 것을 추천드립니다. 챗 GPT가 이전 대화 내용들을 기반으로 여러분이 원하는 답을 더 잘 만들어 줄 수 있다고 합니다.

Chat GPT  발전 과정

 

  1. GPT: 2018년에 OpenAI가 처음으로 GPT를 발표했습니다. 이 모델은 자연어 처리를 위한 트랜스포머 아키텍처를 사용하여 대규모 텍스트 데이터를 학습하여 문장 생성과 자연어 이해 등의 과제를 수행할 수 있었습니다.

  2. GPT-2: 2019년, OpenAI는 GPT의 다음 버전인 GPT-2를 발표했습니다. GPT-2는 훨씬 더 큰 모델로, 1.5억 개의 매개변수를 가지고 있었습니다. 이 모델은 놀라운 생성 능력을 보여주었고, 자연어 생성에 있어서 이전 모델보다 훨씬 뛰어난 결과를 제공했습니다.

  3. ChatGPT: 2020년에 OpenAI는 GPT-3의 일부로서 ChatGPT를 소개했습니다. 이 모델은 대화형 상황에서 작동하도록 훈련되었으며, 사용자의 대화와 상호작용을 처리하고 응답을 생성할 수 있습니다. ChatGPT는 더 자연스러운 대화를 생성하는 데 초점을 맞추었으며, 다양한 온라인 플랫폼에서 사용되고 있습니다.

  4. ChatGPT Plus 및 ChatGPT API: 2021년, OpenAI는 사용자가 ChatGPT를 구독하고 더 많은 기능에 접근할 수 있는 ChatGPT Plus 구독 서비스를 출시했습니다. 또한, ChatGPT API를 통해 개발자들이 ChatGPT를 자신의 애플리케이션에 통합하여 사용할 수 있게 되었습니다.

 

Chat GPT 여러가지 활용 방안

 

  • 대화 인터페이스: Chat GPT를 사용하여 웹사이트나 애플리케이션에 대화형 인터페이스를 구현할 수 있습니다. 사용자와의 상호작용을 처리하고 응답을 생성하여 질문에 대답하거나 유저 지원, 정보 제공, 엔터테인먼트 등 다양한 목적으로 활용할 수 있습니다.

  • 가이드와 도움말: Chat GPT를 사용하여 제품 또는 서비스의 가이드와 도움말을 작성할 수 있습니다. 사용자의 질문에 대응하여 제품 또는 서비스에 대한 설명, 문제 해결 방법, 사용법 안내 등을 제공할 수 있습니다.

  • 가상 도우미: Chat GPT를 사용하여 가상 도우미를 구현할 수 있습니다. 사용자의 질문에 따라 정보를 제공하거나 작업을 수행할 수 있는 가상 도우미를 개발하여 다양한 도메인에서 유용하게 활용할 수 있습니다.

  • 개발 지원: Chat GPT를 사용하여 개발자들에게 도움을 제공할 수 있습니다. 프로그래밍 질문에 대답하거나 코드 예제를 제공하고, 기술적인 문제 해결에 도움을 줄 수 있습니다.

  • 교육 및 훈련: Chat GPT를 사용하여 학습자들에게 교육 자료를 제공하고 질문에 답변하며, 퀴즈나 문제 해결을 도와줄 수 있습니다.

중요한 점은 Chat GPT를 사용할 때 항상 모델의 출력을 신중하게 검토하고 수정해야 한다는 것입니다. 모델이 생성한 응답을 신뢰할 수 있는지 확인하고, 필요한 경우 정보의 정확성을 확인하는 추가적인 검증 단계가 필요합니다. 또한, 모델의 사용 목적에 따라 적절한 안내와 제약 사항을 제공하는 것이 중요합니다. 즉, Chat GPT는 정답이 아니니, 너무 신뢰하지 말고, 참고용으로만 사용하시는 것을 추천드립니다.

 

Chat GPT 이용시 주의사항

 

  • 모델의 제한과 의존성 이해: Chat GPT는 미리 훈련된 모델이지만, 모델의 제한 사항과 의존성을 이해해야 합니다. 모델은 입력에 따라 결과가 달라질 수 있으며, 최신 정보나 도메인 특정 지식에 대한 업데이트를 알지 못할 수 있습니다.

  • 정보의 정확성 검토: Chat GPT가 생성한 응답의 정보의 정확성을 검토하는 것이 중요합니다. 모델은 학습 데이터에 기반하여 응답을 생성하기 때문에, 잘못된 정보를 제공할 수 있습니다. 신뢰성이나 민감한 주제에 대해 추가적인 검증이 필요할 수 있습니다.

  • 모델의 편향성 인식: 모델은 훈련 데이터에서 학습한 편향성을 반영할 수 있습니다. 특정 인종, 성별, 종교, 정치적 견해 등에 대한 편향된 응답을 생성할 수 있습니다. 이를 인식하고 편향성을 최소화하기 위해 추가적인 조치를 취해야 합니다.

  • 데이터 보안과 개인정보: Chat GPT에 민감한 개인정보나 기밀 데이터를 제공해서는 안 됩니다. 모델은 입력 데이터를 저장하거나 기억하지 않지만, 사용자와의 상호작용에서 얻은 정보가 기록될 수 있으므로 개인정보 보호 및 데이터 보안에 유의해야 합니다.

  • 사용자 경험 개선: Chat GPT는 완벽한 대화 파트너가 아닙니다. 응답이 부족하거나 모호할 수 있습니다. 이에 따라 사용자 경험을 향상시키기 위해 모델의 출력을 검토하고 필요한 경우 수정하는 등의 작업을 수행해야 합니다.

  • 법적 및 윤리적 제약: Chat GPT를 사용하는 동안 법적인 제약사항과 윤리적인 가이드라인을 준수해야 합니다. 저작권, 불법적인 내용, 차별성, 사기 등과 관련된 내용에 대해서는 적절한 조치를 취해야 합니다.

위 주의사항을 염두에 두고 Chat GPT를 사용하면 모델을 더 효과적이고 유익하게 활용할 수 있습니다. 필요한 경우 모델의 출력을 검토하고 수정하여 신뢰성과 품질을 높이는 것이 중요합니다.

 

 

반응형
반응형

안녕하세요. 이번 포스팅에서는 요즘 가장 핫한 개발 직종 중 하나인 데이터사이언티스트에 대해 알아보겠습니다. 데이터 사이언티스트는 빅데이터를 다루고, 통계와 인공지능 등을 이용하여 데이터 속에서 유의미한 결과를 도출해 내는 역할을 합니다. 

 

 

데이터 사이언티스트란?

  •  데이터와 통계 분석, 프로그래밍, 머신 러닝 기술을 활용하여 조직이 가지고 있는 데이터에서 유용한 통찰력을 도출하고 의사 결정에 활용하는 전문가입니다. 데이터 사이언티스트는 데이터를 수집하고 정제하여 분석에 사용할 수 있는 형태로 가공하며, 이를 통해 문제를 해결하고 예측 모델을 개발합니다.

  • 데이터 분석 기술과 통계적 모델링 기법을 이용하여 데이터에 내재된 패턴과 트렌드를 이해하고 예측하는 능력을 가지고 있습니다. 이를 위해 다양한 통계적 알고리즘, 머신 러닝, 딥 러닝, 자연어 처리 등의 기술을 활용합니다.

  • 주어진 문제에 대한 가설을 세우고, 데이터를 분석하여 가설을 검증하거나 수정합니다. 이를 통해 비즈니스 문제를 해결하거나 의사 결정을 지원하는데 도움을 줍니다. 또한 데이터 시각화와 커뮤니케이션 기술을 활용하여 복잡한 데이터와 분석 결과를 이해하기 쉬운 형태로 전달하는 역할도 수행합니다.

  • 다양한 산업 분야에서 활용될 수 있으며, 기업이나 조직 내부에서 데이터 기반 의사 결정에 중요한 역할을 담당합니다. 데이터 사이언티스트는 데이터에 대한 이해와 분석 능력을 갖추고 있으며, 문제 해결과 예측 모델 개발을 통해 가치 있는 인사이트를 제공합니다.

 

데이터 사이언스 분야

  • 비즈니스 분석: 데이터 사이언티스트는 기업의 데이터를 분석하여 비즈니스 성과를 향상시킬 수 있는 인사이트를 도출합니다. 예를 들어, 판매 데이터를 분석하여 수익을 최적화하는 제품 가격 설정이나 고객 세그먼트를 식별하는 등의 결정을 지원할 수 있습니다.

  • 마케팅 및 고객 분석: 데이터 사이언티스트는 고객의 행동 패턴, 선호도, 구매 이력 등을 분석하여 개인화된 마케팅 전략을 개발합니다. 이를 통해 고객 유치 및 충성도 향상을 도모할 수 있습니다.

  • 금융 분야: 데이터 사이언티스트는 금융 기관에서 거래 데이터, 시장 데이터, 신용 스코어 등을 분석하여 투자 전략, 리스크 관리, 사기 탐지 등에 활용할 수 있습니다.

  • 의료 및 생명 과학: 의료 데이터의 분석을 통해 질병 예측, 진단, 치료 효과 분석 등에 기여할 수 있습니다. 또한 유전체 데이터와 생명 과학 연구 데이터를 분석하여 새로운 약물 개발이나 질병의 원인 파악에 도움을 줄 수 있습니다.

  • 제조 및 공급망 분석: 데이터 사이언티스트는 제조업체의 생산 데이터, 공급망 데이터 등을 분석하여 생산 공정의 최적화, 재고 관리, 예측 수요 분석 등을 수행할 수 있습니다.

  • 교통 및 도시 계획: 대중 교통 데이터, 도로 네트워크 데이터 등을 분석하여 교통 흐름 최적화, 교통 체증 예측, 도시 계획 개선 등을 지원할 수 있습니다.

  • 에너지 및 자원 관리: 데이터 사이언티스트는 에너지 사용량, 생산성 데이터 등을 분석하여 에너지 효율성 향상, 자원 관리 개선에 기여할 수 있습니다.

데이터 사이언스 분야는 사실 데이터가 있는 모든 분야에서 활용이 가능합니다. 따라서 해당 데이터들을 잘 정리해서 모아두고 불필요한 데이터를 걸러내는 것이 매우 중요합니다.

 

데이터 사이언티스트 스킬

  • 프로그래밍 언어: 데이터 분석과 모델링을 위해 프로그래밍 언어를 사용해야 합니다. 파이썬은 데이터 과학 분야에서 가장 일반적으로 사용되는 언어이며, R도 널리 사용됩니다. 파이썬과 R을 포함한 기타 언어와 라이브러리에 대한 기본적인 이해와 숙련도가 필요합니다.

  • 통계와 수학: 통계와 수학의 원리를 기반으로 합니다. 확률, 회귀 분석, 가설 검정 등의 통계적 개념에 대한 이해와 수학적 모델링 기법에 대한 지식이 필요합니다.

  • 데이터 분석 및 시각화 도구: 데이터를 분석하고 시각화하여 통찰력을 도출해야 합니다. 이를 위해 데이터 분석 도구와 시각화 도구에 대한 숙련도가 필요합니다. 주로 사용되는 도구로는 파이썬의 pandas, NumPy, scikit-learn, 시각화 도구로는 Matplotlib, Seaborn, Plotly 등이 있습니다.

  • 데이터베이스와 SQL:대량의 데이터를 다루기 때문에 데이터베이스와 SQL 쿼리 작성에 대한 이해와 경험이 필요합니다. 일반적으로 사용되는 데이터베이스 시스템으로는 MySQL, PostgreSQL, MongoDB 등이 있습니다.

  • 머신 러닝과 딥 러닝: 머신 러닝과 딥 러닝 기술을 활용하여 예측 모델을 구축하고 문제를 해결합니다. 이를 위해 머신 러닝 및 딥 러닝 알고리즘, 텐서플로우(TensorFlow), 케라스(Keras), 사이킷런(Scikit-learn) 등과 같은 라이브러리에 대한 이해와 활용 능력이 필요합니다.

  • 문제 해결 능력: 복잡한 문제를 해결하기 위한 분석적 사고와 문제 해결 능력을 갖추어야 합니다. 데이터를 이해하고 분석하여 유용한 인사이트를 도출하고, 이를 비즈니스 문제나 의사 결정에 적용할 수 있어야 합니다.

  • 커뮤니케이션: 복잡한 분석 결과를 비전문가에게 이해하기 쉽게 전달해야 합니다. 따라서 효과적인 커뮤니케이션과 시각화 기술이 필요합니다. 비즈니스 의사 결정자와 협업하고 분석 결과를 설득력 있게 전달할 수 있는 능력이 중요합니다.

이외에도 데이터 전처리, 자연어 처리, 분산 컴퓨팅 등에 대한 이해와 경험이 도움이 됩니다. 데이터 사이언티스트는 지속적인 학습과 실전 경험을 통해 스킬을 향상시키고 새로운 도구와 기술을 익히는 것이 중요합니다.

 

데이터 사이언티스트 전망

 데이터 사이언티스트의 전망은 매우 밝습니다. 데이터의 양과 다양성이 계속해서 증가하고 있으며, 기업과 조직들은 데이터를 활용하여 경쟁 우위를 얻고 문제를 해결하기 위해 데이터 사이언티스트에 대한 수요가 높아지고 있습니다. 이에 따라 데이터 사이언티스트는 현재와 앞으로도 많은 기회를 가질 것으로 예상됩니다.

 데이터 사이언스와 머신 러닝, 인공 지능 기술의 발전으로 인해 많은 산업 분야에서 데이터 사이언티스트의 역할이 더욱 중요해지고 있습니다. 비즈니스, 마케팅, 금융, 의료, 교통, 에너지 등 여러 분야에서 데이터를 분석하고 예측 모델을 개발하여 의사 결정을 지원하고 최적화하는 역할을 수행합니다.

 데이터 사이언티스트의 수요는 기업의 경쟁력 확보와 혁신에 직결되기 때문에, 산업체와 기업들은 데이터 사이언티스트를 고용하여 데이터 자산을 활용하고 비즈니스 성과를 향상시키는데 큰 관심을 가지고 있습니다. 또한 정부와 공공 기관도 데이터 기반의 정책 수립과 사회 문제 해결을 위해 데이터 사이언티스트를 활용하고 있습니다.

 데이터 사이언티스트가 가져야 하는 기술과 역량은 계속해서 진화하고 발전해야 하지만, 데이터 분석과 머신 러닝, 프로그래밍 등의 핵심 기술은 여전히 필수적입니다. 또한, 비즈니스 이해력과 커뮤니케이션 능력도 매우 중요합니다.

 현재와 앞으로도 많은 기회와 성장 가능성을 가지고 있으며, 데이터 주도적인 사회에서는 그 역할이 더욱 확대될 것으로 예상됩니다. 따라서 데이터 사이언티스트로서의 전망은 매우 밝고 흥미로운 분야로 여겨집니다.

반응형
반응형

안녕하세요. 이번 포스팅에서는 Front-End 개발자가 하는 역할이 무엇인지 알아보겠습니다. Front-End와 Back-End 개발자가 서로 협력하여 어플리케이션 또는 웹을 만들어 내는데, 각각의 역할이 무엇인지 헷갈리는 경우가 많아 정확히 무슨 역할을 맡고 있는지 알아보겠습니다.

 

Front End 개발자란?

Front End 개발자를 디자인까지 하는 사람이라고 착각하는 경우가 많은데, 보통 디자인은 따로 디자이너가 하고, 해당 디자인에 맞게 Front End 개발자가 구현을 합니다. 단순히 화면만 만드는 것이 아니라, 화면을 클릭했을때 반응, 이벤트 처리, 데이터 조작 등의 역할까지 수행합니다.

  • 웹 애플리케이션 또는 웹 사이트의 사용자 인터페이스(UI)를 구축하고 개발하는 역할을 맡는 사람입니다. 이는 웹 사이트나 웹 애플리케이션의 시각적인 부분을 담당하는 것을 의미합니다.

  • HTML, CSS, JavaScript 등의 프로그래밍 언어와 기술을 사용하여 사용자가 웹 사이트나 애플리케이션을 사용할 때 시각적인 요소와 상호작용할 수 있도록 만듭니다. 이는 웹 페이지의 레이아웃, 디자인, 버튼, 폼, 메뉴 등과 같은 요소를 포함합니다.

  • Front-end 개발자는 사용자 경험(UX)을 고려하여 웹 사이트나 애플리케이션의 사용성을 향상시키기 위해 다양한 기술과 패턴을 사용합니다. 이는 웹 사이트의 반응성, 속도, 접근성 등을 개선하는 것을 포함합니다.

  • 디자이너와 협업하여 디자인을 구현하고, 백엔드 개발자와 소통하여 데이터를 효율적으로 가져오고 표시할 수 있는 인터페이스를 개발합니다. 전체적으로 웹 애플리케이션의 사용자 인터페이스를 개발하고 최적화하는 역할을 맡는 것이 Front-end 개발자의 주요 업무입니다.

Front End 개발자 Skill

  • HTML: 웹 페이지의 구조를 정의하기 위해 사용되는 마크업 언어입니다. 웹 요소의 구조를 작성하고, 콘텐츠를 마크업하는 데 필요합니다.

  • CSS: 웹 페이지의 스타일과 레이아웃을 지정하기 위해 사용되는 스타일 시트 언어입니다. CSS를 사용하여 색상, 글꼴, 배경, 레이아웃 등을 조작할 수 있습니다.

  • JavaScript: 웹 페이지에 동적인 기능을 추가하기 위해 사용되는 프로그래밍 언어입니다. JavaScript를 사용하여 이벤트 처리, 데이터 조작, 애니메이션 등을 구현할 수 있습니다.

  • 웹 개발 프레임워크 및 라이브러리: 예를 들어, React, Angular, Vue.js와 같은 프레임워크나 jQuery와 같은 라이브러리를 익히면 웹 개발 작업을 보다 효율적으로 처리할 수 있습니다.

  • 반응형 웹 디자인: 다양한 디바이스와 화면 크기에 대응하기 위해 반응형 웹 디자인에 대한 이해와 구현 능력이 필요합니다.

  • 웹 접근성: 장애를 가진 사용자들을 포함하여 모든 사용자가 웹 사이트에 접근하고 사용할 수 있도록 하는 기술과 가이드라인에 대한 이해가 필요합니다.

  • 버전 관리 시스템: Git과 같은 버전 관리 도구를 사용하여 코드의 변경 이력을 관리하고 협업을 용이하게 할 수 있습니다.

또한, 사용자 경험(UX)과 성능 최적화, 웹 보안, 웹 표준, 웹 성능 등에 대한 이해도가 필요합니다. 이를 위해 관련된 도구와 기술을 학습하고 실전 프로젝트를 통해 경험을 쌓는 것이 좋습니다. 계속해서 업계 동향을 파악하고 새로운 기술과 도구에 대해 학습하는 것도 중요합니다.

 

Front End 개발자 전망

 Front-end 개발자의 전망은 매우 밝습니다. 웹 기술의 발전과 모바일 기기의 보급으로 인해 웹 사이트와 웹 애플리케이션의 중요성이 계속해서 증가하고 있습니다. 이에 따라 Front-end 개발자의 수요도 높아지고 있으며, 현대적이고 사용자 중심의 웹 인터페이스를 구축하는 역할이 점점 중요해지고 있습니다.

또한, 최근에는 프로그레시브 웹 앱, 단일 페이지 애플리케이션, 반응형 웹 디자인 등과 같은 새로운 기술과 패러다임이 등장하고 있어, Front-end 개발자는 이러한 트렌드에 맞추어 학습하고 역량을 강화해야 합니다.

 사용자 경험과 웹 성능 최적화에 대한 요구도 증가하고 있어, Front-end 개발자가 UX/UI 디자인과 성능 개선에 대한 이해와 능력을 보유하는 것이 중요합니다.

 인공지능과 머신러닝 분야의 발전으로 웹 애플리케이션에서 인공지능 기술을 활용하는 추세도 늘어나고 있어, Front-end 개발자들이 관련 기술에 대한 이해와 활용 능력을 갖추는 것도 중요합니다.

요약하자면, 웹 기술의 지속적인 발전과 웹 기반 서비스의 필요성 증가로 인해 Front-end 개발자의 수요는 계속해서 높아지고 있습니다. 따라서 Front-end 개발자로서 학습과 역량 강화를 지속적으로 추구한다면 좋은 전망을 가지고 있을 것입니다. 

 

 

반응형
반응형

안녕하세요. 이번 포스팅에서는 개발자 자체에 대해서 다뤄보겠습니다. 개발하는데 언어도 굉장히 다양하고, 분야도 엄청나게 넓습니다. 사실 대학교를 막 졸업해서는 어떤 분야로 갈지 정하지 못했을 가능성이 큰데, 이번 포스팅을 보며 어떤 분야로 가고 싶은지 같이 알아보면 좋을 것 같습니다.

 

개발자란?

개발자는 컴퓨터 프로그램이나 소프트웨어를 개발하는 사람을 말합니다. 개발자들은 프로그래밍 언어를 사용하여 소프트웨어를 설계, 개발, 테스트하고 유지보수합니다. 소프트웨어 개발자는 주로 컴퓨터 애플리케이션, 웹 사이트, 모바일 앱 등을 만들기 위해 프로그래밍 언어를 사용합니다. 그들은 문제를 해결하고 사용자의 요구사항을 충족시키기 위해 코드를 작성하고 디버깅하며 협업하며 프로젝트를 완성합니다. 개발자는 다양한 분야에서 활동할 수 있으며, 프론트엔드 개발, 백엔드 개발, 모바일 앱 개발, 데이터베이스 관리 등의 전문화된 분야도 있습니다.

 

 

개발자 로드맵

 개발자가 되기 위해 필요한 기술과 학습 경로는 개인의 목표와 관심 분야에 따라 다를 수 있습니다. 따라서 일반적인 개발자로드맵을 아래에 제시해드리겠습니다. 이 로드맵은 초보자부터 전문가까지의 학습과정을 포함하고 있습니다.

  1. 프로그래밍 기초:
    • 기본적인 컴퓨터 과학 개념 이해
    • 언어 선택 및 학습 (예: Python, JavaScript, Java 등)
  2. 웹 개발:
    • HTML, CSS, JavaScript 기초 학습
    • 웹 프론트엔드 개발 (프레임워크, 라이브러리 학습)
    • 백엔드 개발 (서버 사이드 언어 및 프레임워크 학습)
    • 데이터베이스 기초 학습 (SQL 등)
  3. 알고리즘과 자료구조:
    • 기본적인 알고리즘과 자료구조 이해 및 구현
    • 효율적인 알고리즘 설계 및 성능 분석
  4. 데이터베이스:
    • 데이터베이스 설계 및 관리 (SQL, NoSQL)
    • 데이터베이스 성능 최적화
  5. 소프트웨어 아키텍처:
    • 소프트웨어 아키텍처 패턴 이해 (MVC, 마이크로서비스 등)
    • 시스템 설계 및 아키텍처 기술 학습
  6. 버전 관리 시스템:
    • Git을 사용한 협업 및 버전 관리 학습
  7. 테스트와 디버깅:
    • 자동화된 테스트 방법론 이해 및 구현
    • 버그 디버깅 기법 학습
  8. 보안:
    • 보안 기본 개념 이해
    • 웹 애플리케이션 보안 방어 기술 학습
  9. 컴퓨터 네트워크:
    • 네트워크 기본 동작 이해
    • 프로토콜, 라우팅, 네트워크 보안 등 학습
  10. 추가 기술 및 도구:
    • 클라우드 컴퓨팅 (AWS, Azure 등)
    • 자동화 도구 (도커, Kubernetes 등)
    • 데이터 분석 및 머신러닝 (Python의 데이터 분석 라이브러리 학습 등)

개발자 업무 분야

  • 소프트웨어 개발자: 소프트웨어 개발자는 애플리케이션, 시스템 소프트웨어, 모바일 앱 등을  개발합니다.  프로그래밍 언어를 사용하여 소프트웨어를 개발하고, 테스트하고, 유지보수하는게 주 업무입니다.

 

  • 웹 개발자: 웹 개발자는 웹 사이트 및 웹 애플리케이션을 개발합니다. 프론트엔드 개발자는 웹 페이지의 사용자 인터페이스와 상호작용을 담당하고, 백엔드 개발자는 웹 사이트의 서버 측 로직과 데이터 처리를 다룹니다. 웹 개발자는 HTML, CSS, JavaScript, 프레임워크 등을 사용합니다.

 

  • 백엔드 개발자: 백엔드 개발자는 웹 사이트나 웹 애플리케이션의 서버 측 로직과 데이터 처리를 담당합니다. 주로 서버와 데이터베이스와 상호작용하며, 사용자에게 보이지 않는 서버 사이드 기능을 구축합니다. 백엔드 개발자는 다양한 프로그래밍 언어와 프레임워크를 사용하여 서버 애플리케이션을 개발하고, 데이터베이스와의 상호작용을 관리합니다. 또한 보안, 성능 최적화, 확장성 등을 고려하여 안정적이고 효율적인 백엔드 시스템을 구축합니다.

 

  • 프론트엔드 개발자: 프론트엔드 개발자는 웹 사이트나 웹 애플리케이션의 사용자 인터페이스(UI)를 개발합니다. 웹 페이지의 레이아웃, 디자인, 사용자 상호작용 등을 구현하며, HTML, CSS, JavaScript 등을 사용합니다. 프론트엔드 개발자는 사용자가 직접 보는 부분을 다루므로 시각적인 측면과 사용자 경험에 중점을 둡니다. 모바일 반응형 웹 디자인, 웹 접근성, 최적화 등을 고려하여 사용자에게 직관적이고 효과적인 웹 환경을 제공합니다.

백엔드 개발자와 프론트엔드 개발자는 서로 협력하여 웹 애플리케이션을 완성시킵니다. 백엔드 개발자는 데이터 처리와 비즈니스 로직을 구현하고, 프론트엔드 개발자는 이를 시각적으로 표현하고 사용자와 상호작용할 수 있는 인터페이스를 제공합니다.

 

  • 앱 개발자: 앱 개발자는 모바일 애플리케이션을 개발합니다. 안드로이드 개발자는 안드로이드 운영 체제에서 동작하는 앱을 만들고, iOS 개발자는 iOS 운영 체제에서 동작하는 앱을 만듭니다. 이Java, Kotlin, Swift 등을 사용하여 앱을 개발합니다.

 

  • 데이터베이스 개발자: 데이터베이스 개발자는 데이터베이스를 설계하고 관리합니다. 이들은 데이터베이스 시스템을 개발하거나 기존 시스템을 최적화하며, 데이터베이스 구축, 쿼리 작성, 성능 튜닝 등을 수행합니다. 

 

  • 인공지능 및 머신러닝 개발자: 인공지능(AI) 및 머신러닝(ML) 개발자는 기계 학습 알고리즘을 사용하여 인공지능 시스템 및 기능을 개발합니다. 데이터 분석, 패턴 인식, 예측 모델링 등에 특화되어 있습니다. 보통 박사 출신이 많습니다. 해당 개발을 진행하고 싶다면 대학원 진학을 추천드립니다.

 

  • 게임 개발자: 게임 개발자는 비디오 게임을 개발합니다.  게임 엔진을 사용하여 게임 로직, 그래픽, 사운드, 인터페이스 등을 개발하고 구현합니다.

 

  • 네트워크 개발자: 네트워크 개발자는 컴퓨터 네트워크 시스템을 구축하고 유지보수하는 역할을 합니다. 네트워크 아키텍처 설계, 라우팅 및 스위칭 구성, 보안 설정, 네트워크 모니터링 등을 담당합니다. 네트워크 개발자는 TCP/IP, LAN, WAN, VPN 등과 같은 네트워크 프로토콜과 기술을 다룹니다.

 

  • 보안 개발자: 보안 개발자는 소프트웨어와 시스템의 보안을 강화하고 취약점을 방지하기 위해 일합니다. 보안 요구사항을 분석하고 적용할 수 있는 솔루션을 개발하며, 암호화 기술, 인증 및 권한 관리, 취약점 분석 등을 다룹니다. 보안 개발자는 해킹, 악성 코드, 데이터 유출 등에 대비하여 시스템을 보호합니다.

 

  • 임베디드 시스템 개발자: 임베디드 시스템 개발자는 소형 컴퓨터 시스템이나 기기 내부에 통합된 소프트웨어 및 하드웨어를 개발합니다. 마이크로컨트롤러 또는 마이크로프로세서를 사용하여 임베디드 시스템의 동작을 제어하고, 신호 처리, 센서 통합, 제어 시스템 등에 사용됩니다. 임베디드 시스템 개발자는 C, C++, 어셈블리어 등을 사용합니다.

 

  • 크로스 플랫폼 개발자: 크로스 플랫폼 개발자는 여러 플랫폼(예: 웹, 모바일, 데스크톱)에서 동작하는 소프트웨어를 개발하는데 전문화되어 있습니다. 플랫폼 간 호환성을 고려하여 코드를 작성하고, 크로스 플랫폼 프레임워크나 도구를 활용하여 개발합니다. 크로스 플랫폼 개발자는 JavaScript, React Native, Flutter 등을 사용하여 플랫폼 간 개발을 수행합니다.

 

마무리

 위와 같이 정말 다양한 분야의 개발자가 존재하고 있고, 또한 지금도 메타버스, 블록체인 개발자 등 다양한 신 분야가 탄생하고 있습니다. 체험해 볼 수 없는 분야도 많지만, 꾸준히 관심을 두고 공부하신다면, 원하는 분야의 개발자가 되실 수 있을 것이라 확신합니다. 오늘도 개발자, 취준생 여러분 응원하며 이번 포스팅 마무리하도록 하겠습니다. 감사합니다.

 

 


 

 

 

반응형
반응형

안녕하세요. 이번 포스팅에서는 제가 했던 활동 중 정말 뜻깊었고 도움이 많이 되었던 '가짜 연구소'에 대해 소개하겠습니다. 가짜 연구소란, 머신러닝/데이터사이언스를 중심으로 모인 비영리 커뮤니티로, 다양한 분야의 사람들이 모여 공부하고 정보를 공유합니다. AI 쪽에 관심이 있으신 분들에게 특히 강력히 추천드립니다.

https://pseudo-lab.com/Pseudo-Lab-c42db6652c1b45c3ba4bfe157c70cf09

 

가짜연구소

가짜연구소는 머신러닝/데이터사이언스를 중심으로 모인 비영리 커뮤니티입니다. 성장의 앙상블이 만들어내는 울림을 통해 개인과 커뮤니티의 성장의 사이클을 함께 만들어나가요

pseudo-lab.com

 

가짜연구소 가입 절차

가짜 연구소는 빌더와 러너 2가지 형태로 참여할 수 있습니다. 빌더는 직접 스터디나, 프로젝트를 기획하여 팀원들을 모집하는 리더 역할을 수행하고, 러너는 다른 빌더들이 생성한 모임에 가입하여 팀원으로 참가하게 됩니다. 방학 시즌에 참가 인원들을 모집하는데, 팀원으로 참가하고 싶다면, 간단한 자기 소개와 원하는 프로젝트/스터디를 선택하여 신청할 수 있습니다. 

 위의 사진과 같이 정말 많은 프로그램들이 존재하며, 해당 프로그램의 리더가 팀원들을 선택합니다. 프로그램은 초급/중급/고급으로 나뉘고, 다양한 분야의 전문가들이 존재하여, 여러 분야에 AI를 결합한 재밌는 프로그램들을 볼 수 있습니다. 프로그램들은 스터디/ 논문 리뷰/ 프로젝트 진행 등이 있고 저는 학교에서 AI 수업 몇개정도 들어본 초보였기 때문에 초급반을 신청했습니다. 저는 2기에 참여했었는데 벌써 7기가 진행되고 있고, 훨씬 더 다양하고 체계적으로 바뀐 모습에 깜짝 놀랐습니다.

 

가짜연구소 장점

 가짜연구소의 최대 장점은 다양한 분야의 여러 사람들이 모여있다는 점입니다. 의사, 변호사, 연구원, 회사원 등등 다양한 분야의 사람들을 만나볼 수 있고, 저는 대학생이였기 때문에 이런 분들과 대화해 볼 수 있다는 점이 참 좋았습니다. 다들 현업을 하면서 진행하는 것이기에, 살인적인 스케쥴도 아니였고, 조금의 시간만 투자하며 참여할 수 있었습니다. AI가 다른 분야에서 어떻게 활용되는지 알 수 있었고, 서로의 스케쥴에 맞춰가면서 진행했기 때문에 큰 부담없이 재미있게 공부할 수 있었습니다. 회사에서 조금 여유가 생긴다면 8기에 한번 도전해 볼 생각입니다.

 

 

가짜연구소 프로젝트 진행 방식

 가짜연구소 프로젝트는 기간이 정해져 있고 보통 빌더분들이 스케쥴을 다 짜놓습니다. 모두 다 다른 빌더들이 진행하고, 형식이 자유롭기 때문에 진행 방식은 프로그램마다 모두 다릅니다. 따라서 제가 했던 프로젝트의 진행방식에 대해서 소개해드리겠지만, 모두 다르기때문에 각 프로그램의 소개를 보고 파악하시길 바랍니다.

https://pseudo-lab.com/e1f419456cac4980bb2fe90d89d2bad9

 

가짜연구소

가짜연구소는 머신러닝/데이터사이언스를 중심으로 모인 비영리 커뮤니티입니다. 성장의 앙상블이 만들어내는 울림을 통해 개인과 커뮤니티의 성장의 사이클을 함께 만들어나가요

pseudo-lab.com

 

한땀한땀 딥러닝 컴퓨터 비전 백과사전

 저는 컴퓨터 비전쪽에 관심이 많았기 때문에, 해당 프로그램에 참여했습니다. 인원은 총 5명이였고, 자동차쪽 현업자, 의사, 연구원 분들과 함께 진행했습니다. 활동은 총 3가지로 나누어 1주일에 한번씩 온라인으로 진행했는데, 

1. 컴퓨터 비전 전자책 제작

2. 논문 리뷰

3. 최근 AI 동향 공유 

 이 세가지 항목으로 진행했습니다.

 

1. 컴퓨터 비전 전자책 제작

 가장 주된 활동으로, 공부를 하는 것을 목적으로 컴퓨터 비전 전자책을 wiki에 함께 써나갔습니다. 우선 책과 다른 블로그들을 참고하여 카테고리를 정했고, 각 카테고리를 분담하여 1주일에 1항목씩 각자 정리해 온 후 서로 리뷰하는 시간을 가졌습니다. 내용은 초보자들을 위한 책이였기때문에 최대한 이해하기 쉽게 쓰도록 노력했습니다. 

https://wikidocs.net/book/6651

중간중간 헷갈리거나 어려운 부분은 아직 미완성이지만, 궁금하신 분들은 방문해보시길 바랍니다.

 

2. 논문 리뷰

AI 분야는 지속적으로 발전하고 있고, 다양한 신기술들이 계속해서 발굴되고 있었기에 조금 더 딥하게 공부를 해보기 위해 번갈아가면서 한명씩 논문 하나를 정해 리뷰하는 시간을 가졌습니다. 각자 분야가 달랐기 때문에 자신의 분야의 컴퓨터 비전 논문을 찾아 리뷰하였고, 정말 재밌었습니다. 저는 논문을 보는게 익숙치 않아 좋은 발표를 하진 못했던 것 같지만... 다른 분들의 리뷰를 들으면서 흥미로운 주제가 많았고, 시야를 넓히는데 큰 도움이 됐었습니다.

 

3. 최근 AI 동향 공유

  최근 딥러닝/데이터사이언스 관련 기사나 이슈들을 찾아보며, 각자 하나씩 리뷰하는 시간을 가졌습니다. 컴퓨터 비전이 정말 다양한 분야에 쓰이고 있다는 것을 알 수 있었고 저희가 공부했던 내용들과 엮어서 생각해보며 서로 토의했습니다. 정말 상상도 못하는 기술들이 나오고 있다는 것에 새삼 놀랐고, 재미있었습니다.

 

마무리

 저는 취업준비를 하면서 해당 프로그램에 참여를 했어서, 100%의 시간을 투자하진 못해서 아쉬웠지만, 제가 했던 모든 프로그램중에서 가장 뜻깊고 저를 성장시켜주었던 프로그램이였기에 여러분께 자신있게 소개해 드립니다. 취업을 하더라도, 가짜연구소에 가입해서 원하는 분야를 공부해보시는 것도 좋을 것 같습니다. 가짜연구소 정말 강력 추천하며, 이번 포스팅 여기서 마치도록 하겠습니다. 개발자 취준생 여러분 항상 응원합니다. 감사합니다.

반응형
반응형

안녕하세요. 이번 포스팅에서는 면접 스터디에 관해 다뤄보겠습니다. 혼자 준비하시는 분도 많겠지만 저는 면접 스터디가 참 많이 도움이 됐었기에 강력히 추천드립니다. CS 편에서도 스터디에 대해 잠깐 다루었었는데, 스터디를 어떻게 진행해야하는지, 어디서 구하는지 물어보시는 분들이 많아 좀 더 자세하게 다뤄보겠습니다.

 

https://nakco.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A1%9C-%EC%B7%A8%EC%97%85%ED%95%98%EA%B8%B0-CSComputer-Science

 

개발자로 취업하기 - CS(Computer Science)

안녕하세요. 이번 포스팅에서는 개발자로 취업하기 위해 공부해야하는 Computer Science 공부 방법에 대해 정리해보겠습니다. Computer Science는 컴퓨터 공학 전공 지식이라고 볼 수 있는데, 대학교에서

nakco.tistory.com

 

개발자 면접 스터디 구하기

면접에 도달했고, 이미 CS 공부까지 마치신 분들이라면 이젠 실전을 준비해야합니다. 보통 코딩테스트 결과가 나오면 그때부터 면접 스터디원을 이곳 저곳에서 모집할 것입니다. 

  • 카카오 오픈 채팅방
  • 기업 카카오 단톡방
  • 에브리타임
  • 캠퍼스픽

저는 위의 네 곳에서 면접 스터디를 구했었는데, 가장 추천드리는 곳은 캠퍼스픽입니다. 오픈 채팅방이나 단톡방은, 누군지 모르는 사람들과 무작위로 진행해야한다는 부분에서 좀 꺼려졌었고, 캠퍼스픽 같은 경우에는 보통 모집 인원, 모집 조건, 지역, 스터디 진행 방향 등에 대해 써있는 경우가 많기 때문에, 해당 사항들을 고려하여 스터디를 고르는게 제일 좋은 방법이였다고 생각합니다.

https://www.campuspick.com/

 

캠퍼스픽

대학생 커뮤니티, 동아리, 공모전, 대외활동 등 즐겁고 유익한 정보가 한 곳에!

www.campuspick.com

가장 좋은 방법은 캠퍼스픽에 직접 구인 글을 올려, 괜찮은 사람들을 선별하는 것이 좋지만, 여건이 안된다면 일단 이곳저곳 다 들어가보신 후 진행방향등에 대해 서로 논의한다음 맞지 않는 곳은 바로 나오시는 것을 추천드립니다. 에브리타임 같은 경우에는 같은 학교 사람들이라 좀 더 신뢰가 가고, 만나기 쉽다는 장점이 있지만, 같은 학교이다보니 모두 비슷한 경험을 했을 수 있어, 조금 편협적이 될 수도 있어서 캠퍼스픽을 가장 추천드립니다.

 

저는 면접을 준비할 때 한 기업당 적어도 하나의 면접 스터디에 참가했고, 많으면 세개까지도 참여했습니다. 첫 면접을 이미 경험해보셨다면, 어느정도 내용은 갖추고 있을 것이기 때문에, 직접 말해보는 것이 정말 큰 도움이 됩니다. 그리고 여러 사람과 대화를 하다보면 더 많은 정보를 얻을 수 있고, 다른 사람의 답변에서 힌트를 얻을 수도 있습니다. 따라서 최대한 많은 사람들과 준비를 해보며, 서로 피드백해주고, 많은 정보를 얻어가시길 바랍니다.

 

개발자 면접 스터디 진행

 면접 인원이 정해졌다면, 우선 서로의 자기소개서를 공유합니다. 물론 서로가 경쟁자라고 생각하여 자기소개서 공유가 꺼려질 수 있습니다. 하지만 이미 자기소개서는 제출 된 상황이고, 해당 내용을 기반으로 질문이 많이 들어올 것이기 때문에 꼭 공유해야합니다. 공유를 꺼려하는 사람이 있다면, 방출시키셔야 합니다. 서로에게 도움이 안될것이고 시간만 낭비하게 될 것입니다. 

 자기소개서를 서로 공유했다면, 공유 파일이나 노션을 이용하여 공동으로 사용할 수 있는 곳에 자기소개서 기반으로 질문들을 작성합니다. 각자의 이름 밑에 질문들을 적어놓으면, 각자 해당 질문에 대해 생각해보고, 다 같이 시간이 될때 직접 만나던, 온라인으로 화상채팅을 하던 실전 연습으로 나아갑니다. 실전처럼 다른 스터디원들이 질문을 해주고, 해당 질문에 답변을 하면, 꼬리 질문을 계속해서 진행합니다. 여기서 중요한 부분은 진행하면서 스터디원들 각각이 답변자의 답변에 대한 피드백을 계속 정리하여 공유 파일이나 노션에 기입하고 있어야 한다는 것입니다. 모든 질문이 끝나면, 각각 피드백에 대해서 말하는 시간을 갖고, 잘했던 점, 못했던 점, 어떻게 수정해야할지 등에 대해서 얘기하는 시간을 갖습니다. 칭찬도 좋지만 최대한 서로가 비판적인 시각으로 문제점을 짚어주는 것이 많이 도움이 될 것이라고 생각합니다.

 각각의 자기소개서에 대한 면접 연습과 피드백이 끝났다면, 이젠 공통으로 나올 수 있는 질문들에 대해서 연습해야합니다. 질문 기출이나, 자주 나오는 질문들에 대해서 적어놓고, 한명 씩 다시 실전 연습으로 돌입합니다. 여기서도 계속 꼬리 질문을 하고, 피드백을 공유하시길 바랍니다.

 여기까지가 전반적인 진행 방식이고, 사실 스터디원들이 모두 맞는 생각을 갖고 있는 것은 아니기때문에, 해당 피드백을 전적으로 받아드릴 필요는 없지만, 한번 더 생각해볼 수 있는 기회가 될 수 있기 때문에 매우 좋은 방법이라고 생각합니다. 그리고 우리 모두는 다 다른 생각을 갖을 수 있기 때문에 최대한 여러 사람들과 진행을 해보면, 더 다채롭게 생각할 수 있을 것입니다.

 

면접 스터디 진행 요약


1. 자기소개서 공유

2. 자기소개서 기반 실전 면접

3. 피드백

4. 공통 질문 공유

5. 공통 질문 기반 실전 면접

6. 피드백


 

스터디 내용 정리

 스터디가 끝났다면, 공유 파일에 정리해뒀던 피드백들과 내용들을 토대로, 질문들을 개인 파일에 나열하고 답변까지 적어 보시길 바랍니다. 자신에게 했던 질문이 아니더라도, 다른 사람이 연습할때, 괜찮았던 질문이나 답변을 잘 했던 것들도 같이 정리하여, 면접 전날 한번씩 소리내어 말해보는 것이 정말 큰 도움이 될 것입니다. 저는 기업당 예상 질문을 100개 이상 적어놓았고, 다른 사람들의 피드백과, 답변들을 참고하여 답을 미리 적어놓았습니다. 면접 전날과 당일날에 해당 질문에 대해 소리내어 읽어보며 (절대 외우는 느낌이 아님) 연습합니다. 절대 외우지 말고, 키워드만 생각하며 계속 말해보면, 면접때 말이 술술 나오는 마법을 체험하실 수 있을 것입니다. 꼭 말해야하는 키워드를 계속 각인시키도록 노력합시다.

 

마무리

같이 면접을 준비하는 사람들이 물론 경쟁자가 맞지만, 서로 최대한의 도움을 주며 정보를 교환해야 스터디의 의미가 있다고 생각합니다. 우리끼리만 붙자는 마인드로, 서로에게 열심히 피드백해주고 정보를 공유하면 정말 서로에게 큰 도움이 될 것입니다. 제가 정말 서로 열심히 했던 스터디였다고 생각하는게 삼성전자 면접스터디와, 카카오 면접스터디였는데, 삼성전자는 3명이 진행하여 3명 모두 합격하였고, 카카오는 9명이 진행하여 7명이 합격했었습니다. 서로 자소서도 공유 안하고, 피드백을 비판적으로 안하고 그냥 좋네요~~이정도만 하던 스터디들은 하면서도 진짜 시간낭비라고 생각됐고, 다들 붙었는지 떨어졌는지 공유도 없이 그냥 방이 폭파되었었습니다. 정보를 과감히 공유하며 함께 합격을 목표로 하시길 바랍니다. 오늘도 취준생, 개발자 여러분 모두 응원하며 이번 포스팅 여기서 마치도록 하겠습니다. 읽어주셔서 감사합니다.

반응형

+ Recent posts