본문 바로가기

분류 전체보기364

Laravel Wave 테마 만들기 Wave는 완전한 테마 지원을 제공하므로, 뷰를 별도의 테마로 분리할 수 있습니다. 이를 통해 사이트의 새로운 버전을 쉽게 생성하고 필요 시 이전 버전으로 되돌릴 수 있습니다. 또한 백엔드 로직과 프론트엔드를 많이 분리하는 데 도움이 됩니다. Create a Theme 테마를 생성하려면 `resources/views/themes` 폴더 안에 새 폴더를 만들어야 합니다. 이 폴더의 이름을 `sample-theme`라고 해봅시다. 그런 다음 이 폴더 안에 `sample-theme.json`이라는 파일을 만들어야 합니다. 다음과 같이 진행할 수 있습니다:1. `resources/views/themes/sample-theme` 폴더 생성.2. `sample-theme` 폴더 안에 `sample-theme.jso.. 2024. 7. 9.
라자루스 LNet 패키지 설치 - MacOS lclnet.pas 파일을 열어 아래의 내용을 추가합니다. {$ifdef LCLQT5}{$i lclgtkeventer.inc} // identical code ;){$endif}{$ifdef LCLCOCOA}{$i lclgtkeventer.inc} // identical code ;){$endif} 2024. 6. 25.
라자루스 HtmlViewer 패키지 설치 - MacOS 맥에서 설치시 폰트 관련 오류가 발생합니다. HtmlGlobals.pas 에 아래의 소스를 추가한 후에 빌드 & 설치하면 됩니다. {$IFDEF DARWIN} FontSerif = ThtString('Times'); FontMono = ThtString('Courier'); FontSans = ThtString('Helvetica'); FontCursive = ThtString('Apple Chancery'); FontHelvet = ThtString('Helvetica');{$ENDIF DARWIN} 2024. 6. 25.
라자루스 Release, Debug IDE 설정 컴파일러 옵션에서 "Edit build modes" 버튼을 클릭한 후, "Create Debug and Release modes" 를 눌러 빌드 모드를 추가해줍니다. 사용하지 않는 Default 모드는 제거해줍니다. 프로젝트 옵션에서 Compiler Options > Custom Options 에서 빌드 모드에 따른 커스텀 옵션을 지정합니다.Release 에서는 -dRELEASE, Debug 에서는 -dDEBUG 를 지정하고, {$IFDEF RELEASE}, {$IFDEF DEBUG} 와 같이 사용합니다.  디버거 설정은 아래와 같이 합니다. RELEASE DEBUG Paths 설정은 아래의 IDE 매크로를 활용하여 작성합니다.$(TargetCPU)$(TargetOS)$(BuildMode)lib/$(Ta.. 2024. 6. 25.
Continue 사용하기 - Jetbrain, ChatGPT, Startcoder2 Continue 플러그인을 설치합니다.  Local models 를 선택한 다음, continue 후 ollama 관련 설정을 선택하지 않고 continue 를 진행합니다.  우하단의 설정 버튼을 클릭합니다.  config.json 을 편집합니다. 먼저, ChatGPT 를 사용하기 위하여 models 항목을 수정합니다.  "models": [ { "title": "GPT-4o", "provider": "openai", "model": "gpt-4o", "apiKey": "[API키]" } ], tabAutocompleteModel 을 지정합니다. 여기서는 ollama 를 사용하여 starcoder2 를 지정하였습니다. "tabAutocompleteMode.. 2024. 6. 17.
Stable Diffusion webui 설치하기 - Rocky Linux 9 현재 Rocky Linux 9 에서 패키지로 설치할 수 있는 python3 버전은 3.9 와 3.11 입니다. 따라서 3.10 은 소스 설치를 하여야합니다.(3.11 버전이 torch 를 지원하지 않는 관계로 3.10을 사용합니다.) sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-develwget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xztar xvf Python-3.10.14.tar.xzcd Python-3.10.14./configure --enable-optimizationssudo make altinstall 여기서 altinstall 을 사용하는 이유는, 시.. 2024. 4. 30.
라자루스 3.2 MacOS 소스 설치 패키지로 라자루스를 설치할 수도 있으나 IDE 재빌드시 문제가 있어 소스를 직접 빌드하여 사용하는 것이 좋습니다. 대신, FPC 와 관련 소스는 라자루스용 패키지를 그대로 사용하면 편리합니다. FPC 버전은 3.2.2 기준입니다. 아래의 명령어를 터미널에서 실행합니다. brew install --cask fpc-laz fpc-src-laz mkdir ~/bin/Lazarus cd ~/bin/Lazarus git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git cd lazarus make clean all LCL_PLATFORM=cocoa CPU_TARGET=aarch64 bigide 빌드가 끝나면, 아래의 명령어를 실행합니다. xattr -drv.. 2024. 4. 20.
ZWO EAF 전동 포커서 규격 Size: 59mm x 52mm x 41mm Moter: Step moter, 35mm diameter, 7.5° step angle Reduction ratio: 120 Power/Data port: USB2.0 port, Type-B Weight: 277g Capacity: 5kg 연결 구성품 도면 2024. 3. 13.
Borg 9858 마이크로 포커서(MMF-1) 구매한 제품에 동봉된 일본어 매뉴얼을 번역한 글입니다. MMF - 1의 사용법 MMF-1은 기어를 전혀 사용하지 않고, 롤러와 베어링의 마찰만으로 드로우 튜브를 전후로 움직이게 하는 방식의 초점 맞추기 장치입니다. 틈이나 백래시가 없으며, 매우 부드러운 초점 조절 감각을 얻기 위해, 아래에 설명된 초점 조절 노브 1&2, 그리고 네 개의 나사(A・B・C・D)의 올바른 사용법을 확인해 주세요. 초점 조절 노브1&2: 1은 감속 장치가 없는 조절 노브로, 아이피스를 교체했을 때 등 빠른 초점 조절이 필요할 때 사용합니다. 2는 1의 1/10의 속도로 드로우 튜브를 전후로 움직이게 하는 감속 장치가 장착되어 있으며, 매우 세밀한 초점 조절이 가능합니다. 항상 1 →2의 순서로 사용함으로써, 빠른 초점 조절 속.. 2024. 3. 13.
Vue 3 Composition API 관련 심화 내용 Vue 3에서 {{ count }} 이 구문은 Vue 3에서 새로운 컴포넌트를 작성할 때 효율적이고 선언적인 방식을 제공합니다. ref() vs toRefs() Vue 3의 Composition API에서 ref()와 toRefs()는 반응형 참조를 다루는 데 사용되지만, 각각 다른 목적과 사용 방식을 가지고 있습니다. ref(): ref() 함수는 주로 기본 타입(문자열, 숫자, 불리언 등) 또는 객체/배열 등을 반응형 데이터로 만들기 위해 사용됩니다. ref()를 사용하여 생성된 참조는 .value 속성을 통해 실제 값을 얻거나 설정합니다. ref()는 단일 값에 대한 반응성을 제공하며, 주로 템플릿에서 직접적으로 사용될 때 유용합니다. 예시: import { ref } from 'vue'; cons.. 2024. 1. 26.
Laravel Inertia - Shared data 공유 데이터 데이터 공유하기 애플리케이션 내의 여러 페이지에서 특정 데이터에 액세스해야 할 때가 있습니다. 예를 들어, 사이트 헤더에 현재 사용자를 표시해야 할 수 있습니다. 전체 애플리케이션에 걸쳐 각 응답에 이 데이터를 수동으로 전달하는 것은 번거롭습니다. 다행히 더 나은 방법이 있습니다: 공유 데이터. Inertia 의 서버 측 어댑터는 모든 요청에 공유 데이터를 사용할 수 있는 방법을 제공합니다. 이는 일반적으로 컨트롤러 외부에서 수행됩니다. 공유 데이터는 컨트롤러에서 제공된 페이지 props와 자동으로 병합됩니다. Laravel 애플리케이션에서는 일반적으로 HandleInertiaRequests 미들웨어를 통해 처리됩니다. 이 미들웨어는 서버 측 어댑터 설치 시 자동으로 설치됩니다. class .. 2024. 1. 18.
Laravel Inertia - Validation 유효성 검증 작동 방식 Inertia에서 서버 측 유효성 검증 오류를 처리하는 방법은 전통적인 XHR 기반 폼과 다릅니다. XHR 기반 폼에서는 422 응답에서 유효성 검증 오류를 캐치하고 폼의 오류 상태를 수동으로 업데이트해야 하지만, Inertia에서는 422 응답을 받지 않습니다. 대신, Inertia는 전통적인 전체 페이지 폼 제출과 매우 유사하게 작동합니다. 아래는 그 방법입니다: 먼저, Inertia를 사용하여 폼을 제출합니다. 서버 측 유효성 검증 오류가 있는 경우, 이러한 오류를 422 JSON 응답으로 반환하지 않습니다. 대신, 유저를 이전에 있던 폼 페이지로 리다이렉트하고 세션에 유효성 검증 오류를 플래시합니다. Laravel과 같은 일부 프레임워크는 이를 자동으로 처리합니다. 다음으로.. 2024. 1. 18.
Laravel Inertia - File uploads 파일 업로드 FormData 변환 파일(중첩된 파일 포함)이 포함된 Inertia 요청을 수행할 때, Inertia는 자동으로 요청 데이터를 FormData 객체로 변환합니다. 이 변환은 XHR을 통해 multipart/form-data 요청을 제출하기 위해 필요합니다. 데이터에 파일이 포함되어 있지 않더라도 요청이 항상 FormData 객체를 사용하도록 하려면 요청을 수행할 때 forceFormData 옵션을 제공하면 됩니다. import { router } from '@inertiajs/vue3' router.post('/users', data, { forceFormData: true, }) FormData 인터페이스에 대한 자세한 정보는 MDN 문서를 참조하세요. 버전 .. 2024. 1. 18.
Laravel Inertia - Forms 폼 폼 제출 전통적인 HTML 폼 제출 방식도 Inertia에서 사용할 수 있지만, 이는 전체 페이지를 새로고침하므로 권장되지 않습니다. 대신 폼 제출을 가로채고 Inertia를 사용하여 요청을 하는 것이 좋습니다. First name: Last name: Email: Submit 위 예제에서 볼 수 있듯이, Inertia를 사용할 때 클라이언트 측에서 폼 응답을 검사할 필요가 일반적으로 없습니다. 대신 서버 측 라우트/컨트롤러는 일반적으로 리다이렉트 응답을 발행합니다. 이 방식을 사용하면 Inertia 폼 제출을 처리하는 것이 전통적인 HTML 폼 제출을 처리하는 것과 매우 유사하게 느껴집니다. class UsersController extends Controller { public function i.. 2024. 1. 18.
Laravel Inertia - Manual visits Manual visits 수동 방문 링크를 생성하는 것 외에도, JavaScript를 통해 프로그래밍 방식으로 Inertia 방문/요청을 수동으로 수행할 수 있습니다. 이는 router.visit() 메소드를 통해 이루어집니다. import { router } from '@inertiajs/vue3' router.visit(url, { method: 'get', data: {}, replace: false, preserveState: false, preserveScroll: false, only: [], headers: {}, errorBag: null, forceFormData: false, onCancelToken: cancelToken => {}, onCancel: ().. 2024. 1. 18.