일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 유니티
- Flutter
- docker
- Houdini
- Unity
- dart 언어
- gitlab
- C언어 포인터
- 깃
- Algorithm
- C# delegate
- Python
- 다트 언어
- github
- 포인터
- 구조체
- jupyter lab
- 플러터
- jupyter
- c# 추상 클래스
- 도커
- c#
- c# 윈폼
- C++
- c# winform
- vim
- HTML
- git
- c언어
- Data Structure
- Today
- Total
목록분류 전체보기 (507)
nomad-programmer
Docker 홈페이지에 나와 있는 방법으로 CentOS7 에 설치를 진행하였다. 그리고는 도커 데몬을 실행하려 systemctl start docker 명령을 내렸다... 그런데 'centos failed to start docker.service unit not found' 라는 오류가 발생하며 실행이 되지 않았다. 구글링으로 갖은 방법을 통해 시도한 끝에 온전하게 설치 및 실행이되는 방법을 찾아 블로그에 정리한다. 1. 만약 도커가 설치되어 있다면 우선 지워준다. # yum remove docker-ce-cli containerd.io 2. curl을 통하여 설치한다. 이 방법말고 원래는 도커 홈페이지에 나와있는 yum 설치를 하였는데 오류가 발생하였다. # curl -sSL https://get.d..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bMPpnI/btqNCyiUL5K/oaEX922gj0M92OLMF7StX0/img.png)
Linux는 Docker를 설치하면 서버의 물리 NIC가 docker0 이라는 가상 브릿지 네트워크로 연결된다. 이 docker0 은 Docker를 실행시킨 후에 디폴트로 만들어진다. Docker 컨테이너가 실행되면 컨테이너에 172.17.0.0/16이라는 서브넷 마스크를 가진 프라이빗 IP 주소가 eth0으로 자동으로 할당된다. 이 가상 NIC는 OSI 참조 모델의 레이어 2인 가상 네트워크 인터페이스로, 페어인 NIC와 터널링 통신을 한다. 가상 NIC (vethxxx)는 컨테이너에서는 eth0으로 보인다. Docker 컨테이너와 외부 네트워크가 통신을 할 때는 가상 브릿지 docker0과 호스트 OS의 물리 NIC에서 패킷을 전송하는 장치가 필요하다. Docker에서는 NAPT 기능을 사용하여 연결..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBMrZE/btqNF9o4ISG/Bg9LlwFeJnaY0RCR8czftK/img.png)
Docker에서는 물리 머신 상의 자원을 여러 컨테이너가 공유하며 작동한다. 이때 Linux 커널의 기능인 'control groups(cgroups)' 기능을 사용하여 자원의 할당 등을 관리한다. Linux에서는 프로그램을 프로세스로서 실행한다. 프로세스는 하나 이상의 스레드 모음으로 움직인다. cgroups는 프로세스와 스레드를 그룹화하여, 그 그룹 안에 존재하는 프로세스와 스레드에 대한 관리를 수행하기 위한 기능이다. 예를 들어 호스트 OS의 CPU나 메로리와 같은 자원에 대해 그룹별로 제한을 둘 수 있다. cgroups로 컨테이너 안의 프로세스에 대해 자원을 제한함으로써 예를 들면 어떤 컨테이너가 호스트 OS의 자원을 모두 사용해 버려서 동일한 호스트 OS 상에서 가동되는 다른 컨테이너에 영향을 ..
Docker는 컨테이너라는 독립된 환경을 만들고, 그 컨테이너를 구획하하여 애플리케이션의 실행 환경을 만든다. 이 컨테이너를 구획하는 기술은 Linux 커널의 namespace라는 기능을 사용하고 있다. namespace는 한글로 '이름공간' 이라고 하는데, 이름공간이란 한 덩어리의 데이터에 이름을 붙여 분할함으로써 충돌 가능성을 줄이고, 쉽게 참조할 수 있게 하는 개념이다. 이름과 연결된 실체는 그 이름이 어떤 이름공간에 속해 있는지 고유하게 정해진다. 그래서 이름공간이 다르면 동일한 이름이라도 다른 실체로 처리된다. Linux 커널의 namespace 기능은 Linux의 오브젝트에 이름을 붙임으로써 다음과 같은 6개의 독립된 환경을 구축할 수 있다. PID namespace PID란 Linux에서 각..
Docker는 몇 개의 컴포넌트로 구성되어 있다. 핵심 기능이 되는 Docker Engine을 중심으로 컴포넌트를 조합하여 애플리케이션 실행 환경을 구축한다. Docker는 명령줄에서 조작하는 것(CLI)이 중심이다. Docker Engine (Docker의 핵심 기능) Docker 이미지를 생성하고 컨테이너를 기동시키기 위한 Docker의 핵심 기능이다. Docker 명령의 실행이나 Dockerfile에 의한 이미지도 생성한다. Docker Registry (이미지 공개 및 공유) 컨테이너의 바탕이 되는 Docker 이미지를 공개 및 공유하기 위한 레지스트리 기능이다. Docker의 공식 레지스트리 서비스인 Docker Hub도 이 Docker Registry 를 사용하고 있다. Docker Compo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uJEq4/btqNx94I9dY/ZE7aQ4AaJPK3W11KtCigFk/img.png)
웹 시스템 개발 시 애플리케이션을 제품 환경에서 가동시키기 위해서는 다음과 같은 요소가 필요하다. 애플리케이션의 실행 모듈 (프로그램 본체) 미들웨어나 라이브러리군 OS/네트워크 등과 같은 인프라 환경 설정 폭포형 개발로 애플리케이션을 개발할 때는 위의 그림과 같은 흐름으로 개발을 진행한다. 개발 환경이나 테스트 환경에서는 올바르게 작동해도 스테이징 환경에서나 제품 환경으로 전개하면 정상적으로 작동하지 않는 경우도 있다. 스테이징 환경이란 지속적 딜리버리가 일어나는 시스템 개발에서 개발한 애플리케이션을 제품 환경에 전개하기 직전에 확인하는 테스트 환경을 말한다. Docker에서는 이러한 인프라 환경을 컨테이너로 관리한다. 애플리케이션의 실행에 필요한 모든 파일 및 디렉토리들을 컨테이너로서 모아버리는 것이..
카메라 트래킹 알고리즘을 이용하여 다각도의 여러 사진을 3D 메쉬 모델로 변환하는 Open-Source가 있다. 이것은 "Alice Vision" 이다. github.com/alicevision/AliceVision alicevision/AliceVision Photogrammetric Computer Vision Framework. Contribute to alicevision/AliceVision development by creating an account on GitHub. github.com alicevision.org/ AliceVision | Photogrammetric Computer Vision Framework alicevision.org www.sidefx.com/tutorials/a..
AdoptOpenJDK adoptopenjdk.net/ AdoptOpenJDK AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX. adoptopenjdk.net providers a Debian / Ubuntu repository medium.com/adoptopenjdk/adoptopenjdk-rpm-and-deb-files-7003ba38144e AdoptOpenJDK — RPM and DEB files You asked..
flutter doctor --android-licenses 명령을 실행하면 NoClassDefFoundError가 나와서 실행이 되질 않았다. 그 이유는 Java9 이상의 버전을 사용해서 그런것이다. 이러한 에러를 보지 않으려면 Java8 버전을 사용해야 한다. 아래 링크는 이런 에러가 왜 나오는지에 대한 다른 블로거의 설명이다. www.slipp.net/wiki/pages/viewpage.action?pageId=41583579 1.a. Flutter 설치 중 안드로이드 라이센스 관련 오류 해결방법 - SLiPP 스터디 - SLiPP::위키 flutter를 설치하면서 에러가 여러 번 일어났는데 구글링을 해도 잘 나오지 않는 버그가 있어서 여기에 공유합니다. 이 버그는 안드로이드 라이센스를 허용해주면서..
macOS도 Microsoft사의 Visual Studio Community 통합 개발 툴을 사용할 수 있다. 아래의 링크를 통해 다운로드 받을 수 있다. visualstudio.microsoft.com/ko/vs/mac/ Mac IDE - Mac OS에서 앱과 게임 개발 | Visual Studio Mac용 Visual Studio 2019 .NET을 사용하여 iOS 및 Android용 앱과 게임을 개발하세요. Mac용 Visual Studio를 다운로드하세요. 커뮤니티. Mac에서 .NET과 C#을 사용하여 확장성 있고 성능이 뛰어난 앱을 만들고 배 visualstudio.microsoft.com mac에서 unity를 작업하면서 C#에디터로 visual studio를 사용할 수 있다. 그리고 나는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cMYS4P/btqNkfpezaD/qd2K1wsUJAFA3xCYk9wfE0/img.png)
컨테이너란 호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것이다. 호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용한다. 컨테이너는 오버헤드가 적기 때문에 가볍고 고속으로 작동한다는 것이 특징이다. 오버헤드란? 가상화를 수행하기 위해 필요한 CPU 자원, 디스크 용량, 메모리 사용량 등을 말한다. 도커는 아래와 같은 구조를 사용하고 있다. 보통 물리 서버 상에 설치한 호스트 OS의 경우 하나의 OS 상에서 움직이는 여러 애플리케이션은 똑같은 시스템 리소스를 사용한다. 이때 작동하는 여러 애플리케이션은 데이터를 저장하는 디렉토리를 공유하고,..
시스템이 릴리즈되면 인프라 운용 관리 업무가 시작된다. 시스템을 안정적으로 가동시키기위해 시스템 관리자는 시스템이 어떤 상태로 가동되고 있는지를 감시할 필요가 있다. 일반적인 시스템에서 이러한 감시는 시스템 감시 툴로 수행한다. 시스템 감시 툴이란 시스템의 감시 대상인 서버나 장비의 상태를 감시하여 미리 설정한 경계 값을 초과한 경우에 정해진 액션을 실행하는 것이다. Zabbix (자빅스) : 오픈 소스 Zabbix SIA가 개발한 통한 운용 관리 툴이다. 다양한 서버의 상태를 감시 및 추적하기 위한 오픈소스 소프트웨어이다. 수집한 데이터를 저장하기 위해 MySQL, PostgreSQL, Oracle Database, DB2 등을 이용한다. www.zabbix.com/ Zabbix - The Enterp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/q53Sc/btqM4yRaDJD/K2gi4kQ6GZ6uYiJAH5pTN1/img.png)
Docker는 컨테이너 기술을 사용하여 애플리케이션의 실행 환경을 구축 및 운용하기 위한 플랫폼이다. 애플리케이션의 실행에 필요한 것을 하나로 모아, Docker 이미지를 관리함으로써 애플리케이션의 이식성을 높일 수 있다. Docker는 2013년 3월 Docker, Inc (구 dotCloud)에서 출시한 오픈 소스 컨테이너 프로젝트이다. 2010년을 넘어서면서 서버 시장은 급속히 클라우드 환경으로 옮겨갔다. 이렇게 되다 보니 물리적인 서버를 구입하기보다는 사용 요금만 내고 가상 서버를 빌려 쓰게 되었다. 특히 물리적인 서버를 구축하려면 서버 구입과 설치에 상당한 시간일 걸린다. 하지만, 클라우드 환경에서는 1대가 되었든, 1,000대가 되었든 클릭 몇 번 만으로 가상 서버를 만들어낼 수 있게 되었다...
후디니 라이선스 관련 문서 www.sidefx.com/docs/houdini/ref/utils/sesinetd.html sesinetd This is a great tool to monitor your peak license usage by product type which can be used for license planning. In a given interval (minute, hour, or day) the peak usage and optionally the user data can be monitored to a log file that can be exported to di www.sidefx.com www.sidefx.com/faq/question/the-license-administra..
아이콘 및 배경 www.pngwing.com/ko PNGWing - 독점적 인 PNG 이미지 PNG 형식의 투명 이미지, 무료 및 무제한 다운로드 WhatsApp 응용 프로그램 소프트웨어 메시지 아이콘, Whatsapp 로고, Whats App 로고, 로고, 잔디, 핸드폰 png 1000x1000px 348.81KB 로고 아이콘, Instagram 로고, In www.pngwing.com 개발도구 사이트 wepplication.github.io/tools/ 온라인 도구 모음 회원가입이 필요없는 온라인 도구 모음 wepplication.github.io 더미 문자열 & 더미 이미지 picsum.photos/ Lorem Picsum Lorem Ipsum... but for photos picsum.photos
Provider 라이브러리 4.1.0 이상의 버전에서는 더욱 간편하고 적은 비용으로 Provider를 사용할 수 있다. 이것은 최근 Dart 언어의 업데이트로 인하여 Provider 라이브러리도 업데이트가 된 사항이다. Provider 코드가 상당히 많이 줄어들어 인상적인 업데이트다. 먼저 Dart 언어의 업데이트 내역을 살펴본 후 Provider를 살펴보도록 하자. Dart dart extension은 다른 패키지 클래스에 속성과 메서드를 추가할 수 있다. 다음의 예를 보자. // 열거형을 비롯해 다른 모든 클래스를 확장할 수 있다. enum Connectivity { connected, disconnected, searching } // 열거형에 메서드를 확장하였다. extension on Conne..
FiraCode는 코딩할 때 코드의 가독성을 높여주는 폰트이다. 사용해보면 안다. 가독성이 너무 좋은 것을... 설치 방법은 아래의 링크를 보면 자세히 나와 있다. github.com/tonsky/FiraCode/wiki/Installing tonsky/FiraCode Free monospaced font with programming ligatures. Contribute to tonsky/FiraCode development by creating an account on GitHub. github.com
로컬 디바이스에 많은 데이터를 저장하고 쿼리를 요청해야 한다면, 로컬 파일이나 키-값 저장소 대신 데이터베이스를 사용하는 것이 좋다. 일반적으로 데이터베이스는 다른 로컬 솔루션보다 더 빠른 쓰기, 수정, 읽기 성능을 제공한다. Flutter 앱은 sqflite 플러그인을 통해 SQLite 데이터베이스를 사용할 수 있다. sqflite dart INTEGER int REAL num TEXT String BLOB Uint8List import 'package:flutter/material.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; void main() async { // runApp()이 없기때문에 에러 발생한..
isolate는 다른 언어에서의 thread 개념이라도 생각면된다. Flutter는 main isolate에서 앱이 실행된다. 그런데 비싼 비용의 데이터를 불러올때면 툭툭 끊기는 애니메이션을 야기할 수 있다. 이렇게 툭툭 끊기는 애니메이션을 "jank"라고 부른다. 허나 isolate를 사용하면 jank가 없는 애니메이션을 볼 수 있을뿐더러 성능도 올라간다. flutter-ko.dev/docs/cookbook/networking/background-parsing 백그라운드에서 JSON 파싱하기 기본적으로, Dart 앱은 모든 작업을 단일 스레드에서 수행합니다. 대부분의 경우 이러한 모델은코딩을 단순화시키며, 앱 성능이 떨어지거나 jank라고 불리는 뚝뚝 끊기는 애니메이션을 야기하지 flutter-ko.d..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rYXKO/btqLzYvVC4u/xyWW5kVBaVttkq09RVBFN1/img.png)
pub.dev에 그래프 라이브러리가 많다. 하지만 입맛에 맞는 그래프 라이브러리가 없는 경우에는 직접 그래프를 만들어줘야 한다. 이럴때 사용하는 것이 CustomPaint & CustomPainter 이다. 커스텀 페인터는 직접 UI를 그릴때 사용한다. 기존의 UI로 만들기 어려운 화면을 만들고 싶을 때 유용하다. 직접 UI를 그리기위해서는 CustomPaint와 CustomPainter 클래스가 있어야 한다. CustomPaint : Center 위젯이나 Container 위젯같은 것이다. 즉, CustomPainter클래스를 담는 그릇이다. 이 클래스는 painter 속성을 가지고 있으므로 이것을 활용해 화면을 그릴 수 있다. CustomPainter : canvas, paint, size 등을 통해..