210629_교육2일차(D+4)

오르미·2021년 6월 29일
0

AIFFEL양재

목록 보기
2/8

$오늘의 담임선생님의 미션: 인공지능으로 할수있는 일 찾아보기

참고 URL: https://www.notion.so/AI-92b8c8eca0294fc7a9a2538bca205bdf


AIFFEL 노드스터디

1. Git & GitHub

잔디밭만들기(commit)

버전관리를 위해 만들어 진 Git

  • 특정시점 진행상황 저장해두고 다시돌아와서 그시점으로 다시 시작할수있게.

  • 개발에서는 버전관리가 필수

  • 첫 코딩공부에 누구나 만난다는 생활코딩 에서 Git에 대해 다 한후에 공부할것.
    (쉴수없는 공부....👀)
    https://opentutorials.org/module/2676

  • 완전 공감한 글!!!!!!
    개발을 공부하다보면 애매모호하게 알고 넘어가는 용어들이 참 많습니다. 받아들일 당시에는 어렴풋이 그 의미를 이해했다고 생각하지만, 사실 입문자가 그 본질을 제대로 이해하기에는 어려운 것들이 많기 때문이죠.

  • 늘 헛갈리는 Git과 Git Hub..ㅠㅠ

    • Git은 개발을 진행하며 작성하는 소스코드가
      업데이트 되는 버전을
      기록해두고 관리할 수있는
      소스코드 버전관리시스템
      버전기록저장
    • GitHub는 Git으로 관리하는 프로젝트를 호스팅하고
      시간과 공간의제약없이 협업할수 있는
      온라인서비스 작업공간
    • GitHub는 Git이라는 도구를 더 쉽게 사용하게 해주는 사설서비스..
  • 나의 깃허브 주소는 😎
    https://github.com/milan-d

  • Git과 동기화를 해서 온라인으로 관리할 수 있는 원격저장소를 GitHub에서는 레파지토리(Repository) Git과 GitHub 연결하는 명령어
    $ git config --global user.email "my-email@gmail.com"
    $ git config --global user.name "my-username"

  • 각종 명령어 및 파일 넣기
    1. 아래와 같은 명령어 입력시README.md 파일 생성과 동시에 그 파일내에 "" 안의 글자 한줄이 입력됨
      echo "# first-repository" >> README.md
    2. cat 명령어는 해당파일에 작성되어잇는 내용을 확인
    3. Git이 추적하고 있는 변화는 git stauts 명령어로 확인
    4. git add README.md
      git commit -m “new readme file”
      • add 와 commit 의 차이
        • add: 파일추가
        • commit: 변경상황 확정
          git comit -m 뒤에는 해당커밋에 대한 설명을 작성하면 됨
    5. GitHub 원격저장소를 first-repository 로 생성 후 내 로컬 저장소와 원격저장소 연결
      $ git remote add origin https://github.com/xxx/first-repository.git
      git config credential.helper store
      $ git push origin main

😢위 상태 그대로 진행했으나 두번째 명령어에서 에러가 나기 시작함...
구글링 후 이유를 찾음 -> github 암호를 변경한상태여서 진행이 안됨.
에러가 날경우 git push origin master 로 진행하라고 나옴. 위 코드를 입력시 아이디와 비밀번호를 입력하면 진행됨.
가져올때는 push 대신 pull을 적으면 된다.

그런데.. 나는 git config credential.helper store 이 코드를 쓰고 싶은데.. 방법을 조금더 찾아봐야할것같다.ㅠㅠ 만들었던것을 삭제하고 다시 진행해도...자동으로 안되어서.. 방법을 알고싶다ㅠㅠ


위에서 한것을 그림으로 나타내면 아래와 같다.

2. jupyter notebook

- 데이터 분석을 하는 사람이라면 모두가 한번쯤 사용해 본!!!

- 데이터 클리닝과 변형, 통계 모델링, 머신러닝 등 데이터 분석을 편리하게 할 수 있도록 최적화 되어있는 오픈소스 웹 어플리케이션

- 단축키중 가장 많이 쓰이는 것은 esc키/ 단축키 모음은 명령모드에서 H 누르기



풀잎스쿨

1. if, else, elif, for, while 에 대해서 공부함.

1.1 딕셔너리 ={ key : value }

딕셔너리 만들기
dic = {}
dic ['키'] = 값

1.2 if , elif, esle 끝에는 : (콜론)이 붙어요!

button = int(input())

if button == 1:
    print('콜라')
elif button == 2:
    print('사이다')
