728x90

TODAY I LEARNED


- python 스터디(일명 pajang)

https://github.com/leeceo97/pajang

위의 링크에 문제풀이 한게 삽입되었다. for문관련문제 였는데 난이도가 그닥 높진 않아서 그냥 넘어가야할것같다. 쉬운문제여도 매일매일 강제로 풀게 되는거 나쁘지 않은것 같다. 이번주가 마지막 파이썬스터디인데 암튼 정확하게 푸는 연습을 해야겠다.

 

-pinterest: django프로젝트

 

leeceo97/pinterest

Contribute to leeceo97/pinterest development by creating an account on GitHub.

github.com

차후 관련 글 업로드 예정이다. 매번 미루기만하게 되는데 이부분도 빠르게 업로드 해야겠다.... 일단 오늘은 프론트엔드부분 기초적인 부분을 다뤘다. 아직 초반 단계라 적을께 없기도하다..?(변명ㅎ)

 

인턴 3일차


흑... 다 처음 접해보는것이다.. 일단 학교랑은 다르게 과제가 주어지는게 아니고 내가 배워야할걸 내가 물어서 하고 내가 오늘 해야할 일을 알아서 찾아야 하는거다 보니깐 이것 자체도 어렵다. 당장 처리해야 할 업무는 폐쇄망 검증이라는 업무인데 putty로 서버에 접속하고 원격접속으로 클라이언트에 접속한후 파일을 업로드하고(폐쇄망에 올리는게 굉장히 귀찮은 작업이많다..) 업로드 한걸 각각의 버전os들에 접속해서 업데이트한후 찍힌 로그와 DB자료를 토대로 검증하는 업무이다. 다행히 사수님이 내가 질문폭탄을 던지는데도 바로바로 잘답을 해줘서 너무 감사한게 위안이된다. 암튼 새로운 협업방식, 문서작성, 원격접속등이 3일밖에 안되었는데도 쉽게 느껴지기 시작했다는게 신기할 따름이긴 하다ㅎㅎ 

 

1. port번호 적용

오늘 port번호를 적용한 방식은 2가지가 있었다. putty, 윈도우에서 지원하는 원격접속방식이렇게다.

그전에! 포트란? 간단히 말해 외부에서 다른 장비를 사용할때 위치를 나타내기 위해 ip와 같이 사용되는 주소라고 보자

자세한건 아래 블로그를 참조하자!

 

포트[PORT]에 대하여

안녕하세요~* 오랜만에 돌아온 소우주입니다~ 이번 시간에는 PORT(포트)에 대하여 알아보는 시간을 가질까 합니다. 1.    PORT(포트), 넌 누구니? 먼저, 위키 백과에 나온 정의를 한 번 볼까요? 포트

run-it.tistory.com

 

-putty란?

PuTTY(이하 푸티)는 가상 단말기 프로그램입니다.

 

서버는 물리적으로 떨어져 있어도 단말 장비를 통해서 원격으로 접속하여 작업할 필요가 있는데

이때 윈도우같은 개인 pc 운영체제에서도 서버로 접속할 수 있도록 물리적인 단말장비가 아닌 논리적인 가상 단말기를 제공합니다.

 

간단히 말해 개인 pc운영체제 라도 서버에 접속할수 있도록 도와주는 무료 프로그램이라는 것이다. 이건 aws와 같은 배포때에도 많이 사용된다. 

 

푸티 같은경우, 포트 번호를 넣기 쉽다. 아래와 같이 제공된 공간에 포트번호를 넣어주기만 하면된다.

- 윈도우를 통한 원격접속 방법

시작 검색창에 'mstsc'를 검색하면 나온다.

위의 표시한곳에 ip주소를 적어주면되는데 연결된 내부pc망을 통해 연결할때는 ip와 port번호를 적어주면 되지만 그렇지 않고 연결되지 않은 외부 pc망을 연결할때는 VPN과 같은 인증을 거친후 연결해야 한다. 

 

암튼 위의 표시한 공간에 예를들어 12.123.12.123이란 ip주소, 1234란 포트번호가 주어지면 12.123.12.123:1234라고 입력하고 연결을 해야한다. 

 

2. 리눅스 명령어(파일 권한 계정 부여)

chown test_user:test_group test

test 파일에 test_user라는 계정, test_group라는 그룹에게 파일을 관리할 권한을 부여할때 사용된다. 

 

후기


6시 퇴근 -> 운동 하고나면 9시가 넘는다. 깃허브 커밋이야 꾸준히 진행하는건 맞지만 TIL은 하루씩 밀려서 작성해야겠다. TIL 시간맞추려다 하려는 공부 끊고 쓰게 되는건 나쁜 버릇이다. 하지만 이렇게 되면 결국 매일매일 작성하는건 똑같겠군.... 암튼 인턴 3일차인데 그래도 희망적이다 희희~

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 7일차-2021.7.7  (0) 2021.07.08
TIL 6일차-2021.7.6  (0) 2021.07.07
TIL 4일차-2021.7.4  (0) 2021.07.04
TIL 3일차-2021.7.3  (0) 2021.07.03
TIL 2일차-2021.7.2(feat. VirtualBox에서 iso파일)  (0) 2021.07.02
728x90

TODAY I LEARNED


- python 스터디(일명 pajang)

오늘은 파이썬 기초 문제 (1/2) 완료후 각자 문제를 만들어왔다.

# 유저에게 5명의 친구의 이름을 입력받고 각자의 나이에 대해 입력을 받으세요.
# 입력 받을때 구별은 공백으로합니다.(ex.철수 영희 형준 ... 과 같이 입력받음) (ex. 21 25 26 ...)
# 각각 입력받은 나이, 이름 이 두입력값들을 합쳐 딕셔너리 형태로 만들고
# for문을 사용하여 각자의 나이에 3년을 더한값으로 업데이트 후 이름과 나이를 출력하시오.
# 출력 예(철수:24, 영희:25, 형준:29 ...)

