HJW's IT Blog

[CodeIt Study] 24년 05월 3월 본문

카테고리 없음

[CodeIt Study] 24년 05월 3월

kiki1875 2024. 5. 23. 14:14
  • 코딩으로 인해 많은것들이 생겨나며, 기존에 있던 것 또한 더욱 편해진다
  • 많은 기업들이 소프트웨어에 큰 규모로 투자중
  • 왜 코딩붐이 왔는가?
    • 기술의 발전 : 컴퓨터의 성능이 좋아졌다 -> 다양한 일들을 할 수 있다
    • 코딩을 활용할 수 있는기계(컴퓨터) 가 많아졌다 -> 스마트폰, 테블릿, 가전제품 등등
    • 코딩 접근성이 좋아졌다 -> 코딩을 쉽게 만들기 위한 노력이 많았다
      • 라이브러리
      • 프레임워크
      • 언어 : 파이썬
      • Seaborn -> 데이터 시각화
      • 막혔을 경우 도움을 청할 곳이 많다.
  • 어떻게 따라갈까?
    • 기초 교양 수준에서라도 프로그래밍에 대한 이해를 갖춘다
    • 코딩에 대한 이해 + 시대적 흐름
    • 직접 코딩해보기 -> 주변을 둘러보면 코딩이 필요한 곳이 반드시 있다
    • 직접 개발자가 되기
  • 개발자 커리어의 장점
    • 준비 기간이 다른 전문직에 비해 빠르다
    • 잘 배울수 있는 환경이 필요하다.
  • 프로그래밍의 큰 그림
    • 동작원리
      • 서비스들은 여러 작은 부품으로 이루어진다
      • ex) 클라이언트 , 서버 등
    • 구현방법
  • 서비스의 동작원리
    • 클라이언트 - 서버 구조
    • 클라이언트 : html , css, js 코드
      • html : 어느 내용이 어디에
      • css : style
      • js : 유저 동작에 따라 사이트가 어떻게 반응할 지
    • 서버
      • 클라이언트가 DNS 를 통해 서버 ip 주소를 찾는다
  • 프로그래밍의 목적
    • 웹개발
    • 모바일 앱개발
    • 데이터 사이언스
    • 게임
    • IOT
    • 블록체인

웹 개발

  • 수요가 가장 높다
    • 빠르게 많은 사람들에게 서비스를 제공
  • 컴퓨터, 스마트폰 등 여러 기기에서 볼 수 있다
  • 프로그래밍의 가장 대표적 분야

어떻게 만들어 지는가?

  • 클라이언트(FRONT) - 서버 구조(BACK)
  • FRONT
    • 사용자에게 보여지는 화면
    • HTML, CSS, JavaScript
    • React, Angular, Vue -> 프론트엔드 프레임워크
  • BACK
    • 뒤에 숨어있는 유저들에게 보이지 않는 서버 역할
    • Database
      • sql
        • 규칙이 엄격, 역사가 깊어 안정적
      • nosql
        • 최근에 생긴 방식
        • 유용하고 간편
    • API -> 두 프로그램이 서로 소통할 수 있게 해주는 것
      • java, python, kotlin, php, ruby, node js
    • 백엔드 개발자가 api 를 만들어서 프론트와 소통

개발 분야

  • 모바일 개발 분야
    • 단점
      • 아이폰, 안드로이드용을 따로 만들어야 한다
      • 이러한 단점 해결을 위해 크로스 플랫폼이 등장
        • React Native
      • 하지만 각 플렛폼에 최적화 된 서비스를 만드려면 여전히 따로 만들어야 한다
  • 데이터 분야
    • 웹사이트 하나만 만들어 두면 전세계 어디서나 접근 가능
    • 페이스북, 유튜브, 인스타등: 사용자가 직접 interact 하는 플렛폼 등장
    • 맞춤형 광고등 새로운 비지니스 모델또한 등장
      • 기존의 여러 데이터를 제대로 활용해보자는 목소리
    • 인공지능 생성에 데이터를 활용하기 시작
    • 데이터 엔지니어
      • 많은 양의 데이터를 효과적으로 활용하는 것
      • 데이터베이스 + 빅데이터 처리 특화 기술
    • 데이터 애널리스트
      • 데이터 추출 -> 다각도에서 데이터를 다룬다
    • 데이터 사이언티스트
      • 머신러닝과 같은 기술을 활용해 미래 예측등
    • 모두 파이썬을 활용한다.
    • 머신러닝 엔지니어
      • 실제 서비스에 머신러닝을 녹여내는 것
    • 머신러닝 리서처
      • 새로운 머신러닝 알고리즘 연구, 기존 알고리즘 개선
      • 수학 / 통계 에 깊이가 있는 석박사
  • 게임 분야
    • 여러 플렛폼이 존재 : 모바일, 컴퓨터, 웹, 콘솔
    • 유니티
      • 비교적 접근성이 높다
    • 언리얼 엔진
      • 완성도가 높지만 어렵다
  • 블록체인
    • 가상화폐, nft, 등 탈중앙화 시스템
    • 블록체인 엔지니어
      • 블록체인 위에 올라가는 app 을 만드는 역할
        • DApp
      • 이더리움 , 솔리디티
  • 임베디드 시스템
    • 컴퓨터 외에 냉장고, 세탁기, 자동차등 성능이 다소 떨어지는 컴퓨터에 코딩
    • C 를 사용
    • IoT
      • 사물인터넷

