Diary/201~300(110)
-
300일차 Python Garbage Collection, Reference Counting
오늘은 파이썬의 가비지 컬렉터와 레퍼런스 카운팅에 대해 알아보려고 한다. GC(Garbage Collection) GC는 Python 내부적으로 메모리를 자동으로 관리해주는 과정 및 도구이다. 다만, 완벽하게 메모리를 최적화 시키지는 못한다. 그렇기 때문에 개발자가 직접 메모리를 관리할 줄 알아야 한다. RC(Reference Counting) RC는 메모리를 관리하기 위한 전략이다. Python의 모든 Object에 Count를 주고, 각 객체가 참조될 때 증가하고 참조가 삭제될 때 감소하는 방식으로 작동한다. 이때, Count가 0이 되면 메모리 할당이 삭제된다. 먼저 RC에 대해 살펴보고 GC를 알아보자. import sys # RC(Reference Counting)은 아래와 같이 서로를 참조하는..
2021.10.25 -
299일차 팀 프로젝트 및 파이썬 기초
어제 오후 2시에 첫 스터디 모임이 있었다. 게을러지거나 나태해지지않고 꾸준히 성실하게 자기개발 하는 것이 주된 목적인 모임이다. 어제 모여서 밥도 먹고 이야기 나누면서 서로 친분을 나누고, 첫 팀 프로젝트에 대한 미팅을 했다. 첫 팀 프로젝트의 개발은 어렵지 않으면서도 우리에게 필요해보이는 IT 영단어 앱으로 선정되었다. 각자 아이디어를 생각해오기로 약속했고, 그 중에 내 아이디어가 채택되었다. IT 영단어 말고도 좋은 아이디어가 너무 많아서 다음 프로젝트 때, 개발해도 너무 좋은 아이디어들이었다. 간단한 팀 프로젝트 소개이다. https://vast-pendulum-57a.notion.site/99bb33abe6874c10b5ae64db8990b04f?v=945f23ad596844bc9708ecedf..
2021.10.24 -
298일차 리액트(React) 애니애니(AnyAni) - 배포
1. npm run build 2. 정적 파일 static 폴더로 이동 3. index.html 파일을 templates로 이동 및 소스코드 내부 경로 수정 ( 정적 파일 위치를 static 경로로 변경 -> CSS, JS 등등 위치 탐색 에러 방지 ) 4. AWS 배포 https://kwonputer.com/ani/anyani/ 애니애니 kwonputer.com 리액트와 장고를 같이 배포했다. 일단, 이게 맞는 방법인지는 잘 모르겠다. 그래도 리액트 자체가 자바스크립트의 라이브러리기 때문에 이렇게 배포해도 문제 없다고 생각했다. 가끔은.. 주변에 이런 것들에 대해 물어볼 개발자 지인들이 있었으면 하는 생각도 든다. 그래도.. 뭔가 내가 줄 수 있는게 없는데, 물어보기만 하는게 싫어서 적어도 나도 그 사..
2021.10.23 -
297일차 리액트(React) 애니애니(AnyAni) - 추천 페이지
체크박스를 한 20개까지 만들고나서 피곤해서 그냥 반복문 돌려서 만드려고 했는데, 에이.. 지금까지 한 것도 아깝고 얼마 안남았겠지.. 라는 생각으로 열심히 복붙을 하다가 한 40개 넘어가면서부터 열불이 터져서 아.. 지금이라도 그냥 반복문 돌려서 넣을까... 아니.. 그래도 지금까지 한거 지우는 것도 좀 아까운데.. 이런 우왕좌왕속에 결국 복붙으로 끝까지 넣었다. 사실 지금 너무 졸려서 제정신이 아닌 것 같다. 일단.. 잠을.. 자야해..
2021.10.22 -
296일차 리액트(React) 애니애니(AnyAni) - 메인 페이지
메인 페이지는 최상단 메뉴바 ( Navigation ) 빠른 메뉴 ( QuickMenu ) 추천 링크 ( Recommend ) 이렇게 구성하려고 한다. 1. Navigation.js 2. Navigation.css 3. QuickMenu.js 4. QuickMenu.css 5. Ani.js 6. NowBroadCastAtAni.js
2021.10.21 -
295일차 리액트(React) 애니애니(AnyAni) - 환경설정 및 기초 토대 작업
1. npm create-react-app anyani_react 2. 깃허브 (github) 연동 3. package.json 작성 4. 아이콘 및 폰트 정적 파일로 넣어두기 5. setupProxy.js 작성 6. 디자인 구상에 맞춰서 js 생성 및 라우터 설정 BrowserRouter 랑 HashRouter 중에 고민 했는데, 일단 배포 했을 때, 문제가 적어보이는 HashRouter로 선택했다. 또한, 미리 파일들을 생성하고 분배해뒀다. 뭔가 이렇게 미리 분리를 해두면, 주관적인 생각이지만 개발이 더 쉽다. 장고(Django)를 워낙 많이 해서 그런지.. 자꾸 MVT 패턴 비스무리하게 만들게 된다. MVC에서 V가 장고에서 View가 아니라 Template다. 그리고 C가 View다. 지금은 개념..
2021.10.20 -
294일차 리액트(React) 애니애니(AnyAni) - 디자인 구상
보호되어 있는 글입니다.
2021.10.19 -
293일차 AWS - 장고(Django), 리액트(React) 함께 배포
오늘부터 대략 6일 동안은 장고 + 리액트로 웹을 배포하면서 느낀점이나 진행 과정들을 적어 놓을 예정이다. 현재 결과물은 완성한 상태지만, 다음은 협업 프로젝트를 해볼 예정이라서 이에 대한 아이디어 구상과 인원 모집 때문에 시간이 없을 것 같다. 대략 12시간을 헤딩해서 나에게 맞는 리액트 배포 방법을 찾아냈다. 아무리 구글링을해도 내가 원하는게 안나와서 개인적으로 생각해봤을 때, 가능할 것 같은 방법들을 전부 검색해서 자료들을 수집해서 방법을 찾아냈다 휴.. 다행히 하루만에 알아내서 만족스럽다.. 정답을 알려줄 사람이 없으니 언제 해결될지 몰라서 막막했는데ㅠㅠ 다행이다. 1. EC2 서버 하나 파서 Dockerfile로..
2021.10.18 -
292일차 AWS - 서버 설정
후.. 일기도 매일매일 쓰려니까 힘드네.. 일단 300일차가 얼마 안남았으니까 귀찮아도 계속 글을 올려야겠다. 300일차 다 채우면 다시 400일차로 향해야하는데.. 고민이다 400일차 달릴지, 아니면 나만 보기 위한 글이 아니라 다른 사람들한테도 보여줄 수 있을만한 정성이 담긴 글을 적을지.. 일단 오늘 일기를 마저 적자. 이제 서버 설정할건데 도커, 포테이너 등등 해야할 게 많다. 진짜 귀찮은데 이거 안하면 진짜 더 귀찮아진다. 1. 최신 패키지 리스트 업데이트 # sudo apt update 2. Docker 다운로드를 위해 필요한 HTTPS 관련 패키지 설치 # sudo apt install apt-transport-https ca-certificates curl software..
2021.10.17 -
291일차 AWS - 서버 구축
오늘은 포트폴리오 서버가 아니라 새로운 EC2 서버를 만들려고한다. 계정도 하나 새로팠고, 1년 무료인 EC2 서버를 사용해서 우분투 서버를 오픈하려고 한다. 1. AWS 회원가입 후 EC2 관리자 페이지 접속, 인스턴스 생성 2. 마이크로 스토어 샵에서 우분투 설치 후 실행 3. 우분투 폴더 내부에 AWS 키 파일 저장 C:\Users\사용자컴퓨터이름\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\ 4. EC2 보안그룹 설정 5. EC2 인스턴스에 탄력적 IP 할당 6. 가비아 도메인 구매 6. 윈도우 우분투에서 EC2 서버로 접속하기 오늘은 약속이 있어서 짧게 여기까지만 하..
2021.10.16 -
290일차 리액트(React) 애니애니(AnyAni) - 장고(Django) 연동 방법 찾기
일단 생각을 해보자.. 장고에서는 애초에 리액트형식을 지원하지 않으니까 장고를 서버에 올리면서 리액트도 자동으로 실행되게 할 수는 없을 것 같다. 리액트에서 장고를 쓰기 위해서는 API 형식으로 사용해야 할 것 같다. 현재 내가 서버를 구축하고 있는건 1. Nginx 프록시 2. Nginx 3. 장고 유니콘 4. 레디스 5. 다프네 6. 마리아DB 7. Certbot 이렇게 구축하고 있다. 리액트도 장고랑 마찬가지로 도커파일 하나 만들어서 깃허브에서 끌어와서 이미지 만들고, 도커컴포즈파일에 담아서 포테이너에서 스택으로 올리면 될 것 같다. 일단은 이렇게 생각하고 구글링을 해봐야겠다. 서버는 짜증나는게 나랑 똑같은 환경을 가진 예제를 찾기가 힘들어서 결국 이것저것 내가 손봐야해서 생각보다 빠르게 끝날수도있..
2021.10.15 -
289일차 소프트웨어(Python) 애니애니(AnyAni) - 완성
0. 결과 1. 디자인 2. 기능 후.. 시간을 갈아넣어서 완성했다. CDR이랑 크롤링하면서 PyQt5 했던게 도움이 됐다. 기억이 거의 안났는데 예전에 만든 소스코드들 둘러보고 이번에 다시 하니까 기억이 새록새록 나서 금방 할 수 있었다.
2021.10.14 -
288일차 소프트웨어(Python) 애니애니(AnyAni) - 장르, 태그 선택
1. 디자인 2. 기능 후.. 오늘 하루 여기에 시간을 다 쏟았다. 거의 노가다 수준... 반복되는게 너무 많아서 대충 잘라서 올렸다.
2021.10.13 -
287일차 소프트웨어(Python) 애니애니(AnyAni) - 전체적인 디자인 및 구조 잡기
계속 곰곰히 생각해봤다. 디자인을 어떻게 만들지. 일단 검정색을 배경으로 잡고싶고.. 메뉴바는 필요없을 것 같다. 들어가야하는 내용이, 이 3가지가 들어가야하는데, 공간이 많이 부족할 것 같다. 그래서 2개로 나누려고하는데. / 이렇게 2가지 위젯으로 나누려고한다. 색깔은 검정색, 회색, 주황색, 파랑색, 하늘색, 흰색 이렇게 사용하려고한다. 1. 장르, 태그 선택 페이지 2. 결과 페이지 음 이렇게 하면 될 것 같다. 메인 페이지가 고민인데... 창을 2개 써야하니까 소켓을 써서 값을 공유해야한다. 그리고 결과값이 나오면 창을 닫아야하니까.. 결과 페이지를 메인 페이지로 잡고, 장르태그 선택 페이지를 서브 페이지로 잡고 진행..
2021.10.12 -
286일차 소프트웨어(Python) 애니애니(AnyAni) - 환경설정
1. PyQT5 설치 - pip install pyqt5 2. QT Designer 설치 - pip install pyside2 3. 기본적인 소스코드 작성 (기억을 되새기며...) 4. 애니메이션 추천 API 확인 5. 이미지 다운로드 테스트 - urlretrieve - os.system os.system은 별로 쓰고싶지 않은게, 위의 빨강색 글씨로 적힌게 콘솔창에 적힌건데, 저게 콘솔창이 잠깐 뜨면서 작업이 완료되면 콘솔창이 꺼진다. 파이썬에서 실행파일을 만들때는 pyinstaller라는 것을 쓰는데, 여기서 옵션으로 콘솔창을 끄라고하는 -w 옵션을 쓸 수 있는데, os.system은 저 옵션을 써도 콘솔창이 켜졌다가 꺼진다. - urlopen 위의 방법으로 해야겠다. 잘 되네. 이제 자잘하게, 깃허..
2021.10.11 -
285일차 안드로이드(Kotlin) 애니애니(AnyAni) - 구글플레이스토어 등록
자잘한 버그들을 수정하고, 댑스랑 초기화 관리 좀 하고 구글플레이스토어 등록 신청을 했다. 등록 과정은 어렵지 않은데, 은근 시간이 좀 걸린다. 설문조사하고 스샷찍고 로고등록해야해서.. 구글플레이스토어에 등록하는 방법은 1. 대시보드에서 필요한 정보들 입력 2. 앱번들 생성 3. 모바일 스크린샷 촬영 위의 3개만 하면 출시가 가능하다. 차후에 구글플레이스토어에 등록이 되면, 구글 애드몹에 광고 신청해서 아이디받아야겠다.
2021.10.10 -
284일차 안드로이드(Kotlin) 애니애니(AnyAni) - 애니메이션 추천 2021.10.09
-
283일차 안드로이드(Kotlin) 애니애니(AnyAni) - 장르, 태그 선택 2021.10.08
-
282일차 안드로이드(Kotlin) 애니애니(AnyAni) - 앱 개발 (환경설정)
1. 앱 아이콘 설정 2. 쓸만한 폰트 넣어놓기 3. 폰트 스타일 설정 (여백 제거) 4. 파일 경로, 인터넷 보안 설정 5. 프로젝트 Gradle 설정 6. 앱 Gradle 설정 7. 앱 이름 설정 8. 매니페스트(Manifests) 설정 9. 레트로핏 통신 간단하게 사용하기 위해서 간단한 소스코드 작성 10. 빌드해보기 - 끝 -
2021.10.07 -
281일차 - AWS 볼륨 확장
이번에 애니메이션 API 추가하면서 이미지가 많아졌더니 깃클론하는데 AWS 볼륨에 용량 부족하다고 계속 에러가나서 볼륨 확장을 했다. 1. 용량 확인 => df -h 2. 볼륨 확장 3. 볼륨 크기 확인 => lsblk 4. 볼륨 확장 => sudo growpart /dev/xvda 1 5. 볼륨 크기 확인 6. 볼륨 리사이즈 => sudo resize2fs /dev/xvda1 7. 볼륨 크기 확인 - 끝 -
2021.10.06 -
281일차 - 애니메이션 추천 목록 API, 애니메이션 엑셀 업데이트 API
애니메이션 추천 API 알고리즘은 다음과 같이 짰다. 1. 시트 값이 None일 경우에는 ""으로 치환. 2. request로 받은 장르와 태그를 하나의 리스트로 묶고 정렬. 3. 엑셀 파일의 장르와 태그를 하나의 리스트로 묶고 정렬. 4. 두 개의 정렬 리스트의 교집합을 찾아서 그 중에 request로 받은 리스트와 같은 값을 찾고 시트 번호를 추출. 5. 시트 번호에 맞는 값들을 사전형식으로 만들어서 리스트에 넣고 반환.
2021.10.06 -
280일차 - 서버 개발 (버전, 엑셀 다운 링크 DB) 및 포트폴리오 수정
아.. 또 게시글 작성하는데 이미지 업로드하다가 멈춰서 다 날라갔다.. 후;; 그냥 대충 적어본다.. 1. 서버 DB 2. 포트폴리오 수정 - 데스크탑 - 모바일 - 이전 버전 프로필 이미지 좀 더 오른쪽으로 밀고 배경 색상 좀더 흰색에 가깝게 바꿔야겠다. - 데스크탑 - 모바일 이거랑 로그인에서 X버튼 누르면 글자 지우고, 비회원로그인 초기화 추가해줬다.
2021.10.05 -
279일차 - 애니메이션 정보 업데이트
업데이트 알고리즘부터 만들어야겠다. 업데이트 로그파일을 통해서 크롤링을 완료했으니까 이제 업데이트 파일을 체크하고 수정해야한다. 마지막으로 업데이트 엑셀파일과 애니메이션 정보 엑셀파일을 합치고 기존 업데이트 엑셀파일의 이름을 바꿔 줄 예정이다. 결과 (2000년 1분기 업데이트, 시트 2762 ~ 2771)
2021.10.04 -
278일차 - 애니메이션 데이터 수집 및 가공 (3)
우선 크롤링은 모두 끝났다. 이제 데이터 가공에 들어가야한다. 0. 문제확인 1. 문자열 치환 2. 중복 제거 3. 장르(Genre)를 제외한 나머지 태그(Tag)로 이동 결과 가공까지 완료했으니, 내일 업데이트 부분 끝내면 이제 앱개발에 들어가야겠다.
2021.10.03 -
277일차 - 애니메이션 데이터 수집 및 가공 (2)
후.. 어제 8시간을 좀 넘게 크롤링해서 다 채워놨다. 이제는 2차 크롤링을 해야한다. 이것도 오래 걸릴 것 같다 후..;; 오늘도 크롤링하는데에 하루를 보낼것같다 에효..
2021.10.02 -
276일차 - 애니메이션 데이터 수집 및 가공 (1)
공백인 부분은, 장르들을 제외하고 전부 태그로 넘기면서 장르가 없고, 태그만 있는 데이터들은 공백처리가 되었다. 이부분은 직접 위치를 찾아서 고쳐줘야할 것 같다. 애니 업데이트하려고 분기별 데이터 모아놓은 곳 찾고있었는데.. https://anime.onnada.com/ 분기별 신작 애니메이션 정보 anime.onnada.com 이런 사이트가 있었네.. 애초에 여기서 크롤링했으면 됬을텐데 하..;; 다시금 정보의 중요성을 깨닫는다. 일단 위 사이트에서 다시 애니정보 크롤링해서 엑셀파일 만들고, 기존 엑셀파일과 합쳐야겠다. 이정도 양이면.. 그냥 여기서 크롤링해서 쓸걸그랬다ㅋㅋㅋ 음.. 어차피 경험치도 쌓였으니까 다시 크롤링해야겠다. 1. 애니마에서 애니 제목, 장르, 방영일 크롤링 및 대표이미지 다운로드..
2021.10.01 -
275일차 - 크롤링 데이터 가다듬기 (4)
오늘은 시간이 많이 없다. 얼른 후딱 끝내보자!! 우선 전체 엑셀파일에서 중복 데이터를 제거한 장르 목록을 뽑아보자. 결과 '군사', '재난', '요괴 호러', '왕도', '시간여행', '군상극', '히어로', '사극', '농구', '슬래셔', '슬랩스틱', '역사 마법', '시골', 'SF의 모험', '모험 메카', '유도', '도박', '액션 스릴러', '일상드라마', '코미디 메카', '백합', '19금', '일상 치유', '슬픔', '여행', '블랙 코미디', '양키', '뱀파이어', '메카', '학원', '과자', '장편 드라마', '회귀', '스파이 미스터리', '코미디의 판타지', '던전', '마법 모험', '브로맨스', '루프', '혼고 미츠루', '오컬트', '전쟁', '야쿠자', '스릴..
2021.09.30 -
274일차 - 크롤링 데이터 가다듬기 (3)
1. 감독 이름 제거 2. delete 적힌 부분 중점적으로 제거 3. 장르 큰 틀로 나눈 후, 나머지 태그로 이동 노가다 중이다.. 코드로 작업할 수 있는건 최대한 해놨고, 일단 육안으로 체크해서 수정하고나서 각 장르마다 카운트세서, 리스트형식으로보고 이상한거 있는지 최종 체크해놓고 태그로 이동시켜야겠다.. 끝이 보인다.. 육안으로 노가다하는건 끝이고 내일은 로직짜서 컴마(,)를 기점으로 split해서 리스트 set형식으로 만든 다음에, 이상한거 있나 없나 체크하고 이상한것들 다 모아서 if in으로 위치 찾아서 수정해주면 데이터는 끝이다. 이제 이걸로 개발하면된다 후..;; 앞으로는 크롤링에는 손을 잘 안댈것같다. 사이트 1군데에서 하거나 양식이 비슷비슷하면 편할 것 같은데, 이번에 한거는 어우..;..
2021.09.29 -
273일차 - 크롤링 데이터 가다듬기 (2)
후우.. 오늘은 눈이 좀 아플 것 같은 날이다. 노가다를 해야한다. 1. 감독 이름 제거 2. delete 적힌 부분 중점적으로 제거 3. 장르 큰 틀로 나눈 후, 나머지 태그로 이동 이 무슨 노가다란 말이요..ㅠㅠ
2021.09.28 -
272일차 - 크롤링 데이터 가다듬기
1. 중복 데이터 제거 2. 치환 3. 공백 검색 후 채우기 하아.. 내일은 육안으로 찾아야겠다. delete 적어놓은 부분들 중심으로 삭제하고, 몇몇개에 감독 이름 들어가있는데, 그거 없애고, 장르만 큰 틀로 추출한다음에 나머지는 태그로 다 빼야겠다.
2021.09.27