friends = input().split(' ')
age = input().split(' ')
age_int = []
for i in age:
    age_int.append(int(i)+3)

dictionary = dict(zip(friends,age_int))
print(', '.join('{}:{}'.format(k,v) for k,v in dictionary.items()))

사실 나머지는 그다지 어렵지 않았는데 마지막에 출력부분에서 애먹었다. 출력을 하다보니 철수, 영희, 형준, 과 같이 마지막에 콤마가 붙는문제였는데 join을 통해 해결했다. 

 

# 사용자에게 5자리 숫자를 입력받는다
# "일의 자리"부터 각 자리수에 3,4,5,6,7을 곱한 뒤 그 값을 전부 더한다 (#합계의 변수는 sum으로, #for문을 사용하세요)
# sum을 3으로 나눈 나머지를 고유번호로 알려준다 (#format을 사용하세요)
# ** 각 과정이 보일 수 있도록 for 문을 작성하세요

# ex. 
# 5자리 숫자를 입력하세요 : 12345
# 5 x 3 = 15
# 4 x 4 = 16
# 3 x 5 = 15
# 2 x 6 = 12
# 1 x 7 = 7
# 합계 : 65
# 고유번호는 "2" 입니다. (#반드시  "고유번호"로 나타내주세요)

user_input = input()
sum = 0
key = 3
for i in user_input[::-1]:
    sum+= int(i)*key
    key+=1
result = sum%3
print(f'고유번호는 \"{result}\" 입니다.')

이건 쉬웠다.

 

# 코딩테스트 대회가 개최되었습니다. 이 때, 참여자들 이름을 공백을 통해 구분을 하여 입력을 합니다.
# 예) "홍길동" "김길동" "최길동"
# 그 후 코딩테스트에서 순차대로 각 대회에서 맞춘 문제를 공백을 통해 구분하여 입력이 됩니다.
# 예) 2 10 4
# 만약 중간에 기권을 했을 경우 '기권'이라고 입력이 됩니다.
# 예) 2 10 기권
# 이 때 기권을 하지 않은 학생들의 성적의 평균을 넘긴 학생들만은 참가상을 모두 받을 수 있습니다.
# 참가상을 받은 학생들을 푼 점수가 높은 순서대로 공백으로 구분하여 출력해 주세요
import operator
names = input().split(' ')
scores = input().split(' ')
dictionary = dict(zip(names,scores))
sum = 0
awards = []
for i in dictionary.keys():
    if "기권" in dictionary[i]:
        del dictionary[i]
    else:
        sum += int(dictionary[i])
avg = int(sum/len(dictionary.keys()))
for i in dictionary.keys():
    dictionary[i] = int(dictionary[i])
    if dictionary[i] < avg:
        del dictionary[i]
    else:
        continue

sdict= sorted(dictionary.items(), key=operator.itemgetter(0))
print(sdict.keys())

여긴 데이터타입문제 때문에 애먹었다. 계속해서 타입이 변경되면서 오류가 발생하고 힘들었고, 딕셔너리를 정렬하는 방법을 알수 있는 문제였다.

 

-pinterest: django프로젝트

 

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지 - 인프런 | 강의

Python의 대표 웹 프레임워크 django를 이용해 Pinterest 특유의 카드형 레이아웃 디자인을 본딴 웹서비스 구현해봅니다., django, docker 실전 개발을 통해 한 단계 높은 개발자가 되어보세요! 📣 확인해

www.inflearn.com

인프런에서 나와있는 핀터레스트 완강 스터디도 하고있는데 오늘부터 시작을했다. 관련내용은 django카테고리에 업로드 할예정이다.

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 6일차-2021.7.6  (0) 2021.07.07
TIL 5일차-2021.7.5  (0) 2021.07.06
TIL 3일차-2021.7.3  (0) 2021.07.03
TIL 2일차-2021.7.2(feat. VirtualBox에서 iso파일)  (0) 2021.07.02
TIL 1일차-2021.7.1  (0) 2021.07.01
728x90

TODAY I LEARNED 


https://github.com/ohRyungyi/pajang/tree/master/Hjun

파이썬 + 장고 스터디를 진행하며 각자 자신을 폴더만 사용하기때문에 문제될것이 없다 생각하고 master브랜치만 사용하다 결국 오늘 한명의 폴더가 삭제되는 일이 발생해버렸다. 그래서 새롭게 브랜치를 만들고 원격저장소에 커밋내용과 함께 생성한 브랜치로 푸시하는 작업을 했는데 매번 까먹어서 이번에 포스팅을 하려한다.

 

-브랜치 생성

git branch "브랜치 이름"

 

-생성한 브랜치로 변경

git checkout "브랜치명"

 

-원격저장소에 새로생성한 브랜치와 함께 커밋내용 push(커밋 과정 생략)

git push origin '브랜치명'

이것저것 새로운 내용을 추가하고싶지만 아직 새로운 내용이랄께 없고 그저 복습 단계인것 같다. 다음주부터 이제 복습이 끝나고 장고와 파이썬 문법 + 인턴실습이 제대로 시작하니 올릴내용이 많아질것 같아 기대가된다! 주말에도 공부한 나 칭찬해~

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 5일차-2021.7.5  (0) 2021.07.06
TIL 4일차-2021.7.4  (0) 2021.07.04
TIL 2일차-2021.7.2(feat. VirtualBox에서 iso파일)  (0) 2021.07.02
TIL 1일차-2021.7.1  (0) 2021.07.01
일정표  (0) 2021.05.28
728x90

