웹개발의 개괄적인 길을 볼수 있는 유튜브 영상 입니다.

FrontendRoadmap-211229-153528.pdf
1.50MB

'개발자의 시작' 카테고리의 다른 글

Git - 버전관리  (0) 2021.12.10
개발자 어떻게 시작해야 하나?  (0) 2021.12.09

Git이 뭘까?

  • git은 버전(형상) 관리 시스템 중 하나

- 여러버전의 파일을 추적 관리
- 여러사람과 협업하기 위해 사용


Git은 어떻게 사용할까?

좀더 자세히 알고 싶으시다면
이 글을 참고해주세요.

https://velog.io/@solmii/Git-Github

 

📸 Git / Github란?

버전 관리를 위한 Git과, Git으로 저장돼서 원격 전송된 파일들이 저장되는 공간을 제공하는 Github에 대해 알아보자!

velog.io

 

'개발자의 시작' 카테고리의 다른 글

2022 웹개발 로드맵  (0) 2022.09.07
개발자 어떻게 시작해야 하나?  (0) 2021.12.09

1.객체지향 언어

- 기능 별로 묶어서 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것
- 코드 재사용이 편함
- 유지 보수가 쉬움
- 대형 프로젝트에 적합

 

2.운영체제에 독립성

- JVM(자바 가상머신) 위에서 JAVA 프로그램이 동작
- 운영체제로 부터 자유로움

 

3.자동 메모리 관리

- GC(Garbage Collector)가 자동으로 메모리 관리
- 메모리에서 안쓰는 것들을 자동으로 비워줌

개발자 하려면 뭐부터 하면 되냐?

 이 글을 쓰게 된 이유는
주위에 "개발자가 되고 싶은데 뭐부터 하면 되냐?" 하고 묻는 사람이 있었습니다.
그런데 명쾌하게 이것부터 해서 그 다음은 뭘 하면 된다고 말해줄 것이 생각이 나지 않았습니다.

 저는 비전공자로서 
학원을 거쳐 SI업체에서 이거해봐라 하면 이거 하고
저거 해봐라 하면 저거 해보면서 몸으로 배운터라 어떤 정리된 내용이 없었습니다.
그렇게 운이 좋게 직장을 얻어 끈기 있게 맡은 바를 열심히 하다 보니
6년 차 개발자로서 밥 먹고 살고 있습니다.

 그래서 이참에 한번 정리해보자 하는 생각이 들어 검색을 해보았습니다.
찾아보니 아래와 같이 로드맵이 있더군요.
양을 보니 저걸 언제 다 배우나 하는 생각이 들었습니다.

