분류 전체보기
-
프로젝트/오픈소스 컨트리뷰톤 2022. 10. 3. 10:09
ImageNotFound message typo error when creating session with non-exist image references · Issue #614 · lablup/backend.ai Describe the bug When creating session with non-exist image references, ImageNotFound 404 error is raised. Here, I found ImageNotFound message typo error. 'Unknown' is incorrectly spelled l... github.com ✏️ Issue Contents 존재하지 않는 이미지로 세션을 생성할 때 발생하는 ImageNotFound 에러의 메세지 typo e..
-
프로젝트/오픈소스 컨트리뷰톤 2022. 10. 2. 18:15
Auto-generate and auto-commit news fragment from PR title · Issue #742 · lablup/backend.ai It seems better to describe that you need to git pull after creating the PR instead of to teach how to write news fragments for new developers and external cotnributors. Let's do the followings... github.com ✏️ Issue Content 프로젝트에 새롭게 기여하는 컨트리뷰터들에게 news fragment 작성 방법을 설명하는 번거로움을 덜기 위하여 PR제목을 수정할 경우 towncr..
-
Develop/DevOps 2022. 9. 18. 22:12
🍏 Vargrant란? - OS를 프로비저닝하기 위한 도구로, VM을 생성하고 관리하기 위해 사용한다 - hostname, ip, service등의 환경을 손쉽게 구성하여 시스템을 사용할 수 있다 N개의 worker node를 생성하는 Vagrant file을 작성했다. 주석으로 자세한 설명을 기록하였다. 이제 vagrant up으로 파일을 빌드하면, 다음과 같이 ip를 할당하고, port를 포워딩하며 vm을 생성한다. 나는 N=3으로 3개의 worker node를 생성하였는데, 모두 running 상태로 잘 동작하고 있는 것을 확인할 수 있다. 쉘에서는 vagrant status 명령어로 확인할 수 있고, provider로 설정한 VirtualBox에서도 확인 가능하다. vb.customize(--gr..
-
프로젝트/오픈소스 컨트리뷰톤 2022. 9. 14. 23:32
Add the commit history between releases in the release notes · Issue #691 · lablup/backend.ai Let's append the actual commit history for each release by updating scripts/extract-release-changelog.py. Now we can skip changelogs for specific PRs, but sometimes we may still want to inspect... github.com ✏️ Issue Contents release note(CHANGELOG.md)에 커밋 히스토리 기록을 추가하도록 scripts/extract-release-changelo..
-
프로젝트/오픈소스 컨트리뷰톤 2022. 9. 14. 23:08
Introduce vfolder status · Issue #575 · lablup/backend.ai For storage-proxy operations that takes a long time, such as vfolder clones and deletion, we need to prevent user access in the meanwhile. Let's introduce vfolder status to allow or deny user&#... github.com ✏️ Issue Contents vfolder clone, delete와 같은 storage-proxy operation 작업을 수행할 때, 사용자의 접근을 제어할 수 있도록 vfolder 상태값을 관리하려고 한다. ✏️ Ideation..
-
Programming Language/Python 2022. 2. 27. 17:06
🚀 개요 db에는 여러 종류의 table이 존재한다. 서비스의 business layer에서는 필요에 따라 각 table에 접근하여 query를 수행해야 할 것이다. ORM같은 프레임워크 툴을 사용하지 않고 raw query를 전부 선언하여 사용하는 경우, 이 query들을 어떻게 작성하는게 좋을까? 전부 하나의 class에 method로서 선언하기? create, update등 용도에 따라 분리하기? entity, interface, repository, 각각 layer를 추상화하여 코드를 작성하며 내가 그리고자 했던 파이선 architecture가 어떤 모습이었는지 기록해보려 한다. 📐 SOLID 원칙: 객체지향설계 5원칙 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계에 대한..
-
프로젝트/근무표 생성기: gui 프로그램 설계하기 2022. 2. 26. 20:47
PyQt5는 Qt5 어플리케이션에 대한 파이선용 GUI 프레임워크이다. 🚀 개요 파이선을 위한 GUI 프레임워크로는 PySide, Tkinter 등등.. 이 있는데 PyQt tkinter pip를 이용하여 설치 python의 표준 라이브러리로 간단한 gui 프로그램을 만들때 유용 QtDesigner라는 gui 디자인 툴이 제공, 다양한 widget과 내장 기능 지원 타 gui 프레임워크에 비해 지원되는 widget들이 부족하고, ui를 구성하기 용이하지 않음 처음에 '단순하게 가자'라는 생각으로 tkinter를 사용하다가 중간에 PyQt로 전환하였다. 이유는 1) PyQt가 훨씬 직관적이고 사용하기가 편했고, 2) 레퍼런스가 훨씬 많아서 활용도 측면에서도 편하다고 느꼈기 때문이다. 사실 PyQt가 접근성..
-
Develop/Web & Framework 2022. 2. 6. 23:49
비밀 key를 평문으로 저장하는 플랫폼이 있을까? 없을것이다. 우리는 평문 데이터에 해시 기법을 적용하여 변환된 암호화된 데이터(digest라 부른다)를 사용한다. 해싱 기법은 단방향으로 적용되기 때문에, 복호화가 불가하다. 즉, 서비스에서 사용자의 비밀번호를 암호화하여 DB에 저장한 뒤에는, 관리자조차 raw한 비밀번호를 알 수 없다는 말이 된다! 이렇게 암호화된 데이터를 DB에 저장하면, 무결성이 보장된다는 것이 이론적인 개념이지만... 현실은 그렇지 않다. 복호화가 불가능한 것 뿐, 동일한 문자열에 특정 해싱 알고리즘을 적용하면, 그 digest는 항상 같은 값을 가지게 되지 않겠는가? 즉, 복잡하지 않은 문자열이나 사용자들이 자주 사용하는 문자열의 경우, 손쉽게 해싱을 무력화시킬 수 있는 것이다...