TODAY I LEARNED + 인턴 2일차


오늘은 사정상 인턴 교육을 받으며 많은 실패가 있어 퇴근후에도 지금까지 문제를 해결했기 때문에 따로 TIL 할 내용이 없다.. 오늘 잠자기전까지 스스로 정한 분량을 끝내고 잘꺼다! 암튼 그건 그렇고 오늘도 어제와 마찬가지로 인턴 업무라 할것보다는 교육위주로 들었다. 내가 속한 부서인 PMS-MPI셀팀의 PMS와 MPI에 대해 알아봤다. 알아보다보니 평소에 상 사실상 보안에 관해 별로 관심이 없었는데 무척이나 관심이 생기게 되었다. 알약같은 보안프로그램 하나면 모든게 해결되는거라고 생각을했지만 알약은 무슨 문제가 생기고 나서 대처를 하는 치료제 같은역할이므로 이를 미리 예방할수 있는 예방주사같은 프로그램 또한 필요하다는걸 느끼게 되었다. 이러한 예방주사같은 프로그램이 PMS-MPI다. 이프로그램은 2개가 기능이 다르지만 합쳐서 설명하자면 사용자의 PC사용 패턴을 분석해서 미리 문제가 발생한 지점을 찾고 이에 따라 사용자가 대응할 방법과문제점을 개선할곳을 찾아준다. 또한 다른 S/W나 프로그램들에서 최신 패치사항들을 일괄적으로 긁어모아 사용자의 프로그램이 최신상태로 패치 될수 있도록 자동으로 도와준다. 그리고 처음으로 gitlab을 사용해봤고 폐쇄망과 인터넷망간의 파일교환 실습, 지금까지 아무것도 못하게 되었던 중요한 요소인 virtualbox에서 iso이미지 파일에 담겨있는 윈도우10을 설치하는 것이었다. 

 

일단 나는 지금까지 가상화 환경을 사용할때는 VMware를 사용했다. 하지만 오늘 교육해주시는 분은 인터넷망에서 virtualbox를 이용해 미리 만들어논 윈도우 이미지를 가져오고 iso파일을 내려받아 이미지를 가져오라고 미션을 주셨는데 사실 virtualbox를 처음 사용해보긴 했어도 vmware와 별로 다른걸 못느껴 전자의 미션은 금방 수행했지만 iso파일을 이용해 윈도우를 설치하는 방법은 쉽지가 않았다. 왜냐!! 버츄얼박스는 버츄얼박스 전용 확장자만 받아주기 때문이다. 뭐해결방법은 아래의 블로그를 보고 해결했다.

 

버추얼박스에 윈도우10 설치하기 및 활용하기

버추얼박스(VirtualBox) 다운로드 및 설치하기, 가상 머신에 윈도우10 설치를 위한 사전 다운로드와 ISO 미디어 만들기 그리고 실제로 버추얼박스에 윈도우10 설치하기 및 활용하기를 3단계로 포스팅

minitester.tistory.com

인턴 2일차지만 순간 구글링은 해서는 안된다고 느껴 구글링을 안하던 내가 바보였다.... 구글링이 최고다!!

간단하게나마 버츄얼박스와 vmware의 차이는 무료와 유료차이 성능의 차이말고는 없어보인다... 버츄얼박스가 최고가 vmware를 뛰어넘을 날이 있지 않을까? 싶다. 관련내용은 추후 업로드하겠다!! 

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 5일차-2021.7.5  (0) 2021.07.06
TIL 4일차-2021.7.4  (0) 2021.07.04
TIL 3일차-2021.7.3  (0) 2021.07.03
TIL 1일차-2021.7.1  (0) 2021.07.01
일정표  (0) 2021.05.28
728x90

TODAY I LEARNED


장고 백엔드 스터디 학습차 인프런의 "작정하고 장고"강의를 구입하였다. 

 

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지 - 인프런 | 강의

Python의 대표 웹 프레임워크 django를 이용해 Pinterest 특유의 카드형 레이아웃 디자인을 본딴 웹서비스 구현해봅니다., django , docker 실전 개발을 통해 한 단계 높은 개발자가 되어보세요! 📣 확인해

www.inflearn.com

일단 이 작정하고 장고를 7월까지 끝내고 8월에 drf와 함께 프로젝트를 만들기로 하였다. 시간에 쫓겨 오늘은 듣지 못했고 스터디 시작전 간단하게 파이썬 문법을 다시 한번 보고 가자는 말과 함께 토요일까지 위키 독스의 파이썬 300제 문제를 싹풀고 시작하기로 하였다.

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

오늘은 120번까지 풀었다. 잠시 공부한걸 정리하자면

 

leeceo97/python

파이썬 기초 문법부터 알고리즘 풀이까지 진행하는 레포지토리입니다. . Contribute to leeceo97/python development by creating an account on GitHub.

github.com

- sep(), end()

year = 2021
month = 07
date = 01
print(year,month,date,sep='-')
# 2021-07-01 과 같이 출력된다.
# sep은 선언자를 구분할때 구분자를 삽입하여 특정지어주는 역할을한다.

print('My name is corin.',end='\n');print('I\'m 21 years old.')
# My name is corin.
# I'm 21 years old. 와 같이 출력된다.
# ;는 한줄에 여러 명령을 사용할때 사용되며
# end는 문장을 출력하고 마지막에 무엇을 쓰고 끝낼지 정해주는 역할을 한다.

-f를 이용한 출력, 포매팅

name = 'Corin'
age = 25
print(f'My name is {name}. I\'m {age}years old.')
# My name is Corin. I'm 25 years old. 와 같이 출력된다.
# f를 이용한 출력은 파이썬 최신버전부터 가능한걸로 알고 있다.