전체적인 로드맵(https://github.com/devJang/developer-roadmap)

저걸 어느 세월에 다 배워~!!

 그런데 생각해보니 저걸 다 배워야 하는 것이 아니었습니다.
큰 가지 3가지 중에 하나를 골라 배우면 되는 것이었습니다.

 첫 번째 그림 시작 부분의 그림을 보면

시작부분 로드맵(https://github.com/devJang/developer-roadmap)

 모든 경로에 필수 사항이라고 되어있는데
혹시 프론트엔드, 백엔드, 데브옵스 중 명확히 하고 싶은 것이 있다면
모든 경로에 필수 사항 먼저 하실 필요는 없습니다.
왜냐하면 어떤 길을 선택하던지 자연스럽게 배우는 것이기 때문입니다.

 만약에 어떤 길을 가야 될지 모르겠다면 개인적으로는 백엔드 쪽을 먼저 해보길 추천드립니다.
백엔드를 하다 보면 조금씩 배우기 때문에 프론트엔드가 어떤 일을 하는지, 백엔드가 어떤일을 하는지, 데브옵스가 어떤일을 하는지 알 수 있기 때문입니다.

저는 다음 글부터 단어 하나 하나가 어떤 내용인지 알아보려고 합니다.
(저도 어떤 내용인지는 대략적으로만 알고 정확히 모르기 때문에 알아보려고 합니다.)

'개발자의 시작' 카테고리의 다른 글

2022 웹개발 로드맵  (0) 2022.09.07
Git - 버전관리  (0) 2021.12.10

오늘은 예약어, 순차문, 조건문, 반복문을 배워 볼려고 해요.

원문 : https://youtu.be/gsry2SYOFCw

아래 설명은 edwith(https://www.edwith.org/pythonforeverybody/lecture/16273/)에서 발췌한 것이에요.

===============================================

예약어와 문장 만들기

파이썬이 예상해놓은 몇가지 단어들이 있습니다. 우리는 이를 예약어 라고 합니다. 예약어는 약속된 단어이기 때문에 변수의 이름이나 식별자로 사용할 수 없습니다. 이와 같은 단어들을 조합해 우리는 아래와 같은 문장을 만들 수 있습니다.

x = 2 # x라는 이름의 변수에 2를 할당합니다. 
x = x + 2 # x라는 변수에 x라는 변수가 가지고 있던 값에 2를 더해서 할당합니다.
print(x) # x라는 변수가 가지고 있는 값을 출력합니다.

프로그래밍 방법 - 상호대화식, 스크립트식

하나의 프로그램을 위해서는 많은 수의 문장이 필요합니다. 커맨드라인에서 코드를 한줄씩 실행하는 방법은 상호대화식(Interactive) 이라고 합니다.

상호대화식 방법은 즉각적인 결과 확인에는 유리하지만 코드가 길어질 경우에는 스크립트 방식(여러줄을 한번에 작성하는 방식)이 훨씬 효과적입니다.

상호대화식 방법으로 작성 시 실수를 하게 된다면 다시 처음부터 작성해야 하는 상상하기 싫은 일이 발생합니다.

그래서 우리는 스크립트 형태로 작성하고 이 파일을 보조 기억장치에 저장 한 뒤 한 번에 실행시켜 처리하게 됩니다.

프로그램의 흐름 제어

크게 3가지 방법이 존재합니다.

1. 순차문

코드가 처음 줄부터 차례대로 실행되는 경우입니다. 짧고 단조로운 코드만 짤 수 있습니다.

x = 2  print(x) # 2를 출력 
x = x + 2 print(x) # 4를 출력

2. 조건문

어떤 조건이 참일 경우에만 실행하도록 하는 것입니다. 우리는 여기서 예약어인 if를 사용합니다. if 조건문이 참인 경우 들여쓰기가 되어 있는 코드 부분이 실행되게 됩니다.

x = 5 if x < 10:    
print('Smaller') # Smaller가 출력됩니다. 
if x > 20:    
print('Bigger') print('Finis') # Finis가 출력됩니다.

3. 반복문

주어진 조건(n>0)이 참인 경우에는 들여쓰기 되어 있는 부분이 계속 실행 됩니다. 그렇지 않은 경우 실행을 종료하게 됩니다. 이 부분에서 컴퓨터는 인간보다 더 나을 수행 능력을 보이게 됩니다.

n = 5 while n > 0:   print(n) # 5,4,3,2,1을 출력합니다.   
n = n - 1 print('Blastoff!') # Blastoff를 출력합니다.

'Python' 카테고리의 다른 글

Python 설치 및 Atom 설치  (0) 2021.11.30

CI

(Continuous Integration)

 

CI는 문자 그대로 해석하면 지속적 통합이라는 뜻이다.

혼자 개발하면 상관 없지만 여러명이 개발하는 경우

코드 통합이 필요하다.

통합을 위해 보통 SVN, GIT과 같은 것이 사용된다.

 

그런데 코드 통합도 중요하지만

통합된 코드가 정상적으로 작동하는지 테스트는 더욱 더 중요하다.

그렇지만 테스트를 매번한다는것은 코드가 많아질수록 노력과 시간이 많이 든다.

그래서 테스트 자동화가 필요하다.

 

이걸 지속적으로 통합하여 잘 관리하자는 의미이다.


CD

(Continuous Delivery 또는 Deploy )

 

다음은 CD를 알아보자.

CD는 문자 그대로 해석하면 지속적 배포이다.

리스크가 없는 클린한 상태의 개발된 코드를

안전하게 배포될 수 있도록 지속적으로 관리하자는 의미이다.

 

요약

CI - 빌드 및 테스트 자동화
CD - 배포 자동화

 

'DevOps' 카테고리의 다른 글

DevOps란  (0) 2021.11.30

DevOps가 뭘까?

구인 구직 사이트를 보다가 보면 'DevOps개발자 구함'이라는 문구를 종종 본다.

궁금해서 위키백과를 찾아보았다.

개발(Development)과 운영(Operations)의 합성어

 

목적

 

운영 프로세스의 예측 가능성, 효율성, 보안, 유지보수 가능성을 극대화하는 것이 목적이다.

 

DevOps의 특징

 

하나의 팀

개발 부터 배포 및 테스트 까지 각 프로세스 별로 하나의 팀으로 구성된다.

DevOps 프로세스
  1. 계획 - 목적을 수행하기 앞서 방법이나 절차 등을 미리 생각하여 계획.
  2. 코드 - 코드 개발 및 검토, 버전 관리 도구, 코드 병합
  3. 빌드 - 지속적 통합(CI) 도구, 빌드 상태
  4. 테스트 - 테스트 및 결과가 성능을 결정
  5. 패키지 - 애플리케이션 디플로이 이전 단계
  6. 릴리스 - 변경사항 관리, 릴리스 승인, 릴리스 자동화
  7. 구성 - 인프라스트럭처 구성 및 관리, IaC(Infrastructure as Code) 도구
  8. 모니터링 - 애플리케이션 성능 모니터링, 최종 사용자 경험.

 

공유된 지표

개발자, 운영자, 테스터 등 모든 팀원들이

개발 뿐만아니라 서비스가 운영에서 잘 돌아가고 있는지, 사용자의 반응은 어떤지

알아볼 수 있는 공통된 지표가 필요하다.

 

반복적인 일은 자동화

CI/CD를 이용해서 빌드-배포-테스트 프로세스를 자동화 해야한다.

 

이슈 공유

장애나 이슈가 있을 때 혼자 끙끙 대지말고 공유를 해야한다.

 

정기배포

서비스가 부족한 부분들은 짧은 주기의 정기배포하여

고객들의 목소리를 반영하여야 한다.

 

요약

개발자들과 운영자들을 서로 잘 융합시키고 의사소통이 원할하게 하기 위한 개발 방법론

'DevOps' 카테고리의 다른 글

CI/CD 란?  (0) 2021.11.30

안녕하세요.

오늘부터 파이썬을 혼자 배워보려고 해요.

일단 파이썬을 설치 해봅시다.

파이썬과 함께 Atom이란걸 설치 해볼건데요.

이 친구는 파이썬 언어를 보기 좋게 색깔을 넣어주는 

Editer 프로그램이에요.

 

아래 동영상을 따라해보죠.

원문 :  https://youtu.be/uZbaYeYGYRQ

 

잘 설치 된 것같아요.

뭔가 차근차근 설명해줘서 따라하기 좋네요.

'Python' 카테고리의 다른 글

예약어,순차문,조건문,반복문  (0) 2021.12.01

+ Recent posts