[카테고리:] 창작

  •  code-server를 이용해서 개발환경 만들기(2)

    단순히 VS code를 사용하고 git에서 파일을 받아오는 건 가능했지만 웹서버를 실행시키는 데는 런타임이 필요하다.

    저번에 사용했던 이미지가 아닌 다른 이미지를 찾아보았다.

    node.js는 https://github.com/Leask/code-server-nodejs

    .net은 https://hub.docker.com/r/martinussuherman/alpine-code-server-dotnet/ 에서 받으면 된다.


    굳이 개발환경을 나스에서 돌려야 하나 하는 생각이 든다. 보안이 중요한게 아닌 프로젝트인 경우 repl.it 에서 만드는게 더 편할것 같다.

  • code-server를 이용해서 개발환경 만들기

    https://registry.hub.docker.com/r/linuxserver/code-server/

    비주얼스튜디오 코드를 도커 이미지로 제공해 주는 곳을 알았다.

    일단 시놀로지 NAS에서 검색해서 이미지를 받고 컨테이너로 세팅

    포트설정은 외부포트 설정만 해두면 외부에서도 접근이 가능하다.

    보통 NAS의 경우 주소를 걸어놓은 경우가 많아서 공유기에서 포트포워딩만 해주면 되는것 같다.

    환경변수에서 PASSWORD : [원하는 암호]로 설정해주면 로그인이 가능하다

    암호를 입력하고 로그인을 하면

    자주 보던 화면이 나온다.

    이제 git과 연동시켜보자.

    F1을 누르고 git:clone을 입력하면 git 로그인 창이 나오고 로그인을 하면 평소 작업하던 것들을 불러올 수 있다.

  • Radzen에서 CRUD에 add 버튼이 안 생기는 경우

    무작정 데이터 베이스를 연결하고 CRUD페이지를 만들어보면 다음과 같이 생성이 된다.

    add 버튼이 없다

    데이터베이스 보는 건 가능하지만 CRUD 기능이 작동하지 않는다.

    https://forum.radzen.com/t/crud-issues/963 에 따르면 데이터 베이스에 기본키가 없기 때문에 읽기전용 페이지가 만들어졌다고 한다.

    따라서 기본키를 지정해 주어야 한다. 아래는 DBeaver 에서 기본기(primary key)를 지정하는 곳이다. 테이블에서 constraints 탭으로 들어가서 지정해주면 된다.

    기본키를 지정해 준 후 이제 다시 CRUD페이지를 만들어 보면 다음과 같이 정상적으로 만들어진다.

    해결!

  • Radzen으로 빠르게 웹페이지 만들기

    일단 radzen을 설치하고 새로 만들기를 하면 다음과 같은 화면이 나온다. 일단 오른쪽 위에 있는 data를 눌러 데이터 베이스를 연결해준다.

    연결하기 전에 데이터베이스 관리 툴인 DBever로 데이터베이스를 만들고 유저도 생성해준다.

    bash에서 mysql -u root -p 를 친 후에 sql문을 입력해도 되지만 이쪽이 훨씬 편한 것 같다.

    데이터베이스를 만들고 유저를 만들었으면 radzen에서 관련 정보를 입력해준다.

    만들면서 테이블(스키마)도 만들어서 저장해두면 radzen에서 불러올때 뜨게된다.

    기본적인 로그인 스키마와 CRUD할 것들을 만들어 두면 편하다.

    새로운 페이지를 만들고 툴박스에 있는 것들을 어두운 부분에 끌어서 넣으면

    로그인 페이지

    https://www.radzen.com/documentation/blazor/login/ 에서 로그인 이벤트 핸들러 걸거나 하면 된다.

  • 시놀로지 도커에서 마리아DB 컨테이너 생성

    도커에서 마리아DB 이미지를 받아 바로 실행하면 로그에

    2021-12-18 11:21:50+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
    	You need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD

    라는 메세지가 뜨면서 종료된다.

    로그에서 보다시피 MARIADB_ROOT_PASSWORD에 비밀번호를 설정하거나 MARIADB_ALLOW_EMPTY_ROOT_PASSWORD 를 입력해 비밀번호가 없어도 실행되게 만들어 주어야한다.

    바꾸면서 TZ을 Asia/Seoul로 바꿔주면 좋다.

    데이터베이스의 내용물을 다른 폴더로 설정하면 나중에 버전을 변경하기 쉽다.

    따로 폴더를 설정하기 위한 경로는 다음과 같다.

    /etc/mysql/conf.d = 설정 파일 폴더

    /var/lib/mysql = 데이터베이스 폴더

    /var/log/maria = 로그 파일 폴더

    mysql폴더 안에 conf.d 폴더를 만들고 그냥 mysql로 설정폴더를 지정했다.

    일단 이렇게만 세팅해 두면 시놀로지 도커에서 마리아DB가 실행된다.

    외부 망에서는 따로 포트를 찾아서 연결하면 되고 같은 도커 내에서는 localhost:3306(기본포트)로 연결하면 된다.

  • Blazor에서 Radzen Blazor Components 사용하기

    nuget 패키지에서 Radzen.blazor를 설치합니다.

    _Imports.razor 파일에

    @using Radzen

    @using Radzen.Blazor

    를 추가합니다.

    server-side Blazor면 _Host.cshtml , 클라이언트 client-side WebAssembly Blazor면 wwwroot/index.html 파일을 연 후

    <link rel=”stylesheet” href=”_content/Radzen.Blazor/css/default-base.css”>

    를 추가합니다. 만약 부트스트랩이 포함된 버전을 사용하고 싶다면

    <link rel=”stylesheet” href=”_content/Radzen.Blazor/css/default.css”>

    를 입력해 줍니다.

    관련된 자바스크립트를 사용하기 위해서

    <script src=”_content/Radzen.Blazor/Radzen.Blazor.js”></script>

    를 입력해 줍니다.

    테스트를 해봅니다.

    잘 적용되었습니다.

    Dialog, Notification, ContextMenu and Tooltip components를 사용하기 위해서는 추가해줄것들이 남아있습니다.

    Shared/MainLayout.razor 파일을 열어준 후

    <RadzenDialog/><RadzenNotification/><RadzenContextMenu/><RadzenTooltip/>

    를 입력해 줍니다.

    server-side Blazor면 Startup.cs , 클라이언트 client-side WebAssembly Blazor면 Program.cs파일을 연 후

    DialogService, NotificationService, ContextMenuService, TooltipService 서비스들을 추가해줍니다.

    완료!

    다양한 컴포넌트를 사용할 수 있습니다.

  • BLENDER 2.83 – FACE SETS

    Topology에 있는 Elizabeth Gibson님의 핀 | 3d 캐릭터, Zbrush 강좌, 애니메이션 캐릭터

    블랜더에서 얼굴을 만들떄 사용하는 기능중 하나인 face sets 입니다.

    이 명칭은 폴리곤의 면인 face와 얼굴의 face의 언어유희인것 같은 느낌입니다. 얼굴만들때 자주 쓰게 되게 되더라구요.

    face topology는 얼굴의 표정등을 표현하기 위해 필요한데, 블랜더 2.83에서는 새로운 기능으로 조금 더 이러한 것을 하기 쉬워졌습니다.

    얼굴 표정이 바꿀때 얼굴 모양의 같은 색으로 칠해진 부분은 다른 부분을 침범하지 않는다.

    블랜더에서 face sets를 사용하려면 sculpt탭으로 이동해야 합니다. 보통은 dyntopo로 모양을 만들고 그 후에 retopology를 하는데 그때 매우 유용하게 사용됩니다.

    draw face sets 버튼을 누르고 클릭을 하면 색상을 칠할수 있는데 클릭을 할때마다 새로운 색상이 칠해집니다.

    한번에 드래그해서 칠하면 좋겠지만 그렇지못하겠으면 한번 칠해준 색상위에 커서를 올리고 ctrl 버튼과 드래그를 해주면 같은색상으로 이어서 칠할수 있습니다.

    다 칠해준 다음 shift키를 누르고 문질러 주면 좀 더 매끈한 경계를 얻을수 있습니다.

    얼굴 뿐만 아니라 위의 영상과 같이 몸통에도 사용할 수 있습니다. 참고로 저건 pose brush에요.

  • Blender add-on 개인저장용

    Blender_Add-on_Manager

    애드온 매니저-애드온을 검색하고 설치하기 쉽게 만들어주는 프로그램


    Mesh: F2

    f를 두번눌러 면을 만들어 준다

    rigify

    기본 뼈대를 만들어준다.

    bsurface

    리토폴로지를 쉽게 해준다.

    Material Library VX

    재질을 빠르게 설정

    screencast key

    내가 누르는 키를 화면에 띄워준다.

  • Blender 2.8 선택취소 단축키 및 변경점

     블렌더2.7을 사용하던 사람은 이제 블렌더2.8에서 선택하는 방법이 많이 바뀌었다는 사실을 알게 될것입니다.

    처음 설정에서 당신은 select key를 left 또는 right로 바꿀 수 있습니다.

    또한 (B) + drag로 선택하던 box selection은 기본으로 적용되어 버튼을 누르지 않은 상태에서 곧바로 마우스 드래그로 바뀌었습니다.

    기본적인 선택인 점선면과 다중선택(ctrl),연장선택(shift)는 유지되었습니다.

    선택취소(de-select) 단축키

    가장 크게 바뀌었다고 생각하는 것은 선택 취소입니다.

    블렌더 2.7까지는 A를 이용해 선택을 취소 했지만 새로운 버전인 2.8에서는 A대신 (alt) + A를 사용합니다.

    3D 커서

    2.7에서는 클릭으로 3D 커서의 위치를 변경할 수 있었습니다. 원래 3D커서 버튼(mouse1)는 메뉴 불러오기로 바뀌고 3D커서는 왼쪽 기본메뉴로 이동했습니다.

    메뉴 불러오기 

    2.7버전에서는 스페이스바(space bar)를 사용했지만 2.8에서는 마우스 버튼중 선택이 아닌 버튼(mouse1)을 사용합니다. 

  • HTTPS차단과 느려진 인터넷 속도

    며칠 전부터 인터넷이 느려졌다는 느낌이 들었습니다. 특히 HTTPS로 시작되는 주소로 들어갔을 때 그런 느낌을 매우 많이 받았습니다. 블로그에다가 글을 쓰려는데 갑자기 로딩속도가 한없이 느려지길래 ‘아 요새 인터넷 상태가 좀 안 좋구나’라고 생각하다가 그 원인을 알게 되었습니다.

    저작권보호냐, 기본권 침해냐… 도마 오른 ‘https’ 차단

    저작권 보호를 위해 https로 시작되는 저작권 침해 사이트들에 대해서 도메인 네임 분석을 해서 그렇다고 합니다. 그런데 제 블로그는 왜 느려진 걸까요?
    오늘 도메인네임 서버 주소를 확인하니 전에 바꾸어놨던 1.1.1.1 에서 기본 도메인네임서버로 바뀌어져 있었습니다. 제 주소는 클라우드플레어를 써서 1.1.1.1이 가장 빠릅니다. 아마 클라우드플레어를 이용한 다른 사이트에 접속할 때 역시 도메인 네임 서버를 1.1.1.1로 사용했을때 빠른 인터넷을 즐길 수 있을 거라 생각합니다.
    저작권 관련해서는 세계화가 진행되면서, 지금보다는 위반업체를 잡아내는게 더 쉬워질 거라 생각합니다. 국가간 서로서로 저작권에 대한 인식이 늘어나고, 협상을 통해 자국의 저작권을 위반하는 타국 인터넷 페이지와 타국의 저작권을 위반하는 자국의 인터넷 페이지를 교환해서 폐쇄할 것입니다.
    개인적으로 이번 조치의 경우, 개인적인 입장에서 저작권 보호의 효과를 봤다기 보다는 그냥 인터넷이 느려진것 같아서 좋게 평가하지는 못하겠습니다.