print('My name is %s. I\'M %d years old.'%(name, age))
# 위와 같이 출력된다.
# %s는 파이썬에서 문자열, %d는 정수형을 나타내며 형식을 위와 같이 쓰면된다.

-replace, split, strip, join, sort

string = "aBcDeFg"
string_replace = string.replace('c','C')
print(string_replace)
# aBCDeFg와 같이 출력되며 replace는 문자열내 요소를 변경할때 쓰인다.

time = "2021-07-01"
year, month, day = time.split('-')
print(year, month, day)
# 2021 07 01과 같이 출력된다.
# split은 문자열내 특정 구분자나 문자,문자열을 가지고 분리해주는 역할을 한다.

string = "     abc"
string_strip = string.strip()
print(string_strip)
# abc와 같이 출력된다. strip은 공백을 없애주는 역할을한다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("/".join(interest))
# 삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우와 같이 출력된다.
# join은 데이터 사이사이의 특정 규칙을 삽입해주는 역할을 한다.

num = 3,2,5,6,1,4
num_sort = num.sort()
print(num_sort)
# 1,2,3,4,5,6과 같이 출력된다.
# sort는 정렬해주는 역할을 한다.

# upper은 모든 문자를 대문자로
# lower은 모든 문자를 소문자로
# capitalize는 문자열중 첫문자를 대문자로 바꿔준다.

-list관련

interest = ['삼성전자', 'LG전자', 'Naver']
interest.append('배민')
print(interest)
# ['삼성전자', 'LG전자', 'Naver', '배민']과 같이 출력된다.
# append는 리스트의 마지막에 데이터를 추가하는데 사용된다.

interest.insert(1,'요기요')
print(interest)
#['삼성전자', '요기요','LG전자', 'Naver','배민']와 같이 출력된다.
# insert는 내가 지정한 위치에 데이터를 추가해준다.

del interest[1]
print(interest)
# ['삼성전자', 'LG전자', 'Naver', '배민']
# del은 지정한 위치의 데이터를 삭제해준다.

-튜플

num = 1,2,3,4,5,6
print(type(num))
# tuple이 나온다.
# tuple은 괄호가 없더라도 튜플로 선언이 가능하다.

# 튜플과 리스트는 수정 여부 말고 거의 비슷하다.

-star expression

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score, _,_ = scores
print(valid_score)
# [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5] 과 같이 출력된다.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a,b,*valid_score = scores
print(valid_score)
# [8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]

a, *valid_score, b = scores
print(valid_score)
# [8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8]

# star expression은 데이터가 몇개가 저장될지 모를때 사용한다.
# _는 파이썬문법을 사용할때 필요없는 값 즉, 앞으로 사용해도 되지 않는 값일때 쓰인다.
# 실제로 값이 저장되지는 않고 자리만 차지하는 역할을 하게 된다. 유용할것이다.

- 딕셔너리 zip

date = ['09/05', '09/06', '09/07', '09/08', '09/09']
close_price = [10500, 10300, 10100, 10800, 11000]
close_table = dict(zip(date,close_price))
print(close_table)
# zip은 두개의 튜플 또는 리스트를 합쳐 딕셔너리를 만들때 사용된다.

사실 코테 문제를 풀며 쉽게만 생각하고 실제로는 구글링하며 함수를 찾아가면서 문제를 풀었는데 이번에 해보고 사실 충격아닌 충격을 먹었다. 생각보다 많이 까먹고 몰랐던 내용 투성이 였던것들 위주로 작성하였다. 

 

 

인턴 근무 1일차


내 PC에 VPN(가상사설망)을 설치하여 회사에서 발급받은 ID,PASSWORD로 VPN 연결을 하였다. 그후 원격으로 회사의 내PC에 접속하는것을 성공했다. 재택근무에 대한 준비였는데 사실 여기에 가장 많은 시간을 쓴것 같았다. VMWARE로 윈도우10을 설치한 디스크에 개발망, 인터넷망 PC 2대에 접속하였다. 그후부턴 DOORAY, TEAMUP에 가입하였다. 이 2개의 툴은 협업툴로 내가 그동안썻던 노션, 슬랙과 비슷한 느낌을 받았다. 아직까지 노션과 슬랙도 제대로 사용안해서 그런진 몰라도 노션,슬랙은 작은 규모의 협업툴이고 DOORAY, TEAMUP은 그보다 더 큰 규모의 협업에 있어 사용하기 적절한 툴로 느껴졌다. 그 외에도 앞으로 진행할 업무에대한 설명과 회사 내부망을 통한 관리 방법에 대해 배웠는데... 한번 해봐야 겠다는 생각이 들었다.. 암것두 모르겠다후.... 아직까진 가입만하고 맛보기로 툴이나 업무를 진행했기 때문에 앞으로 인턴 업무를 좀더 진행하면서 배우고 익힌것들위주로 업로드 할예정이다. 첫날이여서 바빳지만 처음 해본것들이라 신기하기도 하고 앞으로의 업무가 기대되는 그런 하루 였다.

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 5일차-2021.7.5  (0) 2021.07.06
TIL 4일차-2021.7.4  (0) 2021.07.04
TIL 3일차-2021.7.3  (0) 2021.07.03
TIL 2일차-2021.7.2(feat. VirtualBox에서 iso파일)  (0) 2021.07.02
일정표  (0) 2021.05.28
728x90

이번 한학기는 나에게 여러모로 열심히 해보려고 노력해본 학기 였던것 같다.

일단 작년 까지는 진로를 제대로 잡지 못하고 방황하는 시간을 보냈다면 이번학기는 백엔드 개발자라는 진로를 잡고 최대한 열심히 여러가지 공부를 했다. 

 

