GDSC Sookmyung 활동 76

아직 낯선 도커 이해해보기 (Docker)

도커를 검색하면 나오는 방대한 자료를 이해하기 어려웠던 사람들과 본격적으로 도커를 알아보고자하는 분들에게 도커를 입문하는 데에 도움이 되었으면 좋겠습니다. 참고 : namespace. cgroups 등 도커의 작동 원리에 대한 자세한 내용은 생략했습니다. 새 창에서 열기 참고한 사이트 및 동영상 https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd https://www.youtube.com/watch?v=hWPv9LMlme8&feature=emb_title https://www.yalco.kr/36_docker/ https://ebbnflow.tistory.com/200 https://hoon93.tistory.com/48 https://khj93..

[Algorithm]C++로 알고리즘 시작하기

이 글은 2021.03.12 에 진행된 코어멤버 수연님의 ‘C++로 알고리즘 시작하기’ 세션을 바탕으로 작성된 블로그 포스팅입니다. 새 창에서 열기 (발표자 노트를 참고하실 수 있습니다) 시작하기 💡 왜 알고리즘 문제 해결에서 C++를 많이 사용하나요? low-level 언어이므로 속도가 매우 빠릅니다. 참고할 수 있는 예제 코드가 많습니다. 가끔 C++ 사용을 강제하는 문제가 있습니다. 💡 C를 통한 문제 해결과의 차이점은 뭔가요? cin, cout을 통한 입출력 namespace 새로운 타입(string, bool 등) 정렬 함수, 자료구조 등이 이미 구현되어 있음(STL) C++ Fast I/O cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false);..

SSR(서버사이드렌더링) vs CSR(클라이언트사이드렌더링)

새 창에서 열기 *시간 관계상 발표에 담을 수 없었던 부분에 대해 궁금한 점이 있으시면 아래를 참고해주세요. MPA(Multi Page Application) 일반적으로 웹사이트에 접속하려면, 서버에게 HTML 파일에 대한 요청을 보냅니다. 그럼 서버는 요청받은 HTML 파일의 전송을 담당합니다. 이렇다보니, 기존의 웹브라우저는 단지 보여주기만 할 뿐, 요청한 웹 문서에 대한 처리는 전부 서버에서 담당해왔습니다. (서버 살려,,,,,,) 과거에는 웹에서 제공되는 정보가 그리 많지 않았고, 많다고 해도 페이지가 많이 나뉘어져 있었기 때문에 데이터를 쪼개서 보여줄 수 있었습니다. 하지만 요즘은 하나의 페이지에서 보여줘야 하는 정보가 무궁무진하게 많고, 자바스크립트 기술도 발전하고, 컴퓨터 성능도 좋아지고 등..

[Git/GitHub] 2. branch

이전 포스팅에서 기본적인 commit을 하는 방법에 대해 알아보았습니다. 이번 포스팅에서는 branch 를 활용하는 기본적인 방법에 대해 알아보겠습니다. 먼저 branch의 개념을 간략하게 말하자면, 한 저장소에서 다른 개발자들과 작업하고 싶을 때 브랜치를 만들어 작업합니다. 내가 혼자 한 줄로 쌓아가던 커밋을 여러 줄로 쌓아갈 수 있도록 하는 것입니다. 이 때 한 줄이 한 브랜치입니다. 여러 명이 작업하다보면 같은 부분의 코드를 수정할 가능성이 있습니다. 그러면 나중에 충돌이 일어납니다. 여러 줄로 커밋을 쌓고 나중에 합치면서 충돌을 해결해서 하나의 완성된 코드로 만들어 갑니다. 자, 이제 위의 리스트를 차례로 수행해보겠습니다. 여기서는 간단하게 하기 위해 여러 사람과 함께 작업하는 저장소 대신 이전 ..

파이썬으로 웹 스크래핑 시작하기

WikiDocs의 04장 웹스크래핑과 Pandas를 정리한 글입니다. 웹 크롤링과 웹 스크래핑 웹 서버에 저장된 데이터를 가져오는 행위를 웹 크롤링 또는 웹 스크래핑이라고 부른다. 웹 크롤링 Google 등의 대규모 검색 엔진이 GoogleBot과 같은 로봇 크롤러를 인터넷에 보내 인터넷 콘텐츠를 색인화하는 과정을 의미한다. 누군가가 홈페이지를 새로 만들면 어떻게 그 웹사이트가 구글에서 검색이 될까? 구글은 검색을 위해서 인터넷에 연결된 모든 웹 페이지를 돌아다니면서 페이지의 정보를 저장해두기 때문에 검색이 가능하다. 웹 스크래핑 일반적으로 특정한 데이터만을 웹사이트로부터 가져오는 행위를 스크래핑이라고 부른다. 웹 스크래핑은 웹 사이트 상에서 원하는 부분에 위치한 정보를 컴퓨터로 자동 추출하여 수집하는 ..

사람의 지도 없이 학습하는 오토인코더

'3분 딥러닝 파이토치맛' 을 참고하여 정리한 글입니다. 오토인코더란? 레이블 없이 특징을 추출하는 신경망을 말한다. 사람이 데이터를 직접 레이블링하여 정답을 함께 입력값에 넣어준다면 효율적인 학습이 가능하겠지만, 실생활에서 정답과 함께 존재하는 데이터셋은 많지 않다. "정답이 있으면 오찻값을 구할 수 있다" 즉, 오토인코더는 x를 입력받아 x를 예측하고 신경망에 의미 있는 정보가 쌓일 수 있도록 설계된 신경망이다. 입력과 정답이 모두 입력 x인 신경망이라는 것! 단, 신경망은 범용근사자로서, 근사치를 출력하기 때문에 입력 x와 똑.같.은 x를 출력할 수는 없다. 정확히 말하자면 오토인코더는 입력된 x를 복원하는 신경망이다. 또 다른 특징은, 입력과 출력의 크기는 같지만 중간으로 갈수록 신경망의 차원이 ..

[Git/Github] 0. 깃이란? 깃허브란?

📌 버전 관리 시스템 (VCS, Version Control System) 형상 관리 시스템이라고도 불리는 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템입니다. 각 파일을 이전 상태로 되돌릴 수 있고, 프로젝트를 통째로 이전 상태로 되돌릴 수 있습니다. 또한, 시간에 따라 수정 내용을 비교해 볼 수 있고, 누가 문제를 일으켰는지도 추적할 수 있고, 누가 언제 만들어낸 이슈인지도 알 수 있습니다. 따라서 버전 관리를 하고 있다면 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있습니다. 1. 중앙집중식 버전 관리 시스템 (CVCS, Central VCS) 프로젝트를 진행하다 보면 다른 개발자와 함께 작업해야 하는 경우가 많습니다. 이럴 ..

Yolact로 이미지 딥러닝하기

Yolact(You Only Look At CoefficienTs)는 ICCV에서 2019년에 발표된 논문이고 PyTorch로 구현되어 있다. ---> (github로 이동) Image Segmentation: 이미지를 픽셀 단위의 다양한 segments로 분할하는 것으로 이미지의 모든 픽셀에 라벨을 할당 Semantic Segmentation : 동일한 클래스에 해당하는 픽셀을 같은 색으로 칠하기 Instance Segmentation : 동일한 클래스여도 다른 사물의 픽셀이면 다른 색으로 칠하기 Yolact는 Instance Segmentation 문제를 real-time으로 해결하는 모델 그동안의 Instance Segmentation은 Object Detection에 병렬적으로 모델을 추가하여 발..