SKT FLYAI 1기 [3주차]

Chan Kim·2022년 7월 14일
2

SKT FLYAI 1기

목록 보기
4/12
post-thumbnail

감사 인사

먼저, 감사하다는 말씀 먼저 드리겠습니다.

이번 16일차에 수업이 끝나고 전체 회식이 진행 되었는데, 1조 분들께서 제 블로그를 정말 많이 봐주고 계신다고... 많은 칭찬과 조언, 추후 광고?ㅋㅋㅋ 관련 말씀들, 매일 검색해서 봐주시는 분도 있다는 말에 너무 기뻤습니다.


덕분에 SKT FLYAI검색하면 제 블로그가 최상단에 떠있네요..
밑에 분도 같은 열정반에 블로그 쓰시는 분! (안녕하세요..!ㅋㅋㅋㅋ)

먼저 말 걸어주셔서 감사드리고, 블로그 꾸준히 남겨달라는 말들도 해주셔서 감사합니다.
열심히해서 일등하자!, 끝까지 불태우자! 모두 마지막까지 파이팅 : >

댓글

그리고, 죄송하다는 말씀도 드리겠습니다.

블로그를 처음 써보기도 하고 누군가가 댓글을 달 거라고 생각도 하지 못했는데,
한 분이 SKT FLYAI 지원후기 글에 문의차 댓글을 달아주셨지만.. 너무 늦게 확인해서 답글이 늦었습니다. 자주 잘 확인하도록 하겠습니다.

15일차

Python에 대한 기본 문법, 기초에 대한 실습을 진행했다.
비전공자 분들도 계시기 때문에 이런 커리큘럼이 맞춰진 것 같은데, 약간 개선이 필요하다고 생각하는 부분이었다. (아마 다른 아카데미들도 마찬가지 일 것 같긴한데, 운영진분들한테 말씀드렸으니 차기에는 더욱 알찬 내용들만 진행될 것 같습니다.)
그래서 이 날에 코테 문제만 수십개를 푼 것 같다.

16일차

Python에 대한 기초를 약간 더 배운 뒤 UI Programming에 대해 찍먹하고, Flask에 대해서 배웠다.

Python

Module과 Package의 차이점

나는 그냥 시키면 뚝딱 만들어내는 개발 노예라서 패키지모듈이니 별 생각없이 "그냥 그게 그거지 뭐"라며 개발 해 왔는데, 기본도 모르고있었다. (또 반성하자..)

  • Module: main문이 있어서 실행이 가능한 .py 파일
  • Package: .py 파일들이 여러개가 있는.. 즉, Module이 여러개가 모여있는 것

익명함수

코딩테스트를 준비했던 사람들이면 람다를 많이 사용했거나, 들어봤을 것이다.
강사님이 좋은 예시를 하나 가져와 주셨는데, 그 내용은 아래와 같다.

# 일반적인 함수를 사용한 코드
lst = [1, 2, 3, 4, 5]
def square(n):
	return n*n

lst2 = map(square, lst)
# 익명함수(람다)를 사용한 코드
lst = [1, 2, 3, 4, 5]
lst2 = map(lambda x: x*x, lst)

위 두 개의 코드는 같은 기능을 하는데, 이렇게 함수가 한 줄에 바로 return하는 값이 있다면 더 간결하고 보기 좋게 만들어 주는게 익명함수이다.

Flask

Flask를 혹시 MacOS로 개발하시려는 분이 있다면, 5000번이 아닌 다른 Port를 여시기 바랍니다.
MacOS는 5000번 포트를 사용할 수 없다고 하네요.

Flask는 정말 간단하다.

from flask import Flask 
app = Flask(__name__) 

@app.route('/')
def hello_world():
	return 'Hello World'
    
if __name__ == '__main__': 
app.run(host = '0.0.0.0', port = 5002)

위 코드면 일단 웹 페이지가 만들어진다.