1. 깃허브

여러 개발자 지망하는 친구들이나 인터넷 서핑을 해보면 항상 깃허브는 기본이라고 말해줬다. 사실 깃허브의 존재를 알고 있었지만 당장 무엇을 커밋해야 하는지 그리고 어떻게 커밋을 해야하는지 공부할 엄두가 나질 않아서 피하기만 하다

Do it! 버전중하나인 깃허브 입문 책을 구입해 하나하나 따라치며 공부하게 되었다. 실제로 진행해보니 딱히 별로 어려운것은 없다고 느꼇고 매일매일 커밋하는 습관을 들이려 했으나 결국은 매번 실패하게 된것 같다...ㅎ

 

깃 커밋 메시지 컨벤션(Git Commit Message Convention)

커밋 메시지는 타입, 제목, 본문(선택), 꼬리말(선택) 세 부분으로 작성한다.타입(Type) 제목(Title)본문(Body)꼬리말(Footer)커밋 메세지 제목의 맨 앞에 타입(Type)을 붙여준다. 각 타입의 종류는 아래와

velog.io

암튼 위의 깃허브 컨벤션에 맞춰커밋 하기 위해 노력중이고 readme의 중요성 또한 느끼며 다시 한번 커밋을 진행하려 한다.

 

2. 장고

드디어 나왔다. 나중에 어떤 프레임워크를 사용하며 일하게 될지 또는 웹프레임워크를 사용하지 않게 될지는 몰라도 나에게 처음 개발이란것이 무엇인지 뚜렷하게 알게 해준 프레임워크인 파이썬의 django이다. 

워낙 django의 공식 문서가 잘나와있어서 따로 강의를 구입할 필요는 없었다 생각되지만 처음 입문을 패스트캠퍼스 강의로 한것은 절대로 후회하진 않는다. 기초부터 차근차근 알아가는 것을 좋아하는 나로써는 세세하게 나와있던 패캠의 강의가 만족스러웠고 현재도 까먹은 개념들을 참고할땐 가끔 들어가 본다.

이후엔 코멘토의 직무부트캠프 django를 통해서 drf의 존재에 대해 알게 되었고 그속에서 나보다 월등히 뛰어난 사람들이 많다는 것을 알고 다시 열심히 해봐야 겠다는것을 알게된 계기였다. 실제 백엔드 개발자가 무슨일을 하고 어떤 준비를 해야할지 확신을 가지게 된 프로그램이였다.

3. 블로그

현재 사용하고 있는 블로그는 기술블로그로 작성하며 현재 카테고리인 마음가짐이란 곳에 일기처럼 작성을 하고 있는데 지금와서 생각해보면 지난 1달이란 시간동안 블로그를 작성하며 큰 도움을 얻었다. 무엇보다 인턴으로 합격하는데 면접관 분들께 좋은 인상을 심어주는 계기가 되지 않았나? 생각이든다. 

4. 인턴

아직 시작은 하지 않았고 7월1일부터 진행하는 인턴이지만 현재 내가 학습에 집중하는 마음가짐이나 분야가 다르게 되는데 큰 영향을 끼쳤다. django웹프레임워크를 사용하는것은 아니지만 백엔드 개발자를 지망하는 나로써는 중요하다 생각한 devops분야의 업무를 경험할수 있고 무엇보다 python언어로 한다는것때문에 정말 좋은 기회라고 생각된다. 아무래도 업무를 파악하고 가야한다는 생각에 devops가 무엇이고 python을 통한 크롤링 업무를 진행하기 때문에 현재 python 크롤링에 대해 다시 공부중이고 시작전까지 간단한 프로젝트 하나 만들어보려한다.

 

후기

사실 학교 공부에 크게 집중하지 못했는데도 나름 학점도 잘나왔고 무엇보다 정말 운좋게 인턴을 할수 있는 기회까지 생겼다. 아직 2021년도가 반밖에 오지 않았는데 지금까지는 아주 좋은 한해라고 생각한다. 앞으로 어떻게 상황이 변할지는 모르겠으나 당장 멀리 생각하기 보다는 눈앞에 닥친 어려움을 헤쳐나가기 위해 노력을 꾸준히 해야한다고 느끼고 있다. 항상 자만하거나 게을러지지 말고 앞으로는 다시 1일1커밋, 1일 3블로그글을 올려야겠다! 좋은 백엔드 개발자가 되기까지 화이팅이다!

728x90
728x90

1. 기회

으앗!! 너무나 갑자기 좋은소식이 전해졌다...

이번 방학때는 없을 기회라 생각했던 인턴의 기회가 갑자기 나에게 다시찾아왔다!!

서류에서 떨어졌다는 소식에 의기소침해져 있던 나였지만... 오늘 채용담당자님께서 전화로 추가합격후 면접 가능시간을 말해달라는 말씀에 기회를 잡아야 겠다는 생각만 하고 "1시간 30분후인 17시에 면접을 보겠습니다!"하고 전화를 끊었는데 정말 실감이 나지 않았다...

메일로 오고 나서야 실감이 났고 순간 준비도 안된 상태에서 무엇을 준비해야하지?라는 생각뿐이었다. 

 

2. 면접 준비

평소 파이썬 장고 공부를 할때 질문드리는 오픈톡방에 급하게 면접예상 질문에 관해 여쭤봤고 화상면접을 볼 장소인 카페까지 가면서 devops에 관해 여러가지 찾아보며 지하철에 달달 외우고 갔던것 같다. 

-devops란?

-Docker, K8S은 무엇이고 각각 장점은 무엇인가? 그리고 컨테이너는 무엇인가?

-CI/CD 파이프라인이란?