비개발자는 코딩을 어디에 사용할까?

  • 아이디어 구현
    • 개발을 할줄 모르면 아이디어로 그치는 경우가 많다
    • 동업자를 찾기도 하지만 이미 좋은 개발자들은 좋은 대우를 받고 있다
    • 내가 직접 만들 수 있다면?
  • 평소 업무에도 활용할 수 있다
    • 파이썬과 같은 툴을 이용 데이터 분석이 당연해 지는 날이 올 것
    • 디자인 조차 데이터기반으로 결정
    • A/B test
  • 업무 자동화
    • 매일 / 매주 반복적인 업무

코딩

  • 처음 하는 사람들의 특징 : "이걸 왜 하고 있지?"
  • 코딩의 목표는 여러가지
    • 창업, 업무 효율성 증가 등등

Javascript

  • 활용도가 높아지며 수요가 늘어났다
  • 프로그래밍의 기본 개념과 원리를 알아야 다양한 상황에 사용할 수 있다

세미콜론

  • javascript 는 기본적으로 세미콜론이 필요 없으나 한줄에 두 줄을 작성한다면 세미콜론을 작성해주어야 한다

코멘트

// asdf

/*
asdf
*/

  • 주석을 작성하면 해당 script는 실행 x
  • 코드에 대한 설명을 작성
  • 구현 코드의 동작을 기록

자료형 개요

  • Data Type
  • 숫자 - Number
    • Int : 정수
    • Float : 소수
  • 문자열 - String
    • 따옴표의 시작과 끝이 같아야 한다
    • 로 연결이 가능
  • Boolean
    • 참 or 거짓
    • true / false
    • 조건에 대한 결과값으로 사용

추상화 개요

  • 추상 :
  • 목적에 맞는 핵심만 뽑는 행위
  • 복잡 - > 단순
  • 프로그래밍에서 추상화
    • 여러 사용자 ,프로그램, 동료 개발자와의 소통
    • 목적을 명확히 , 불필요 한것은 숨기기

변수

  • 코드의 작성 : 사람이 하는 일
  • 반복 입력하는 구체적인 숫자 -> 오타의 가능성
  • 숫자에 대한 의미 전달이 어렵다 -> 의미 있는 이름을 지어주자
  • 변수 : 어떠한 값을 담기 위한 상자
let espressoPrice; // 변수 선언
espressoPrice = 3000;

let coffeePrice = 4500;

  • 변수를 사용하려면 변수를 먼저 선언해야 한다

함수

  • 다양한 명령을 저장하는 것
function 함수이름(){
	명령;
	명령;
};

// 함수 선언
function greetings() {
    console.log('Hi');
    console.log('안녕');
    console.log('こんにちは');
    console.log('你好');
    console.log('Guten Tag');
    console.log('Bonjour');
    console.log('Buongiorno');
};

//함수 호출
greetings();

  • 함수 선언은 정의만 하는것,
  • 함수 호출이 있어야 해당 함수가 실행된다

파라미터

  • 함수 호출에 있어 소괄호 내에 있는 값
  • 매개 변수를 함수에 전달
function welcome(name){
	console.log('안녕하세요' + name);
};

welcome('코드잇');

  • 여러개의 파라미터도 사용 가능하다
function printSum(a,b){
	console.log(a+b);
};

printSum(10,5);

return

  • 함수는 input -> output 의 형태이다
  • 파라미터 : input
  • output : return
function getTwo(){
	return 2;
}