회사에서 php 언어를 사용중인데, 프로젝트별로 7.0, 7.4, 8.0, 8.4 등 버전을 다양하게 사용하고 있는데요.scoop이라는 툴을 이용해 php 버전을 바꿔가며 운용할 수 있는거 같습니다.php 버전 관리윈도우 패키지 매니저 scoop설치powershell 열기명령어 입력# 환경변수 지정 (경로 지정)$env:SCOOP='C:\Scoop'[Environment]::SetEnvironmentVariable('Scoop', $env:SCOOP, 'User')# scoop 설치Set-ExecutionPolicy RemoteSigned -Scope CurrentUserInvoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression# 패키지 버젼별 관리..
이미지 빌드는 잘 되는데 컨테이너 실행 시 ENTRYPOINT 를 찾을 수 없다는 오류가 발생하는데요.당장 급하니 원인을 찾다가 git clone 으로 가져오지 않고 깃허브에서 걍 다운받아서 사용했었는데 원인을 찾았습니다.원인 자체는 mac에서 세팅한 파일을 윈도우에서 git으로 clone 받거나 pull 받아 사용 시 git config에 설정된대로 개행문자를 윈도우에 맞게 crlf로 변환해주게되는데요.도커를 git으로 받아왔다면 해당 리포지토리에서 아래명령어를 입력해줍니다/git config core.autocrlf inputgit을 커밋할때만 lf로 변환하고, 체크아웃할때는 변경하지 않도록 설정해주고요.git rm --cached -r .git reset --hard저장소를 재설정합니다.이러면 해결..
저는 도커에서 컨테이너 구성해서 쓰고 있는데요.종종 주기적으로 작업을 실행해야할 때가 있습니다.수기로 돌려도 되지만 까먹을때도 있고 급한 작업이 있으면 못돌릴때가 있어서 주기적으로 알아서 돌아가게 sh파일을 만들어 보려합니다.#!/bin/shif [ $# -lt 2 ]; then echo "사용법: $0 '명령어' 주기(초)" echo "예시: $0 'php myscript.php' 600" exit 1fiCMD="$1"INTERVAL="$2"while truedo eval "$CMD" now=$(date +%s) sleep_sec=$((INTERVAL - now % INTERVAL)) if [ $sleep_sec -gt 0 ]; then sleep $sleep_sec else ..
한줄로 element안에 표기하고싶은데, 안이쁘게 줄바꿈되거나 whitesapce를 nowrap으로 주면 가로길이가 늘어나더라고요.그래서 그냥 글씨 크기를 줄여서 넣으려고 합니다./** * canvasAPI를 이용해서 특정 폰트/사이즈로 문자열을 그려서 실제 렌더링 된 가로 픽셀을 계산 * * @param text {string} 길이 구할 텍스트 * @param fontFamily {string} 폰트 * @param fontSize {number} 폰트 사이즈 * @returns {number} */function getTextWidth(text, fontFamily, fontSize) { // canvas에 폰트 지정해서 글씨를 적고 const canvas = getTextWid..
윈도우에서 종종 IP를 수동 설정 해야 하는 일이 종종 더러 있는데요.근데 이게 수동 설정 시에 아이피며 서브넷마스크며 게이트웨이며 DNS서버며 귀찮게 일일히 설정해줘야해서 좀 귀찮은 면이 있어서 batch로 만들어 봤습니다.일단 이더넷 이름을 저장할 config.ini 파일을 만듭니다.그런데 저장하려면 이더넷 이름을 알아야겠죠.netsh interface show interface인터페이스 이름으로 config.ini 파일을 작성해줍니다.ETHNAME=이더넷주의할 점이 있는데요.config.ini 파일은 ANSI 인코딩 형태로 저장해야 합니다.UTF-8로 저장하면 한글이 깨져서 bat에서 읽지 못하는거 같더라고요.이제 아이피를 변경해줄 bat파일을 작성해봅시다.@echo off>nul 2>&1 "%SY..
SELECT table_schema AS database_name, table_name, CASE WHEN data_length 테이블에는 실제데이터뿐 아니라 인덱스를 설정해둔 경우 인덱스에 대한 데이터도 저장하게 되는데요.information_schema는 데이터베이스, 테이블, 인덱스, 컬럼 등의 DB 객체 정보를 가지고 있는 메타 데이터베이스입니다.그 중 tables 테이블은 각 데이터베이스의 테이블 목록과 속성 등을 저장하고 있는데요.이를 이용해 데이터베이스, 테이블별 데이터, 인덱스 등의 용량을 구할 수 있습니다.주의할 점은 이 데이터가 실제 물리적 데이터베이스의 정보가 아니고 sql 엔진에서 관리하는 논리 데이터이기 때문에 해당 테이블의 데이터를 임의로 수정 시에 문제가 발..
PHP Array 함수 요약 정리PHP에서 자주 사용하는 배열 함수array_column()다차원 배열에서 특정 컬럼(키)의 값을 모아 새로운 배열로 반환특정 컬럼이 없는 경우 빈 배열 반환$data = [ ['id' => 1, 'name' => 'Alice'], ['id' => 2, 'name' => 'Bob']];$result = array_column($data, 'name'); // ['Alice', 'Bob']array_map()배열의 각 요소에 콜백함수를 실행해 새로운 배열로 반환.js의 Array.map()과 동일$nums = [1, 2, 3];$result = array_map(fn($n) => $n * 2, $nums); // [2, 4, 6]$result = array_map(fun..
1. flutter 공식 홈페이지(링크)에서 get started 클릭.2. macOS 선택 후 원하는 타겟 선택저는 IOS 선택했습니다.밑으로 내려보니 여기서 설치하지 않고 vscode에서 다운로드 할 수 있더라구요? vscode에서 extension -> flutter 입력 후 설치해줍니다.이런... install 하니 밑에 다운로드 하라는 팝업 같은게 떠서 다운로드를 눌렀더니폴더에 설치가 되었습니다..일단 홈디렉토리로 옮겼구요.echo 'export PATH=$HOME/flutter/bin:$PATH' >> ~/.zshrc && source ~/.zshrcpath를 추가해줍니다. 그러고 flutter doctor 명령어를 입력하면 추가로 뭘 설치해야하는지 나오는데요.저는 xcode를 설치하다 말았다..
서비스 개발 시 회원가입 등을 통해 이메일 유효성 검사를 진행하게 되는데요.간단하게 정규표현식으로 이메일 형식이 맞는지 검사할 수 있죠.그런데 정규표현식으로는 이게 실제로 존재하는 이메일인지, 그냥 대충 abcd@efgh.kr 처럼 형식만 맞춘 더미 데이터인지 알 수 없습니다. 그래서 사용자가 입력한 메일 주소가 실제로 존재하는 메일주소인지 체크하는 함수를 만들어봤습니다. /** * @param string $email * @return bool */function validateEmailViaSMTP(string $email):bool { // 이메일 형식 유효성 검증 if(preg_match_all('/^([a-zA-Z0-9+-\_.]+)@([a-zA-Z0-9-]+\.[a-zA-Z0-9-...
vi capaAlarm.sh저는 웹개발자라서 서버를 주로 웹서버를 띄우거나 DB를 띄울 때 사용하는데요.로그가 쌓이거나 파일이 업로드되거나, DB 데이터가 많이 쌓이는 등 서버에 저장공간이 부족해지게 될 수 있습니다. 서버에 저장공간이 100%가 되면 대부분의 기능이 멈춘다고 보시면 됩니다.전 회사에 있을 때 그런 경우를 본적이 있는데... 서버에 공간이 없으니 로그를 작성하는 웹서버며 데몬이며 멈춰버리는 등.. 위험하더라고요. 그래서 서버 용량이 차기 전에 미리 알려주는 알람을 만들까 합니다. 먼저 저는 개인용으로 굴리는 서버가 있는데, 파티션을 따로 나눠놓지 않아서 / 에 사용량이 90%가 넘으면 텔레그램으로 메시지를 발송하도록 작성 했습니다. vi capaAlarm.sh#!/bin/bash# 텔레그..
- Total
- Today
- Yesterday
- screenshot
- Windows
- 아이피
- RHEL
- MobaXterm
- cocoapods
- sphinxsearch
- 유효성검사
- sh
- GIT
- Rocky
- alpine
- shellscript
- debounce
- 0308010c
- Canvas
- MAC
- SCOOP
- Throttle
- docker
- Linux
- javascript
- React
- 정규식
- php
- sftp
- nodeJS
- flutter
- alram
- cron
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 |