-TCP/UDP는 무엇이고 차이점은 무엇인가?

-1분 자기소개

이렇게 총5가지를 집중적으로급하게 유튜브와 구글링을 통해 알아봤었다.

 

3. 면접

면접은 생각보다 위에서 공부했던 기술적인 부분보다는 아무래도 인턴이다보니 그동안 공부하고 진행했던 프로젝트에 관한 내용을 집중적으로 질문해주셨다.

 

-자기소개(뭐라고 한지 기억나지않는다...)

-파이썬과 C언어를 주로 공부했다고 했는데 두가지 언어로 서버를 만들경우의 차이점과 파이썬만의 장점은?

-프로젝트를 진행하며 겪었던 어려움과 그원인, 그리고 해결방법은?

-인턴간 진행할 devops업무와 자신의 성격을 생각했을때 잘맞다고 생각하나요?

-장고 프레임워크만 사용하다보니 파이썬 자체의 언어 활용법에 대해 잊지는 않았나요?

 

생각보다 긴장을 많이 한탓에 위의 질문정도 밖에 생각이 나지 않고 면접은 한4~50분 진행했다.

지난번 면접경험이후 떨지 않을것이라 생각했는데 오늘 갑자기 잡히기도 했고 스스로 기초가 많이 부족하다는걸 알기때문에 대답 못할 질문이 나올까봐 덜덜 떨며 면접을 봤다...

 

4. 후기및 다짐

올해 목표로 잡았던인턴이 갑자기 빠르게 할수있는 큰 기회가 온것같아 너무 행복하다ㅠㅠ 원래는 연합동아리에 지원을 해서 활동하는것이 이번방학의 목표였는데 이번 방학부터 인턴을 하게 연말까지 인턴을 진행하게 됐으니 전에 다짐했던 회사에 실질적으로 도움이 될수 있는 그런 인턴이 되자!! 라는걸 이뤄낼것이다. 장고 공부는 꾸준히 하겠지만 지금보다는 비중을 조금 줄이는 대신 회사업무에 도움이 될수 있도록 devops에 카테고리를만들어 그에관한 지식을 학습할 것이고 무엇보다 python으로 업무가 진행될것 같으니 기존에 부트캠프의 일정에 맞춰 진행하려했던 TIL을 python에 대한 문법학습, 크롤링등 python언어 자체에 대한것으로 채울 것이다. 물론 cs지식 스터디 같은경우는 원래부터 온라인으로 진행 하고자 했으므로 종강후 꾸준히 학습을 병행할것이다. 아무튼 이런 좋은 기회 너무너무 감사합니다! 화이팅:)

728x90
728x90

1. Pre-Course(5~6월)

-python 핵심 자료구조/알고리즘 핵심 개념

-bootstrap,django,pythonanywhere를 활용한 나의 resume 페이지 제작 및 배포

-django 커뮤니티 사이트 제작및 배포과정 블로그글 업로드(django카테고리)

 

2. Advanced Group Projects(7월)--> TIL시작

-djangorestframework를 활용한 그룹 프로젝트 시행(가능하다면 연합동아리 가입 또는 팀원구하기)

-Unit Test& Debugging

 

3. CS지식 학습 및 면접 준비(8월~)

-운영체제, 자료구조, 알고리즘, 컴퓨터구조, 데이터통신 학습

-면접 준비

 

최종목표

-올해 인턴 해보기!--> 학습하는 인턴이 아닌 진짜 회사에 도움이 되는 인턴이되기

728x90

'개발 life > 셀프 부트캠프(WIL)' 카테고리의 다른 글

TIL 5일차-2021.7.5  (0) 2021.07.06
TIL 4일차-2021.7.4  (0) 2021.07.04
TIL 3일차-2021.7.3  (0) 2021.07.03
TIL 2일차-2021.7.2(feat. VirtualBox에서 iso파일)  (0) 2021.07.02
TIL 1일차-2021.7.1  (0) 2021.07.01
728x90

요즘 부트캠프가 대세이다. 짧은기간동안 집중교육을 통해 3~5개월여만에 취업에 성공하는 그런 누구나 구미가 당기는 교육 캠프인것 같다. 나도 너무 듣고 싶다. 전공생인 나조차,,, 나는 사실 암거도 못하는 ,,하하,,,

 

but.. 가격이 기본 700만원이상씩한다.. 후... 

그래서 생각했다 뭐가 다르길래? 

내가 가고싶어하던 부트캠프인 wecode이다! 이번 컨텐츠가 실패하면 대출받아서 들어갈 생각이다ㅋ....

 

WeCode | 위코드 | 코딩 부트캠프 | 코딩교육

WeCode(위코드)의 부트캠프를 통해 개발자로서 커리어를 시작하세요.

wecode.co.kr

위의 도메인에 들어가보면 위코드의 상세 커리큘럼이 나와있다 나는 이커리큘럼을 따라서 학습해볼 생각이다.

Pre-Course

1 ~ 2

본격적으로 코딩 부트캠프 과정을 진행하기 전에 HTML, CSS, 그리고 JavaScript의 기본 문법과 핵심 개념을 배우고 응용 하는 법을 학습하는 과정입니다.
총 2주로 진행되며 첫주는 프론트엔드 프로그래밍 언어인 HTML, CSS, JavaScript를 배우고 두번째 주는 첫주에서 배운 지식들을 응용하여 자신만의 프론트엔드 시스템을 개발하는 프로젝트를 진행합니다.

  • 다른 수강생들 / 멘토 들과 소통 및 질문을 할 수 있는 온라인 협업 채널
  • 멘토들에게 직접적인 피드백과 도움을 받을 수 있는 오프라인 세션
  • 학습 장소 필요시 위코드가 위치해 있는 WeWork에서 코스 진행 및 협업 가능

