Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- lombok
- 일급 객체
- synchronized
- OAuth 2.0
- spring security
- Google OAuth
- Dependency Injection
- Volatile
- builder
- 일급 컬렉션
- java
- factory
- Spring
Archives
- Today
- Total
HJW's IT Blog
[CodeIt Study] 24년 05월 3월 본문
- 코딩으로 인해 많은것들이 생겨나며, 기존에 있던 것 또한 더욱 편해진다
- 많은 기업들이 소프트웨어에 큰 규모로 투자중
- 왜 코딩붐이 왔는가?
- 기술의 발전 : 컴퓨터의 성능이 좋아졌다 -> 다양한 일들을 할 수 있다
- 코딩을 활용할 수 있는기계(컴퓨터) 가 많아졌다 -> 스마트폰, 테블릿, 가전제품 등등
- 코딩 접근성이 좋아졌다 -> 코딩을 쉽게 만들기 위한 노력이 많았다
- 라이브러리
- 프레임워크
- 언어 : 파이썬
- 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
- 최근에 생긴 방식
- 유용하고 간편
- sql
- API -> 두 프로그램이 서로 소통할 수 있게 해주는 것
- java, python, kotlin, php, ruby, node js
- 백엔드 개발자가 api 를 만들어서 프론트와 소통
개발 분야
- 모바일 개발 분야
- 단점
- 아이폰, 안드로이드용을 따로 만들어야 한다
- 이러한 단점 해결을 위해 크로스 플랫폼이 등장
- React Native
- 하지만 각 플렛폼에 최적화 된 서비스를 만드려면 여전히 따로 만들어야 한다
- 단점
- 데이터 분야
- 웹사이트 하나만 만들어 두면 전세계 어디서나 접근 가능
- 페이스북, 유튜브, 인스타등: 사용자가 직접 interact 하는 플렛폼 등장
- 맞춤형 광고등 새로운 비지니스 모델또한 등장
- 기존의 여러 데이터를 제대로 활용해보자는 목소리
- 인공지능 생성에 데이터를 활용하기 시작
- 데이터 엔지니어
- 많은 양의 데이터를 효과적으로 활용하는 것
- 데이터베이스 + 빅데이터 처리 특화 기술
- 데이터 애널리스트
- 데이터 추출 -> 다각도에서 데이터를 다룬다
- 데이터 사이언티스트
- 머신러닝과 같은 기술을 활용해 미래 예측등
- 모두 파이썬을 활용한다.
- 머신러닝 엔지니어
- 실제 서비스에 머신러닝을 녹여내는 것
- 머신러닝 리서처
- 새로운 머신러닝 알고리즘 연구, 기존 알고리즘 개선
- 수학 / 통계 에 깊이가 있는 석박사
- 게임 분야
- 여러 플렛폼이 존재 : 모바일, 컴퓨터, 웹, 콘솔
- 유니티
- 비교적 접근성이 높다
- 언리얼 엔진
- 완성도가 높지만 어렵다
- 블록체인
- 가상화폐, nft, 등 탈중앙화 시스템
- 블록체인 엔지니어
- 블록체인 위에 올라가는 app 을 만드는 역할
- DApp
- 이더리움 , 솔리디티
- 블록체인 위에 올라가는 app 을 만드는 역할
- 임베디드 시스템
- 컴퓨터 외에 냉장고, 세탁기, 자동차등 성능이 다소 떨어지는 컴퓨터에 코딩
- 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;
}