Variable Rules

  • Rule 매개 변수에 변수 부분을 추가하여 URL을 동적으로 작성할 수 있다.
from flask import Flask 
app = Flask(__name__) 

@app.route('/hello/<name>') 
def hello_name(name): 
  return 'Hello %s!' % name 

if __name__ == '__main__': 
app.run(host = '0.0.0.0', port = 5002)

결과

URL Building

  • url_for()함수는 특정함수에 대한 URL을 동적으로 작성할 수 있다.
  • 함수는 함수의 이름을 첫 번째 인수로 받아들이고, 각 인수는 URL의 변수 부분에 해당하는 하나 이상의 키워드 인수를 받아들인다.
from flask import Flask, redirect, url_for, request
app = Flask(__name__)

@app.route('/success/<name>')
def success(name):
	return 'welcome %s' %name

@app.route('/login', methods = ['POST', 'GET'])
def login():
	if request.method == 'POST':
		user = request.form('nm')
		return redirect(url_for('success', name = user))	
else:
		user = request.args.get('nm')
		return redirect(url_for('success', name = user))

if __name__ == '__main__'
	app.run(host = '0.0.0.0', port = 5002)

Templates

  • 특정 URL에 바인딩 된 함수의 출력을 HTML 문서로 반환할 수 있다.
  • 예를 들어 hello()함수가 <h1>태그가 부착된 Hello World를 렌더링한다.
from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
	return '<html><body><h1>Hello World</h1></body></html>'

if __name__ == '__main__':
	app.run(host = '0.0.0.0', port = 5002)

Cookies

  • 방문자 경험과 사이트 통계를 위해 고객의 사용과 그 관련 데이터를 기억하고 추적하기 위하여 cookie를 텍스트 파일 형태로 클라이언트의 컴퓨터에 저장한다.
  • Request object는 cookie의 속성을 포함하고 있다.
  • 사이트의 만료 시간, 경로 및 도메인 이름도 저장한다.
  • Flask에서는 cookie를 request object로 설정한다.
    • make_response()함수를 사용하여 request object를 가져온다.
    • request object의 set_cookie() 메소드를 사용하여 cookie를 저장한다.
  • request.cookies 속성의 get() 메소드로 cookie를 쉽게 읽을 수 있다.

Sessions

  • 로그인 ~ 로그아웃까지를 1 세션이라고 한다.
  • Flask 응용 프로그램에서 SECRET_KEY의 정의가 필요하다.

File Uploading

  • 파일 업로드 기능
  • app.config['UPLOAD_FOLDER']
    • 업로드 폴더의 경로를 정의
  • app.config['MAX_CONTENT_PATH']
    • 업로드 할 파일의 최대 크기를 바이트 단위로 지정

Mini Project - 예정

개발 팀원들의 간단한 인적사항이 적힌 포트폴리오 웹을 개발하는 미니 프로젝트를 17일차에 진행

17일차

Mini Project

2인1조가 되어 Flask를 활용한 웹 개발 Mini Project를 진행했다.

결과물

거의 뭐 해커톤 수준이었다.
제한시간 2시간 안에 개발해야 했기 때문에 그럴싸한 템플릿 가져와서 약간 수정해서 5분 발표했다. (전 날 술을 너무 많이 먹어서 더 힘들었던건 덤..ㅋㅋㅠ)

18일차 ~ 19일차


아침에 커피 사러 카페 갔는데 사장님이 오늘도 힘내라고 내가 젤 좋아하는 콩빵을 무료로 주셨당..
시식용으로 내 주신 것도 갈때마다 다 털어먹고 있는데 너무 감사합니다..ㅠㅠ
이 카페에 대한 내용은 아래 일기에 있으니 SKT FLYAI 1기 분들이나, 차기 지원자 분들이 봤으면 합니다!

Python Big-Data