프론트엔드 부분을 공부하는 기간인것 같다. 음... 일단 기본적인건 아니 pass!

 

Advanced Group Projects

1. Prepwork

모든 학생들이 WeCode 코딩 부트 캠프의 다양하며 intense한 과정을 성공적으로 진행할 수 있도록 학생들을 준비 시켜주는 기간입니다. 본격적으로 개발을 시작할 수 있도록 필요한 개발 환경 설정 및 기본 지식들을 습득하는 과정입니다.

  • Developer Culture and Philosophy
  • Git & Github의 기본 개념과 기능들
  • 기본적인 Linux 터미널 설정 방법과 명령어들
  • Windows 사용자들을 위한 Ubuntu 설치 및 설정
  • 다양한 개발 tool 들 소개 및 사용법
  • 인터넷에서 기술적인 문제 해결 방법과 지식 찾아내는 법

실습 Project: 나만의 개발 환경 설정하기. 학생들이 스스로 앞으로 개발에 필요한 tool들을 설치하고 환경을 설정.

2. Backend Development

앞선 Pre 코스에서 개발한 프론트엔드 시스템과 연결 될 수 있는 백엔드 API 시스템을 직접 구현해보는 과정입니다.
Python, database, HTTP 등 백엔드 API 시스템을 개발하기 위해 필요한 모든 지식들을 배우고 응용해봄으로써 백엔드 시스템의 대한 개념을 확실히 이해하고 개발 할 수 있도록 하며 더 고급 시스템도 개발 할 수 있도록 기초 체력을 탄탄히 잡아 주는 과정입니다.

  • Web Service Development History
  • Python 핵심 개념과 기본 문법 및 응용 학습
  • Database 핵심 개념과 python을 통한 응용 및 사용법 학습
  • SQL 핵심 개념과 기본 문법 및 응용 학습
  • HTTP의 구조와 개념 그리고 기능 이해
  • 백엔드 API 시스템 개념 이해와 개발
  • Python에서 널리 사용되는 프레임워크 Django 사용하여 API 시스템 개발

실습 Project: Python, Django, MySQL을 사용하여 백엔드 API 시스템 개발

3. Data Structures & Algorithms

개발에서 가장 중요한 요소중 하나인 자료구조와 알고리즘을 학습하는 과정입니다.
먼저 자료구조와 알고리즘의 핵심 개념 을 이해하고, 가장 자주 사용되는 자료구조와 알고리즘들을 배우고 직접 응용해보도록 하여 더욱 상급 개발자로서의 역량을 갖출수 있도록 하는 과정입니다.

  • List
  • Set
  • HashMap (Dictionary)
  • Queue
  • Stack
  • Tree
  • Sorting
  • Search

실습 Project: 각 자료구조와 알고리즘을 직접 구현하고 응용하여 개발

4. Unit Test & Debugging

시스템 개발에서 꼭 필요한 unit test와 debugging 스킬에 대해서 이해하고 응용하는 과정입니다.
오랜 경험과 경력의 전 문가 mentor들의 unit test와 debugging 노하우를 전수 받을 수 있는, WeCode 만이 제공할 수 있는 기회입니다.

  • Unit Testing 핵심 개념과 구현 방법 학습
  • Debugging을 더 효과적으로 할 수 있는 방법 힉습
  • Unit test 친화적인 코드 구현하는 법 학습

실습 Project: Unit test를 직접 구현하고 debugging 스킬들 응용

5. Programming Best Practices & Design Patterns

저명한 개발자들과 학계가 연구해 놓은 programming best practice(정석)와 design pattern 들에 대해 배우고 이해하고 응용 함으로서 더 상급 개발자로서 역량을 키우며, 효율적이며 탄탄한 시스템을 구현할 수 있도록 학습하는 과정입니다.

  • Clean Code, DRY, Abstraction 등의 programming best practice 개념 이해 및 응용 학습
  • Git Flow Model을 사용해서 더 효과적으로 코드버전 관리와 팀원가의 협업할 수 있도록 학습
  • MVC, Layered Pattern 등 각 시스템에 적합한 패턴 선택 및 적용 능력 학습

실습 Project: 적합한 programming best practice 선택 및 적용

 

Oh My GOD!!!!! 이때부터 찐인것 같다... 다행히? 1번 Prepwork는 어느정도 익혔고 2번 같은경우도 익히긴 했으나

2번은 블로그에 포스팅을 하며 제대로 복습해봐야겠다. 3번 자료구조 알고리즘이야... 매일 공부하는중이니 이것도 블로그에 올리겠다. 4번은? 잘모르겠다 알아보며 해야겠다. 5번또한... (ㅋ나그동안 뭐했지?)

 

Advanced Group Projects

 

프론트엔드 부터 백엔드까지 전부 완성된 고급 시스템을 구현하는 프로젝트들을 하는 과정입니다.
2개의 프로젝트를 진행 하게 되며 각 프로젝트마다 2주씩 총 4주동안 프로젝트들을 진행하게 되며, 3~4명이 같은 팀이 되어 프로젝트를 진행합니다.
지금까지 배운 지식들을 응용할 뿐만 아니라 더 상급의 지식들을 배우고 응용하여 고급 시스템을 구현할 수 있는 기회입니다. 또한 개발팀의 일원으로서 팀워크와 커뮤니케이션 역량을 키울 수 있고 팀원과 서로 배우고 도와주며 성장할 수 있는 과정입니다.

  • Responsive Web Development, DOM Manipulation, NPM / WebPack / YARN 설정 등 상급 프론트앤드 기술 학습 및 응용
  • REST 아키텍쳐 기반의 API 구현
  • Python 과 Django를 사용하여 advanced Backend API 기능 구현
  • AWS 기반으로 시스템 인프라스트럭쳐 디자인과 구현 및 시스템 deploy
  • MVP, Layered Pattern 등의 최적의 패턴 적용하여 시스템 구조 디자인 및 구현
  • 코드 전반적으로 programming best practices 적용
  • 적절한 data structure와 알고리즘 적용을 통한 코드 효율성 최적화
  • Unit test 구현을 통한 시스템 안정성 강화
  • Agile 방식의 team project 진행을 통해 팀원으로서의 개발 역량 강화

