ARCHIVE ONLINE
ENTRIES 97
LAST UPDATE 2023.07.02
↗ RSS

mixedlog

기록과 생각을 느슨하게 모아둔 곳

기록과 생각을, 조용히 그리고 느슨하게 모아둔 곳.

JOURNAL · NOTES · ARCHIVE

2021년

  • 에디슨모터스 홈페이지에 대한 간단한 의견

    에디슨 모터스라고 전기버스 회사가 있다. 서울에서 버스를 기다리다 보면 평소에는 못 보던 마크를 달고 다니는 버스가 간간히 있는데 이 회사에서 만든 것이라고 한다.

    검색해본 김에 홈페이지에 들어가 봤는데 21년 말 기준으로 쌍용차 인수때문에 바쁜건지 아니면 홈페이지에 관심이 없는 건지 관리가 안되고 있다.

    작은 해상도에서 레이아웃이 깨져 나간다.

    우선 SSL인증서가 없는 것과 반응형 디자인은 그렇다 치고 차량 정보로 넘어가 보자.

    가서 보면 알겠지만 아래쪽의 제원과 맞지않는 토크

    출력 표시들이 한 가지 단위로 통일되어 있지 않고 차량 정보 마다 다른 단위가 쓰여져 있다.

    여러가지를 하나씩 눌러봤는데 협력사 SCM의 경우 오류가 뜨고 있다.

    서버아이피는 숨겨놓아야 한다.
    그리고 지원종료된건 마이그레이션 하거나 보안관리를 잘 하거나 해야한다.

    오류는 해결하시길 바라며, 투자자들 입장에서 에디슨 모터스를 못 미더워 하는게 기술력과 의지는 있다고 홍보는 많이하는 것에 비해서 허술한 것들이 있다.

    이런 사소한 것들에서 의심 들게 하는 게 에디슨 모터스에도 결코 좋은일은 아닐것이다.

    기업 소개 페이지가 따로 있는 것도 아니고 전문투자자에게는 자료를 직접 주겠지만 소액주주입장에서는 조금 아쉽기도 하다. 아래 사진은 IT업체라 그런지 매우 깔끔한 홈페이지의 전형을 보여준다.

    에디슨 모터스도 4차 산업혁명의 물결에 타고 가는 업종이면 조금 더 IT쪽에 관심을 가져야 하지 않을까?

    깔끔한 NHN의 회사 홈페이지

    몇가지 덧붙이자면 아마 그룹 웨어랑 협력사SCM,그리고 원격지원이 별개의 시스템으로 돌리고 있는 것 같은데 통합 시스템 업체 찾아서 이용하게 하는 게 좋아보인다.

    차량 소개 페이지와 회사 홈페이지는 분리하고 회사 홈페이지는 조금 더 신뢰가 가게 만들어야 할 것 같다.

    솔직히 이 회사는 쌍용차 인수 의지를 내보이기 이전부터 관심 있게 보고 있던 회사여서 그런지 많이 아쉽다.

    보통 회사 홈페이지가 관리가 안되는 회사는 망할 회사거나 아니면 관리할 시간도 없이 바쁜 회사라는데 나는 후자라고 믿고 싶다.

  • 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 서비스들을 추가해줍니다.

    완료!

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