오늘부터 오랫동안 뵐 강사님이 오셨다.
현업에서 인공지능 교육용 소프트웨어/로봇 개발 중이신 대표님이시라고..

작성하기에 앞서 별점 5점 만점에 4,294,967,295점 드립니다.
내가 배우고 싶었던 것, 현업에서 사용되는 것들, 필요한 부분만 설명 등, 모든게 갖춰진 최고의 강사님이시다.. (부산 분이셔서 말이 되게 빠르신데, 오히려 집중이 잘 된다.)

18일차에는 Bigdata, ML, DL등에서 빠지지 않고 사용되는 라이브러리가 있는데, 그 중 NumpyPandas에 대해서 배웠다.
Numpy에 대해서 궁금하다면?
Pandas에 대해서 궁금하다면?

일기

애플펜슬2


마침 아이패드 미니6을 쓰고있는데, 애플펜슬2를 내돈주고 사기는 너무 아까운 금액이라 구매하지 않고 그냥 쓰고있었다.
그래서 SKT에서 주신 용돈으로 뭘할까 고민하다가 쓰던 신용카드에 포인트가 남아서 전부 전환해버리고 질러버렸다.

애플펜슬 2세대 무려 0원!


굿노트가 애플펜슬보다 비싸네요 ㅎ..

I got everything

SKT 보라매사옥 1층에 작은 카페가 하나 있다.
맨 처음 여기 왔을 때 진짜 너무맛있는 빵냄새가 나서 군침이 싹돌았는데 그게 이 카페에서 파는 콩빵 이었다. 그리고 편하게 먹으라고 시식용 빵을 항상 채워주신다.

진짜 짱 맛있는데 왜 나만 먹는 것 같지.. 혹시 이거 보시면 드셔보세욤 짱맛탱 냠냐미

나는 아침에 잠깰려고 아아 한잔, 점심먹고 식곤증 이길려고 아아 한잔 더 먹는데 여기 카페가 너무 싸서 돈 부담없이 편하게 마시고있다.

이러니까 너무 광고같은데 한 푼도 받지 않은 순수 리뷰입니다 ㅎㅎ..

220712(화) 전체 회식


이 날 수업이 끝나고 18시에 전체 회식이 시작됐다. (수업 외 이루어진 활동)
매일 수업만 듣느라 얘기 할 기회가 많이 없어서 약간 어색했던 팀원들과도 많은 얘기를하면서 더 친해지고 다른 조원분들하고도 친해지는 계기가 되었다.

SKT 임직원 분들과도 직접 얘기할 수 있는 기회는 많지 않았는데, 이 자리를 통해 궁금한것도 물어보고 좀 더 가까워 졌다는 느낌을 받았다.

소신발언인데, SK 협력업체에서 일 해봤던 경험으로도 SK분들은 진짜 너무 친절하시다.
사람이 좋아서 SKT에 가고싶은 이유도 적지 않게 있다.

근데 다음날이 프로젝트 발표날인데 신나게 먹고 논다고 밤 12시가 되도록 먹었다ㅋㅋ.. (그래도 지각 안함!)

열정반, 패기반

왜 열정반, 패기반으로 나뉘었나 궁금해서 회식때 여쭤보니, SK분들은 열정, 패기, 희망이라는 단어들을 많이 사용한다고 한다.

그러고 보니 원래 강의실의 에어컨이 고장나서 다른 강의실로 이동했는데, 여기도 열정이 써있었다.

점심시간 볼링

점심시간은 12:50 ~ 14:00이기 때문에, 점심 먹고나서도 시간이 굉장히 넉넉하다.
SKY FLYAI 아카데미에 같이 온 연구실 친구가 요즘 볼링에 빠졌는데, 한 판 하자고해서 한 반년만에 쳐본 것 같다.

빡겜 할 생각이 아니었는데, 어쩌다보니 인생점수 달성ㅋㅋㅋ 친구야 미안해..

profile
배울수록 반성하는 개발자

0개의 댓글