내가 볼땐 이때가 위코드의 취업에 있어 가장중요하게 작용하는 주차인것 같다. 이건뭐 현재 하고있는 프로젝트간 적용시켜 봐야겠다.....

 

Advanced Projects

위코드의 마지막 과정으로, 다음 중 한 가지를 선택하여 진행하게 됩니다.

  • 기업 협업
  • 개인/그룹 프로젝트
  • Advanced Study

기업협업을 선택할 경우, 3-4명이 한 팀이 되어 4주동안 실제 기업에 출근해 프로젝트를 개발하게 됩니다. 기업 협업 프로젝트는 참여가 항상 가능한 것은 아니며 기업의 사정 및 기타 여러가지 사정에 따라 진행이 어려울 수 있습니다. 해당 사항 충분히 인지하시고 위코드 코딩 부트 캠프에 참여하셔야 합니다.

개인/그룹 프로젝트를 선택하는 경우 두 번째 달에 진행하는 그룹 프로젝트와 진행 방식은 비슷하나, 시간 제약 때문에 해보지 못했던 기술이나 기능들을 구현해 볼 수 있습니다. 또한 그동안 배운 내용들을 정리하면서 동시에 취업준비도 할 수 있습니다.

취업준비를 선택하는 경우, 개발자로 도약하기 위한 고급 개념을 다져서 더 탄탄한 실력을 쌓을 수 있습니다. 체계적인 4주 커리큘럼을 통해 효과적인 학습을 할 수도 있고, 본인이 부족한 부분은 직접 계획하여 추가 학습을 할 수도 있습니다. 최근 6개월 이내 면접 기출문제 중 자주 묻는 질문 위주로 코딩테스트, 코딩과제, 면접 스터디 등을 동기와 함께 준비할 수 있습니다. 현업 개발자와의 모의 면접 또한 진행할 수 있습니다.

 

위코드의 가장 큰 장점이라고 생각한다. 기업협업 이부분은 너무나 부럽기도 하고 취업에 있어서까지 도움을 준다하니 너무 부럽다... 후하...열심히 달려봐야겠다.

느낀점: 근데 이걸 3개월만에 할수있나?????라는 생각이 들었다.. 밤새도 안될꺼 같은데?라는 생각이 들긴하는데 아니 안될께 머가있어 2~3주뒤 기말고사가 끝나고 종강이니 일단 그기간은 Pre course라 생각하고 장고 컨텐츠 게시물이나 계속 올리고 있겠습니닿ㅎ 6월에까지 Advanced Group Projects 까지 끝내고 방학동안 클리어 한후 2학기때는 장기 현장실습으로 인턴들어가는걸 목표로 나아가보겠습니다!! 이글이 성지글이 되길 바라며!!!!!!!!! 화이링!!!!!!!!

728x90
728x90

이렇게 글을 쓰게 된이유는 목표로 삼게된 회사가 있기 때문이다.

언제 들어가게 될지는 몰라도 언젠가는 한번 경험해고픈 회사이다.

그곳은 바로 딜리버리 히어로 라는 회사이다. 

회사의 성장성 연봉 그런걸 제쳐두고 무엇보다 회사의 분위기가

경험해보진 못했지만 그래도 정말 좋아보였고, 백엔드 서버를 파이썬으로

다룬다는게 가장이목을 끌었다. 전글에서 언급했던것 처럼 요즘 파이썬에

푹빠져있는 상황이라 더욱 호감가는 회사이다!!

 

What you will get

  • Python으로 개발하는 대용량 서비스 back-end의 모든 것
  • 공부하고 성장하는 Python 개발자 동료
  • Microservices architecture 구현과 운영 knowhow
  • 우리가 원하는 것을 개발하여 사용자들에게 영향을 주는 서비스를 만드는 경험
  • 급성장하는 회사와 같이 성장하는 기회
  • 전세계 개발자들과의 교류

 

What you will do

  • Open API 기반 서버 시스템의 개발 및 유지보수/운영
  • 대용량 서비스에 적합한 서버 아키텍처 구현/개발
  • Cross-functional team의 일원으로 서비스의 기획부터 출시, 운영까지 전 과정 참여
  • 연동하는 시스템과의 데이터 형식 전환 모듈 작성 및 이를 이용한 작업
  • 글로벌 서비스 프러덕트를 개발하고 전세계 사용자에게 제공

 

What we expect from you

  • Python 개발 경험 있는 분
  • 웹 서비스 개발 경험 있는 분
  • 코드리뷰와 테스트코드 작성을 즐기시는 분 
  • 만 1년 이상의 개발 경력 있는 분

 

그 외 이런 것이 있으면 더 좋겠어요

  • 기초 전산 지식
  • 관계형 데이터베이스(RDBMS)의 이해
  • Web framework (Django, Flask, Spring 등) 또는 ORM 사용 경험

(boards.greenhouse.io/deliveryherokoreatech/jobs/4713964002?gh_src=4f11b4bc2us)

이것이 채용공고에 나와있는 준비사항들인데 하나하나 준비해가야 겠다.

 

 

728x90

+ Recent posts