else:
    print('제공하지않는 메뉴')

1.3 for

1.3.1 기본형
for 변수 in range(횟수):
반복할 코드

1.3.2 시퀀스 객체로 반복하기

fruits = ('apple', 'orange', 'grape')`
for fruit in fruits:
    print(fruit) 

1.4 while

  • while 조건문을 써야해서 i = 0초기화 기본
i = 0                          # 초기식
while i < 100:                 # while 조건식
     print('Hello, world!')    # 반복할 코드
     i += 1                    # 변화식
  • 입력횟수대로 반복하기(증가)
count = int(input('반복할 횟수를 입력하세요: '))
 
i = 0
while i < count:     # i가 count보다 작을 때 반복
    print('Hello, world!', i)
    i += 1

실행결과
반복할 횟수를 입력하세요: 3 (입력)
Hello, world! 0
Hello, world! 1
Hello, world! 2

  • 입력횟수대로 반복하기(감소)
count = int(input('반복할 횟수를 입력하세요: '))
 
while count > 0:     # count가 0보다 클 때 반복
    print('Hello, world!', count)
    count -= 1       # count를 1씩 감소시킴

실행결과
반복할 횟수를 입력하세요: 3 (입력)
Hello, world! 3
Hello, world! 2
Hello, world! 1

1.5 많이 쓰이는 import random(random 모듈을 가져옴)

반복횟수가 정해지지않는 경우

import random    # random 모듈을 가져옴
 
i = 0
while i != 3:    # 3이 아닐 때 계속 반복
    i = random.randint(1, 6)    # randint(정수를 생성하는 random모듈의 함수)를 사용하여 1과 6 사이의 난수를 생성
    print(i)
  • random.choice 함수는 시퀀스 객체를 받으므로 리스트뿐 아니라 튜플, range, 문자열 등을 넣어도 됨.
dice = [1, 2, 3, 4, 5, 6]
 random.choice(dice)

1.6 무한루프만들기

while True: = while 1: = while 'Hello': / True
0, " ": / FALSE
while True = while 1 while 'Hello' =

1.7 break, continue

if ~일때 : break(멈춤) ,if ~일때: continue(건너뛰기),

i = 0
while True : #무한루프
    print(i)   
    i += 1   #i를 1씩 증가시킴
    if i == 100:  # i 가 100일때
        break   # 반복문을 끝냄

실행결과는
0
1
2
....
99

for i in range(10000):   #0부터 9999까지반복
    print(i)
    if i == 100:  # i가 100
        break    # 반복문 종료

실행결과는
0
1
....
100

for i in range(100):    # 0부터 99까지 증가&반복
    if i %2 == 0:       # i를 2로 나누었을때 나머지 0 (짝수)
        continue        # 건너뛰기(코드실행안함)
    print(i)

실행결과
1
3
....
99

1.8 중첩루프 반복문안으로 들어갈수록 i j k 순서대로..무언의 약속

1.9코딩테스트 문제풀어보기(백준)

  • 단계별로 풀어보기를 추천함
  • if 문에서 윤년계산해봄

😢 생각보다 오래 걸렸다. 그리고 결국 풀지못했다. if 문 문제라는 것을 보고난뒤 문제를 풀수있었다. 코딩테스트에서는 문제가 '나 if 문제임!!!!' 이라고 적혀 있지 않을것이기 때문에 문제를 보고 내가 어떤 함수를 써야하는지 고민해보아야 하므로...

윤년이다 보니 공배수 문제였고, 조건에 대해서 '그리고'와 '또한' 이라는 단어를 보고 나는
and 와 or 을 다 쓰는것으로 코드를 짰다. 그리고 연도라고 적혀있음에도 x 라는 변수를 쓰는.. 진짜 초초초초초초초초초!!!!신생아 개발공부하는 사람인것같아 부끄러워졌다.


x = int(input())
if (x % 4 == 0 and x $ 100 != 0 ) or x % 400 == 0: 
    print(1)
else :
    print(0)

겨우 겨우 작성한 코드였고 같은 조와 퍼실님에게 or 을 쓰는 것에 대해서 함께 논의하고 피드백을 받을수있었다.

가독성에 대한 고민을 할수있는 시간이었다.

아래는 퍼실님이 작성한 코드이다.

오늘 오르미의 생각 및 다짐

🤔 역시 세상은 넓고 배울것은 겁나 많다..

👍 혼자 공부보단 역시 함께 하는 것이 힘이 난다!!!

profile
개발자가 되어가는 오르미의 기록

0개의 댓글