Laravel Pint (vendor/bin/pint) 설명Laravel Pint는 Laravel에서 공식적으로 제공하는 자동 코드 포매터(Auto Code Formatter) 입니다.PHP 코드 스타일을 자동으로 정리해주며, Laravel 및 PHP 커뮤니티에서 널리 사용되는 PSR-12 및 Laravel 코드 스타일을 준수합니다.Pint는 Laravel 팀에서 개발한 PHP 코드 스타일 교정 도구로, PHP-CS-Fixer를 기반으로 만들어졌습니다.기능 및 목적PHP 코드의 스타일을 자동으로 수정하여 일관된 코딩 스타일을 유지하도록 도와줍니다.PSR-12 및 Laravel 코딩 스타일 규칙을 기반으로 코드를 정리합니다.들여쓰기, 공백, 괄호, 배열 구문 등 코드의 형식을 일관되게 정리합니다.설정이 간..
에러발생..npm error could not determine executable to run npm error A complete log of this run can be found in: /Users/xxx/.npm/_logs/xxx-xx-17T05_26_44_563Z-debug-0.log tailwindcss 추가하고npm install -D tailwindcss postcss autoprefixer 초기화 진행시..npx tailwindcss init -p 다음과 같은 에러가 발생한다.npm error could not determine executable to runnpm error A complete log of this run can be found in: /Users/xxx/.npm/_l..
Ubuntu에서 Docker 에 open-webui 올리기docker run -d \ --network=host \ -v open-webui:/app/backend/data \ -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \ -e PORT=4000 \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main --network=host의 의미:포트 바인딩 불필요기본적으로 Docker 컨테이너는 내부 포트를 호스트의 포트에 매핑해야 한다(-p 옵션 사용).하지만 --network=host를 사용하면, 컨테이너의 모든 네트워크 요청이 호스트의 네트워크와 동일한 환경에서 실행되므로 포트 매핑이 ..
리버스 프록시 (Reverse Proxy)란?리버스 프록시는 클라이언트(사용자)와 서버(백엔드) 사이에서 요청을 중계하는 서버를 말하는데 사용자가 웹사이트에 접속하면, 리버스 프록시가 먼저 요청을 받고 내부 서버로 전달한 뒤, 응답을 받아 다시 사용자에게 전달하는 방식을 말함.보통 Nginx, Apache, HAProxy 같은 소프트웨어가 리버스 프록시 역할을 수행함. 시나리오 1 ::1. 사용자가 www.naver.com 를 요청한다고 가정함.2. DNS 서버가 네이버 서버가 모여있는 데이타 센터로 보내 버림.3. 데이타 센터에서 제일 먼저 맞이하는 서버가 리버스 프록시 서버임.4. www.naver.com 의 웹서버 내부 IP가 192.168.1.100 인 경우 사용자의 요청을 이쪽으로 보내 버..
Node 에서는 함수의 종류별 또는 기능별로 별도 파일에 작성해서 필요한 기능을 불러와 사용할 수 있도록 만들었졌다. Node 는 NPM 을 이용해서 필요한 패키지를 설치할 수 있다.이러한 패키지는 필요한 기능을 모듈별로 만들어서 관리한다. 그럼 어떻게 작성하고 불러올 수 있을까 ?기본형식다음과 같은 함수를 만들었고 파일명을 math.js 로 저장했다. function add(a, b) { return a + b;}console.log(add(1,2));$ node math.js>>3잘 실행된다. 불러오기어떻게 불러올 수 있을까? 다음과 같다. 기본형식이다. 작성법module.exports = 함수명(); 불러오기require(파일명); // math.jsmodule.exports = function ..
PostCSS는 CSS를 변환하는 JavaScript 기반의 도구로, 플러그인 시스템을 통해 CSS를 처리하고 변형할 수 있도록 설계된 빌드 도구입니다. 단순한 CSS 전처리기가 아니라, 플러그인 기반의 유연한 CSS 처리 엔진이라는 점이 큰 특징입니다. PostCSS는 기본적으로 CSS를 읽고 변환한 후 다시 출력하는 엔진이며, 다양한 플러그인을 조합하여 기능을 확장할 수 있습니다. PostCSS 주요 기능1. 자동 접두사 추가 (Autoprefixer)/* 입력 */.foo { display: flex;}/* 출력 (Autoprefixer 적용) */.foo { display: -webkit-flex; display: -ms-flexbox; display: flex;}Autoprefixer ..
/src ├── /composables │ ├── useCommon.js │ ├── useExtra.js │ ├── useUser.js │ ├── useProduct.js ├── /components │ ├── MyComponent.vue {{ message }} 인사하기 작별 인사 사용자: {{ userName }} 이름 변경 상품 목록 {{ product.name }} 상품 추가 같은 이름의 함수 처리방법 (충돌방지)1. 이름 변경 // 별칭을 사용하여 함수 이름 변경 const { greet: commonGreet } = useCommon(); const { greet: ..
🔥 Vue 2에서는 Mixins 사용이 유용하지만, Vue 3에서는 Composition API (setup())를 추천! ✅ Mixins 장점✔ 여러 컴포넌트에서 동일한 기능을 쉽게 재사용 가능✔ 라이프사이클 훅, 데이터, 메서드까지 포함 가능 ❌ Mixins 단점✔ 데이터 및 메서드 충돌 가능 (우선순위 문제 발생)✔ 코드의 출처가 명확하지 않아 유지보수 어려움✔ Vue 3에서는 Composition API가 더 선호됨 Mixins는 Vue.js에서 코드의 재사용성을 높이기 위해 사용되는 기능이다. 여러 컴포넌트에서 공통적으로 사용되는 로직(예: 데이터, 메서드, 라이프사이클 훅 등)을 하나의 mixin 파일로 정의하고, 이를 필요한 컴포넌트에서 mixins 옵션을 통해 포함할 수 있다. 공통 ..
기본형태function MyForm() { const [name, setName] = useState(""); const handleSubmit = (event) => { event.preventDefault(); alert(`The name you entered was: ${name}`) } return ( Enter your name: setName(e.target.value)} /> )} 멀티 데이타 처리function MyForm() { const [inputs, setInputs] = useState({}); const handleChange = (event) => { const name = e..
map() 배열은..map 으로 loop 를 돈다. { cars.map( (car) => ) }
1. if () {} 2. &&{ cars.length && { cars.length } } 3. condition ? A : B (참이면 A, 거짓이면 B)
React Components 는 항상 HTML 문서를 반환한다. 이때 JSX 문서 형식을 이용한다. 클릭과 같은 이벤트와 CSS 도 같이 넣을 수 있다. 하나의 완성된 HTML 문서라고 생각하면 된다. 이제 레고에서 하나의 블록을 만들었다고 생각하자. 원하는 모양의 html 문서를 조합하면 된다. 조합된 html 문서는 보였다 안보였다 하면서 화면을 변경한다. React 에서도 JavaScript 와 비슷하게 적용한다. JavaScript Eventonclick="shoot()" React EventonClick={shoot}
시나리오 1. useState를 통해서 변수에 값을 저장하고 변경할 수 있었다. 2. 변수가 언제 변경되는지 알 수 있을까?3. 이때 필요한 것이 useEffect 이다. 4. 변수가 변경될 때마다 useEffect 는 동작한다. (fetch, timer 에서도 감지한다.) 변화에 대한 감지를 다음과 같이 구분할 수 있다. 1. 모든 변화에 대해서 감지2. 특정 변수에 대해서만 감지3. 처음 한번만 감지 사용형식useEffect(, ) # 모든 변화에 대해서 감지함.import { useState, useEffect } from "react";const [count, setCount] = useState(0);useEffect(()=>{ console.log('감지');}); setCount(count..
설정 파일 열기sudo vi /etc/ssh/sshd_config Port 22 주석 제거 및 수정Include /etc/ssh/sshd_config.d/*.conf#Port 22#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress :: 서비스 다시 시작sudo service ssh restart 방화벽 추가sudo ufw deny 22sudo ufw allow 1234

개발PC에서 이메일 인증을 통한 회원가입시 메일 발송과 회원가입 링크를 확인해 보기 위해서 간단한 smpt 서비스 제공 https://mailpit.axllent.org/ Mailpit - email & SMTP testing toolMailpit - email & SMTP testing tool with API for developers Mailpit is a small, fast, low memory, zero-dependency, multi-platform email testing tool & API for developers. It acts as an SMTP server, provides a modern web interface to view & test captured emmailpit.ax..
도커 컨테이너 내부에서 호스트 머신 서비스에 접근해야 할때 이 옵션은 Docker 컨테이너 내부에서 호스트 머신에 접근할 수 있게 해주는 중요한 네트워킹 설정입니다.1. `host.docker.internal`은 Docker가 제공하는 특별한 DNS 이름으로, 컨테이너에서 호스트 머신을 참조할 때 사용됩니다.2. `host-gateway`는 호스트 머신의 게이트웨이 IP 주소를 자동으로 할당합니다.실제 사용 예시:- 컨테이너 내부에서 실행되는 애플리케이션이 호스트 머신에서 실행 중인 다른 서비스(예: 데이터베이스)에 접근해야 할 때- 호스트에서 실행되는 API나 서비스를 컨테이너 내부에서 호출해야 할 때이 설정이 없다면, 컨테이너는 기본적으로 격리된 환경이기 때문에 호스트 머신의 서비스에 접근하기 어려..

DeepSeek 를 로컬에 다운받아서 구동해보기 필수요구사항- Ollama- deepseek-r1- docker- openwebui 1. Ollama 다운로드https://ollama.com/ 에 접속 ollama 프로그램 다운로드 후 설치 2. deepseek-r1 를 다운받는다.https://ollama.com/search 터미널 창에서 자신의 컴퓨터 사양에 맞는 모델 크기를 터미널에서 다운로드 받는다.ollama run deepseek-r13. docker 에서 openwebui 컨테이너를 실행시킨다.docker run -d \ --name openwebui \ -p 8080:8080 \ -v open-webui:/app/backend/data \ --restart always \ ..
원하는 아이디에 모든 권한 부여하기docker-compose exec mysql bashmysql -u root -pGRANT ALL PRIVILEGES ON *.* TO 'custom_user'@'%';FLUSH PRIVILEGES; 코드 설명docker-compose exec mysql bashDocker Compose로 실행 중인 서비스 중 'mysql' 컨테이너에 bash 셸로 접속하는 명령어입니다.mysql -u root -pMySQL 서버에 root 사용자로 접속하는 명령어입니다.-p 옵션을 사용하면 비밀번호를 입력하라는 프롬프트가 나타납니다.GRANT ALL PRIVILEGES ON *.* TO 'custom_user'@'%';'custom_user' 사용자에게 모든 데이터베이스(첫 번째 *..

들어가기도커를 이용한 라라벨 개발 세팅에 대해서 알아본다. Sail 을 이용해서 Docker 를 이용한 개발 명령어 - Create Laravel curl -s "https://laravel.build/example-app" | bash 참고 링크 : https://laravel.com/docs/11.x/installation#docker-installation-using-sail 기존 라라벨에 Sail 추가하는 방법composer require laravel/sail --devphp artisan sail:install./vendor/bin/sail up vendor/laravel/sail 폴더 GitHub clone1. Docker + Nginx + PHPhttps://github.com/ssh5..
app:delegated는 Docker에서 볼륨을 설정할 때 사용하는 옵션으로, 파일 동기화의 성능을 최적화하기 위한 설정입니다.기본 구조volumes:- .:/var/www/app:delegated.: 로컬 머신의 현재 디렉터리(호스트 경로)를 의미합니다./var/www/app: 컨테이너 내부에서 위 디렉터리를 연결할 경로입니다.:delegated: 볼륨 동기화 전략을 지정하는 옵션입니다.:delegated 옵션의 의미의도: 데이터 동기화의 우선순위를 호스트(로컬 머신)보다 컨테이너 내부의 동작에 두는 설정입니다.주요 특징:컨테이너가 우선: 컨테이너가 데이터를 로컬 머신보다 더 빠르게 읽고 쓸 수 있도록 설계되었습니다.비동기 동기화: 로컬 머신으로의 데이터 업데이트는 비동기로 수행됩니다. 즉, 컨테이너..
라라벨 프로젝트를 다운로드 하기 위해서 composer 를 이용해서 다음과 같이 명령어로 생성한다.composer create-project laravel/laravel myfirstlaravel Composer란? 설치 및 실행하기 위와 같은 명령어를 실행하기 위해서는 composer 가 설치되어 있어야 한다. docker 를 이용하면 composer 설치없이 간단하게 원하는 폴더에 설치할 수 있다. docker-compose.ymlservices: composer: image: composer:latest container_name: laravel_composer volumes: - ./src:/var/www/html w..

Dockerfile 문서를 만들어서 터미널에서 docker build 명령어를 실행하면 이미지가 생성된다. Dockerfile 은 이미지를 생성하는 방법에 대한 기술 문서이다. 이 문서를 실행하는 명령어는 `docker image build` 이다.생성된 이미지는 `docker container run` 명령어를 통해서 실행된다. Dockerfile 기본구조생성하기touch Dockerfile 작성하기FROM node:12.18.4RUN npm install -g http-serverWORKDIR /home/node/appCMD ["http-server", "-p", "8080", "./public"] - RUN: 이미지를 생성하는 과정에서 실행되는 명령어- CMD: 만든 이미지에서 컨테이너가 만들어져 ..
1. 베이스 이미지8.2-fpmDebian 기반 이미지를 사용합니다.일반적으로 다양한 소프트웨어와 라이브러리를 지원하며 더 많은 패키지를 기본적으로 사용할 수 있습니다.8.2-fpm-alpineAlpine Linux 기반 이미지를 사용합니다.Alpine은 경량화를 목표로 설계되었으며, 기본적으로 크기가 매우 작습니다. (약 5MB)2. 이미지 크기8.2-fpm크기가 상대적으로 큽니다. 다양한 기능과 라이브러리가 포함되어 있기 때문입니다.용량: 보통 20MB~50MB 이상.8.2-fpm-alpine크기가 훨씬 작습니다. 불필요한 패키지를 제외하고 최소한의 라이브러리만 포함되어 있습니다.용량: 약 5MB~10MB 정도.3. 사용 목적 및 성능8.2-fpm복잡한 애플리케이션을 개발하거나 많은 종속성을 가진 환..

도커에 Nginx + Laravel 를 실행시키는 가장 기본 형태의 도커 파일에 대해서 알아본다.필수사항1. docker 설치https://docs.docker.com/engine/install/ 2. composer 설치https://getcomposer.org/ 3. docker compose 설치https://docs.docker.com/compose/install/ composer 가 설치되어 있다면 도커홈에서 Docker Desktop 만 설치하면 됨. GitHub 에서 다운로드 하는 경우1. local PC 에서 실행하기git clone https://github.com/ssh521/laravel-nginx-docker.git laravel-nginx-dockercd laravel-ngi..

docker 를 사용하지 않고 Synology 기본 php 버전으로 설치 가능한 라라벨 버전은 8버전이다.$ php -vPHP 8.1.9 (cli) (built: Dec 6 2022 02:51:27) (NTS)Copyright (c) The PHP GroupZend Engine v4.1.9, Copyright (c) Zend Technologies 터미널에서 라라벨 프로젝트를 생성하면composer create-project laravel/laravel example-appCreating a "laravel/laravel" project at "./example-app"Cannot use laravel/laravel's latest version v11.5.1 as it requires php ^8.2..
리눅스 버전을 확인한다.커널정보 확인uname -a리눅스 버전 확인cat /etc/issue리눅스 버전 자세하게cat /etc/*release*리눅스 비트 32bit, 64bit 확인하기getconf LONG_BIT

옵시디언에서 Copilot 플러그인 설치하고 Cursor 처럼 ChatGPT 를 이용해 보자. 자세한 설명은 아래 링크 참조. https://obsidian.yaver.com/Copilot%20for%20Obsidian Copilot for ObsidianObsidian 을 Cursor 처럼 사용하자.obsidian.yaver.com
intervention/image 패키지 설치composer require intervention/image 파일 수정vendor/archtechx/laravel-seo/src/Commands/GenerateFaviconsCommand.php // GD 드라이버 설정 방식 수정$manager = new ImageManager( driver: \Intervention\Image\Drivers\Gd\Driver::class); $this->comment('Generating ico...');$manager ->read($path) ->resize(32, 32) ->save(public_path('favicon.ico')); $this->comment('Generating png...'); $manager -..
폴더 구조를 간편하게 라우터로 변경하는 코드임.Route::get('/test/{foldername}/{filename}', function ($foldername, $filename) { return view('test.' . $foldername . '.' . $filename);})->name('test.dev'); @php$folder = "laravel";$path = $rootPath . "test/" . $folder;$pathname = "test." . $folder;$files = getFileName($path);@endphp@foreach ($files as $file ) {{ $file }} @endforeach

$attrsv-model = "form.name"v-bind="{ ...$attrs, class: null}"modelValue@input="$emit('update:modelValue', $event.target.value)" TextInput.vue (컴포넌트) {{ label }}: {{ error }} {{ $attrs }} Parents.vue (부모 컴포넌트) focus 랜더링 결과 [코드 분석해 보기] v-bind="{ ...$attrs, class: null }" 의 최종 랜더링 코드는{ "class": "pb-8 pr-6 w-full lg:w-1/2", "content": "content" } 이다..

macOS 버전 10.15 '카탈리나' 부터 기본쉘이 bash -> zsh 로 변경됨. 사용중인 쉘 확인하기 echo $SHELL 맥에 설치된 쉘 확인해 보기 cat /etc/shells 더보기 $cat [파일명] // 짧은 파일을 간단하게 훑어보기 # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh 쉘 변경 방법 chsh -s /bin/zsh 확인 which zsh .zshrc 파일 생성하기 touch ~/.zshrc 더보..
npm run build 명령어는 React 애플리케이션을 배포할 준비가 된 최적화된 형태로 빌드합니다. 이 명령어를 실행하면, 프로젝트 디렉토리의 루트에 build라는 폴더가 생성되고, 이 폴더 안에는 애플리케이션을 배포할 수 있는 정적 파일들이 포함됩니다. 다음은 npm run build 명령어가 하는 주요 작업들입니다:npm run build의 주요 작업코드 번들링 (Bundling):Webpack과 같은 번들러를 사용하여 모든 자바스크립트, CSS, 이미지 파일 등을 하나의 파일이나 여러 개의 파일로 결합합니다.코드가 번들링됨으로써 브라우저가 애플리케이션을 로드할 때 필요한 HTTP 요청의 수가 줄어들어 성능이 향상됩니다.코드 압축 (Minification):JavaScript와 CSS 코드를 압..

PHP 프로젝트에 사용되거나 사용되어야 할 라이브러리들을 기록하고 설치할 수 있게 해줌.PHP 버전에 따른 패키지 설치 버전을 자동으로 정리해준다. 컴퓨터에 composer 를 설치하고 터미널에 composer 명령어를 통해서 composer.json에 기록된 내용을 확인하고 패키지를 자동으로 다운로드 한다. 또는 원하는 패키지를 설치하고 설치된 버전을 composer.json 에 기록해 준다. 이러한 일련의 작업은, 버전에 따른 충돌 오류를 없애주고 언제든 기존 작업을 그대로 재현하기 위해서 탄생하였다. 핵심요약 :[명령어 설명] composer init [생성하는 파일 설명]composer.json composer.lock composer require composer remove compos..
1. Synology 서버에 Node.js 설치하기Synology 서버에서는 Node.js를 설치하기 위해 기본 패키지 센터를 이용할 수 있습니다.1. 패키지 센터 열기• DSM에 로그인하고, 메인 메뉴에서 패키지 센터를 엽니다.2. Node.js 설치• 패키지 센터에서 Node.js를 검색합니다.• Node.js 버전을 선택하고 설치를 클릭합니다.• 설치가 완료되면 Node.js가 시스템에 추가됩니다.2. Node.js 버전 관리Synology NAS는 여러 버전의 Node.js를 제공할 수 있습니다. 원하는 버전을 설치하여 사용할 수 있습니다.1. 패키지 센터에서 추가 버전 설치• 패키지 센터에서 다양한 버전의 Node.js를 찾아 설치할 수 있습니다.• 여러 버전을 동시에 설치한 후, 필요한..

Synology 서버에서 WebDAV Server 설치 및 활성화하기 패키지 센터에서 webDAV 를 설치한다. webDAV Server 를 열어서 아래와 같이 https 활성화 포트를 열어준다. 집에 있는 공유기에서 포트 전달이 되도록 설정해야 한다. (구글에서 "공유기 dmz 설정" 검색) Mac > finder(탐색기) > 이동 > 서버에 연결 서버연결 IP 또는 도메인 주소 입력하고 연결, 계정입력하면 finder 에서 확인 할 수 있다. 윈도우 및 기타 자세한 내용확인 https://kb.synology.com/ko-kr/DSM/tutorial/How_to_access_files_on_Synology_NAS_with_WebDAV#x_anchor_id5 WebDAV 를 사용하여 Synology N..

https://chromewebstore.google.com/detail/language-reactor/hoombieeljmmljlkjmnheibnpciblicm?utm_source=ext_app_menu Language Reactor - Chrome 웹 스토어당신이 공부하는 언어로 영화와 드라마를 보면서 자신의 언어실력을 즐겁고 효과적인 방법으로 향상 시키세요.chromewebstore.google.com 유튜브 또는 넷플릭스에서 영어 공부에 필수적인 크롬 확장 프로그램이다. 자막 표시(번역), 반복, 저장 등이 가능하다. 모든 기능을 사용하기 위해서는 로그인 및 구독이 필요하지만 그냥 설치하고 사용해도 훌륭하다. 넘 비싸군.. 단축기 기억하기 A : 이전 자막S : 현재자막 반복D : 다음 자..

Synology에서 VPN Server 를 설치해서 이용해 보자. 해외에 나가면 해외접속으로 차단되는 경우가 있는데 이때 이용하면 좋다. 또는 더 고급스럽게 Synology 를 직접 탐색기에서 이용할 수 있도록 만들 수도 있다. (WebDAV Server 로도 연결가능하다.) 아이폰에서 VPN 을 연결하는 방법을 알아보자. "안드로이드에서는 L2TP/IPSec PSK 로 설정해서 연결하면 된다." Synology VPN Server 세팅하기1. 패키지 센터에서 VPN Server 설치하기 2. VPN Server 세팅하기 L2TP/IPSec 서버 활성화 하기화면에 보이는데로 세팅. 사전 공유 키 설정하기 (계정 비밀번호와는 다른 공유키로 따로 만들어 둠. 최대 연결 수, 계정 연결 수는 각자 원하는 설정..

Web Station 은 시놀로지에서 제공하는 웹서버이다. Synology DSM 7.2 이상 버전에서 만들수 있는 웹사이트 형식은 2가지 이다. 웹 서비스 포털기본 서버의 대체 포털 우선 기본 서버의 대체 포털은 어떤 의미인지 알아보자. 기본 서버의 대체 포털 기본 서버의 의미는Synology IP 또는 서버에 설정된 도메인, 또는 DDNS 에서 세팅한 도메인으로 들어오는 기본 Web 요청을 처리하는곳을 의미한다.즉 80 port 또는 443 port 또는 특정 포트 지정 포털 유형 :이름 기반 -> 도메인 입력포트 기반 -> 포트 입력 중요한 사항은 Web Station 패키지를 설치하면, File Station 에 /web 폴더가 기본으로 생성된다. 여기가 기본 서버의 root 폴더이다.이곳에 in..

vscode 에서 FTP 를 이용해서 직접 서버에 연결해서 업로드 또는 파일 수정을 할 수 있다. 1. 설치하기 https://marketplace.visualstudio.com/items?itemName=ruakr.ftp-kr ftp-kr - Visual Studio Marketplace Extension for Visual Studio Code - FTP/SFTP Sync Extension marketplace.visualstudio.com 2. 연결설정 cmd + shift + P (명령어창 열기) ftp-kr:Init 입력 { "host": "", "username": "", "password": "", "remotePath": "", "protocol": "ftp", "port": 21, "fi..

Synology에 Docker를 설치한다. Docker 패키지를 설치하다. Docker에 Nginx 컨테이너를 추가한다. 도커 어플을 실행한 후 레지스트리에서 nginx 이미지 파일을 다운로드 한다. 이미지탭에서 다운로드된 이미지를 선택한 후 실행을 클릭해서 컨테이너를 추가한다. 컨테이너 생성창에서 컨테이너 이름을 넣고 다음을 클릭한다. 기본 세팅된 값으로 적용을 클릭하면 컨테이너가 생성된다. Nginx 컨테이너 세팅하기 Nginx1 컨테이너가 실행중인 모습니다. >> 오른쪽 스위치를 off 시킨 상태에서만 편집이 가능하다. 편집화면 > 일반설정 화면 컨테이너 안에 있는 폴더와 외부폴더(Synology폴더)와 마운트 시키기 1. Synology > docker 폴더에 nginx1 폴더 생성하기 2. 아래..

Container Manager 에서 생성한 컨테이너가 무한 반복 되면서 동작도 안되고 삭제도 되지 않을때? Synology 서버에 터미널 접속을 통해서 강제로 삭제해야 한다. ssh 계정명@서버주소 -p 포트번호 어드민 계정으로 도커 컨테이너 리스트를 확인한다.sudo docker ps 삭제를 원하는 Container ID 를 rm 명령어로 삭제한다.sudo docker rm c6a13ccf1eca Container Manager 에서 삭제되었는지 확인해 본다.

내장 아파치 서버macOS 에는 기본적으로 내장 아파치 웹서버가 설치되어 있다. 버전확인apachectl -v 내장 아파치 실행sudo apachectl start브라우저에서 localhost 로 접속해 본다. 폴더확인cd /Library/WebServer/Documents Homebrew 를 이용한 아파치 웹서버 설치내장 아파치의 실행 종료 및 자동 로드 스크립트 제거sudo apachectl stopsudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null 설치하기brew install httpd 실행 및 중지brew services start httpdbrew services stop httpdbr..
php 개발하기

WebStation 4.0 으로 업데이트 되었습니다. 2023.09.25 - [Synology 시놀로지] - 시놀로지 웹서버 구축하기 - Synology Web Station Ver 4.0 (변경된 내용) 시놀로지 웹서버 구축하기 - Synology Web Station Ver 4.0 (변경된 내용) 2023.5.22일에 Ver3.0 -> Ver4.0 으로 업데이트 되면서 그동안 아쉬워던 내용이 대폭 강화되었다. https://www.synology.com/en-af/releaseNote/WebStation Synology Inc. 스마트하고 직관적인 비디오 감시 새로운 BC500 및 TC digitalogia.tistory.com 패키지 센터에서 Web Station 을 설치합니다. 편집에 들어가서 다..

Laravel Document 참고 : https://laravel.com/docs/11.x/installation#docker-installation-using-sail 로컬PC 에서 라라벨을 개발하기 위해서는 그냥 Herd 를 사용하면 가장 간편하다. 라라벨에서는 Sail 를 이용하면 간편하게 Docker에 세팅을 자동으로 해준다. Herd 가 나오기전에는 이걸로 많이 했다. 물론 지금도 사용하고 있지만.. docker-compose.yml 파일 있어야 함.터미널에서 ./vendor/bin/sail up./vendor/bin/sail artisan migrate명령어만 입력하고http://localhost 접속하면 됨.준비사항 - Docker DeskTop 설치하기 Laravel 다운로드curl..
// 페이지 언로드 시 스크롤 위치를 저장 window.addEventListener('beforeunload', function() { localStorage.setItem('scrollPosition', window.scrollY); }); // 페이지 로드 시 스크롤 위치를 복원 window.addEventListener('load', function() { if (localStorage.getItem('scrollPosition') !== null) { window.scrollTo(0, localStorage.getItem('scrollPosition')); localStorage.removeItem('scrol..

맥에서 mkv 확장자 영상을 플레이어 하기 위해서는 별도의 플레이어가 필요하다. 추천하는 프로그램은 Elmedia Player 다. https://apps.apple.com/kr/app/elmedia-universal-video-player/id937759555?mt=12 Elmedia:universal video playerElmedia Player는MP4, AVI, MOV, SWF, DAT, MKV, MP3, FLAC, M4V, FLV를 비롯한 어떠한 형식의 비디오 혹은 오디오파일도 재생할 수 있는 미디어 플레이어입니다. 추가적인 코덱과 플러그인이 필요하지 않습니apps.apple.com 대부분의 영상을 플레이어 할 수 있다. Elmedia Video Player 는 출력하는 오디오 기기를 선택..

Python은 패키지 센터를 통해서 설치할 수 있지만, PIP 는 별도로 설치해줘야 한다. 터미널 SSH 연결을 통해서.. PIP 설치하기 sudo python3 -m ensurepip PIP 업데이트 sudo python3 -m pip install --upgrade pip PIP 버전화인 python3 -m pip -V 패키지 설치하기 sudo python3 -m pip install XYZ

2023.5.22일에 Ver3.0 -> Ver4.0 으로 업데이트 되면서 그동안 아쉬워던 내용이 대폭 강화되었다. https://www.synology.com/en-af/releaseNote/WebStation Synology Inc. 스마트하고 직관적인 비디오 감시 새로운 BC500 및 TC500 IP 카메라를 확인하십시오. 자세한 정보 www.synology.com DSM7.2 이상에서 사용 가능 - 웹 컨테이너 서비스 가능 (PHP, Python and Node.js) - 타사 웹 컨테이너 제공 (WordPress, MediaWiki, Joomla, Plex, and phpMyAdmin) - PHP Composer 제공 - 로그기록 Synology 웹 서버에서 composer 를 이용한 php 패키..

https://github.com/elvirbrk/NoteHighlight2016 GitHub - elvirbrk/NoteHighlight2016: Source code syntax highlighting for OneNote 2016 and OneNote for O365 . NoteHighlight 2013 Source code syntax highlighting for OneNote 2016 and OneNote for O365 . NoteHighlight 2013 port for OneNote 2016 (32-bit and 64-bit) - GitHub - elvirbrk/NoteHighlight2016: Source code syntax highli... github.com 원노트에서 소스코드 입..

터미널에서 다음과 같이 명령을 실행하면 mkdir Test cd Test dotnet new console code . Test 폴더에서 VScode 프로그램이 실행된다. [참고] VScode 가 실행이 안되는 경우 아래글 참조 https://digitalogia.tistory.com/37 VScode 에서 터미널창을 연다. 터미널창에 다음과 같이 입력한다. dotnet bulid dotnet run 그럼 "Hello World" 텍스트를 출력해 준다. 이 상태에서 vscode 에서 디버깅 시작을 클릭하면 다음과 같이 에러가 발생한다. .NET Core 선택 (컴파일) 디버그 설정파일을 생성할 수 없다고 나온다. 명령 파렛트에 다음과 같이 입력한다. .NET: Generate Assets for Buil..
1. Node.js 애플리케이션 배포 준비1. 패키지 설치• 애플리케이션에 필요한 모든 패키지를 설치하고 package.json 파일에 기록합니다.npm install --save express2. 환경 설정 파일• 환경 변수와 같은 민감한 정보를 관리하기 위해 .env 파일을 사용합니다.touch .envecho "PORT=3000" >> .env 2. 보안 설정1. SSH 보안• SSH를 통한 원격 접근을 위한 보안 강화를 위해 다음을 설정합니다.• 강력한 비밀번호 사용• 비밀번호 대신 SSH 키 사용• 기본 포트 번호(22) 변경sudo nano /etc/ssh/sshd_config# 포트 번호 변경Port 22222. 방화벽 설정• DSM 제어판(Control Panel) > 보안(Securit..
Synology 서버에서 Python 환경 설정Synology DSM에 로그인합니다.패키지 센터에서 Python을 설치합니다. (Python 3.x 버전 추천)API 키 준비OpenAI의 ChatGPT API를 사용하려면 API 키가 필요합니다. OpenAI 공식 웹사이트에서 API 키를 발급받습니다.Python 가상 환경 설정 (Optional but recommended)SSH를 통해 Synology 서버에 접속합니다.virtualenv를 사용하여 Python 가상 환경을 설정합니다.python3 -m venv myenvsource myenv/bin/activate필요한 라이브러리 설치requests 라이브러리를 설치합니다. 이 라이브러리는 API 요청을 보내는 데 사용됩니다.pip install r..

기본라우터 위 파일은 App\Providers\RouteServiceProvider 에 의해서 자동으로 로드됨. 기본 명령어 php artisan route:list #미들웨어 같이 보기 php artisan route:list -v php artisan route:list --except-vendor php artisan route:list --only-vendor 웹사이트 링크 주소 만들기 /resources/routes/web.php 에서 변경, 추가한다. 1. 직접 파일 연결하기 (redirect 시키기) Route:redirect('Url', '경로 또는 주소')->name('명칭'); Route::redirect('/hello', '/hello.php')->name('hello'); Route..

시놀로지 서버에서 웹서버 (WebStation) 를 운영하면서 최신 PHP 버전과 Laravel 버전을 설치하기 위해서는 시놀로지 서버의 도커 컨테이너를 이용하면 가능하다. 도커 bitnami/laravel 이미지를 다운받아 컨테이너로 세팅하고 웹서버에서 이용하는 방법이다. 아래 순서대로 따라해 보자. 1. 패키지 센터에서 Container Manager 설치하기 2. Container Manager 에서 bitnami/laravel 레지스트리 검색, 다운로드 3. 이미지 실행하기 4. 컨테이너 이름 작성하기 (원하는 이름으로 입력) 5. 컨테이너 고급 설정 6. 컨테이너 볼륨을 Synology 폴더에 매핑시키기 [+ 폴더 추가] 클릭 -> 원하는 폴더를 생성하고 선택하고 /app 를 입력한다. 7. W..

https://ux.stories.pe.kr/144 시놀로지 Docker로 Nodejs 웹서버 설치하고 띄우기 도커에서 Nodejs웹서버를 설치하고 띄우는 일은 간단하면서도 매우 유용한 작업입니다. 시놀로지 도커(Docker)은 주로 GUI로 설치를 진행하게되어 있어서 편리하기는 하나 아직 참고할 만한 자료들 ux.stories.pe.kr

정방향 등록하기 >> 도메인으로 서버IP 찾아가기 생성 > Master 영역 클릭 소유한 도메인이나 구입한 도메인을 도메인 이름에 입력한다. 마스터 DNS 서버에는 Synology 외부IP를 입력한다. 확인을 클릭한 후 저장한다. 저장후 생성된 리스트를 더블클릭하면 생성된 내용을 확인 할 수 있다. 생성된 내용이고 A타입을 하나더 추가했다. 각 항목을 더블클릭하면 내용을 변경할 수 있다. yaver.com | 유형NS | ns1.yaver.com ns1.yaver.com | 유형A | 아이피주소 yaver.com | 유형A | 아이피주소 이렇게 세팅하면 끝난다. 역방향 등록하기 >> IP로 도메인 주소확인하기 리버스도메인(PTR) 등록하기 KT DNS Management Service https://dm..
1. mariadb 정지brew services stop mariadb 2. 삭제brew uninstall mariadb 3. Configuration Files and Databases 삭제rm -rf /usr/local/etc/my.cnfrm -rf /usr/local/etc/my.cnf.drm -rf /usr/local/var/mysql 4. Logs and Cache 삭제rm -rf /usr/local/var/log/mysqlrm -rf /usr/local/var/run/mysql 5. 남아있는 파일 확인 후 삭제find /usr/local -name "*mariadb*" 6. Homebrew 청소brew cleanupbrew doctor 다시 리부팅 후 재설치brew install mariad..
수익 창출이 거부된 이유? 현재 채널에서 수익을 창출하지 않고 있습니다. 채널 수정 후 재신청 하세요..ㅜㅜ 미틴..쉽지 않군. 아래 내용은 유튜브가 보내온 내용이다. YouTube 자동화 시스템과 검토자가 채널을 검토한 결과, 채널이 YouTube 채널 수익 창출 정책 을 준수하지 않는 것으로 확인되었습니다. 검토 결과, 채널에 다음과 같은 문제가 있습니다. 재사용된 콘텐츠 상당한 가치를 더하는 변경 없이 다른 사람의 콘텐츠를 사용하는 채널 수익 창출이 허용되지 않는 경우의 예시. 다른 소셜 미디어 웹사이트에서 가져와 편집한 짧은 동영상 여러 아티스트의 노래 모음(허가를 받은 경우 포함) 설명을 거의 또는 아예 추가하지 않고 편집한 좋아하는 프로그램 속 장면의 클립 다른 크리에이터들이 여러 번 업로드한..

다운로드 : https://www.yes24.com/campaign/00_corp/2019/0930Yesfont.aspx?pid=123487&cosemkid=go16062907468893637&gad_source=1&gclid=Cj0KCQiA35urBhDCARIsAOU7QwlIxoDmwqVIOZ8n8QJVMyVvU-QHniC_nX487tmr_TqPGMSK0HXU4OIaAonmEALw_wcB 예스24 한글날 맞이 예스체 무료 다운로드 안내 다양한 감성을 아우를 수 있는 예스24만의 공간을 표현한 예스체를 지금 만나보세요! www.yes24.com