도커에서 권한 문제로 systemctl 커맨드를 사용할수 없음
privileged 옵션과 /sbin/init 커맨드를 전달해서 해결
docker run -itd --privileged --name centos7 centos:7 /sbin/init
개발노트
도커에서 권한 문제로 systemctl 커맨드를 사용할수 없음
privileged 옵션과 /sbin/init 커맨드를 전달해서 해결
docker run -itd --privileged --name centos7 centos:7 /sbin/init
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
composer를 사용해서 간단하게 autoload를 사용하는 방법
1. monolog 패키지 설치해보기
composer require monolog/monolog
2. 패키지 로드하기
index.php
<?php
include './vendor/autoload.php';
use Monolog\Logger;
$log = new Logger('name');
3. 내 클래스 로드해보기
컴포저 autoload는 psr-4 규칙을 따르고 있기 때문에 클래스 생성시 네임스페이스를 규칙에 맞게 정하고 composer.json 파일에 namespace prefix와 클래스를 정의한 디렉토리를 매핑해주는 설정을 추가한다.
composer.json
{
"require": {
"monolog/monolog": "^2.2"
},
"autoload": {
"psr-4": { // Js 네임페이스 접두사를 lib에 매핑
"Js\\" : "lib/"
}
}
}
/lib/src/Foo.php
<?php
namespace Js\Src;
class Foo{
public function say()
{
return 'hello';
}
}
index.php
<?php
include './vendor/autoload.php';
use Monolog\Logger;
use Js\Src\Foo;
$log = new Logger('name');
$foo = new Foo();
echo $foo->say();
composer dump-autoload
Foo 클래스에서 사용한 Js 네임스페이스 접두사를 lib디렉토리에 매핑해 주었기 때문에 autoload가 실행 될때 자동으로 지정한 경로의 클래스를 로드할 수 있게 된다.
참조
인덱스란
풀스캔
언제쓰면 좋을까
인덱스 칼럼 기준
인덱스 사용방법
CREATRE INDEX 인덱스이름 ON 테이블이름(필드1, 필드2, ...)
ALTER TABLE 테이블이름 DROP INDEX 인덱스이름
SHOW INDEX FROM 테이블 이름
구분 | 설명 |
Table | 테이블 이름 |
Non_unique | 인덱스가 중복된 값을 저장할 수 있으면 1, 저장할 수 없으면 0을 표시함 |
Key_name | 인덱스의 이름을 표시하며, 인덱스가 해당 테이블의 기본 키라면 PRIMARY로 표시함 |
Seq_in_index | 인덱스에서의 해당 필드의 순서를 표시함 |
Column_name | 해당 필드의 이름을 표시함 |
Collation | 기본적인 정렬 형태, A오름 차순, NULL: 정렬구분 없음 |
Cardinality | 인덱스에서 저장된 유일한 값들의 수를 표시함 |
Sub_part | 인덱스 접두어를 표시함 |
Packed | 키가 압축되는 방법을 표시함 |
Null | 해당 필드가 Null을 저장 할 수 있으면 YES, 그렇지 않으면 ”를 표시함 |
Index_type | 인덱스에 사용되는 메소드를 표시함 인덱스 모드(BTREE, FULLTEXT, HASH, RTREE) / FULLTEXT 는 5.7 이상에서 유효 |
Comment | 해당 필드를 설명하는 것이 아닌 인덱스에 관한 정보를 표시함 |
Index_comment | 인덱스에 관란 모든 기타 정보를 표시함 |
유의사항
AND
연산자는 검색 범위를 좁혀주지만 OR
연산자는 비교할 행이 더 늘기 때문에 풀 스캔이 발생할 확률이 높다.참조
https://github.com/jisung87kr/docker-compse_php
php7.4에서 mysqli 오류 발생시
docker-php-ext-install mysqli
docker-php-ext-enable mysqli
apachectl restart
참조링크 :
https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose
rm -r ~/.config/valet
valet install
valet start
https://stackoverflow.com/questions/59601884/laravel-valet-installation-failed
FULLY QUALIFIED CLASS NAME | NAMESPACE PREFIX | BASE DIRECTORY | RESULTING FILE PATH |
\Acme\Log\Writer\File_Writer | Acme\Log\Writer | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
\Aura\Web\Response\Status | Aura\Web | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
\Symfony\Core\Request | Symfony\Core | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
\Zend\Acl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
OpenFailedError: UpgradeError Dexie specification of currently installed DB version is missing
앱삭제 후 재설치 해도 문제 해결이 되지 않음
다시 ~/Library/Application Support으로 가보면 postman 디렉토리가 새로 생성된걸 확인 할수 있음
참고 : https://support.postman.com/hc/en-us/articles/360025359014-How-to-resolve-the-Could-not-open-Postman-error-
brew install mysql 로 설치삭제 후 brew install mysql@5.7 재설치 후 실행시키면 아래와 같이 에러 발생
The server quit without updating PID file (/usr/local/var/mysql/username.pid)
command line tool and library
for transferring data with URLs
지원 프로토콜
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, HTTP/3, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.
기본사용
curl ipconfig.me
자주 사용하는 옵션
short | long | 설명 |
-v | –verbose | 내용을 자세하게 출력한다 |
-X | –request | request method 지정 |
-H | –header | request header 지정 |
-d | –data | 사용자가 HTML 양식을 채우고 제출하는 방식과 동일한 POST 요청의 지정된 데이터를 HTTP 서버로 보냄 |
-o | –output | 지정된 이름으로 파일저장 |
예제보기
#URL
POST /v1/synthesize HTTP/1.1
Host: kakaoi-newtone-openapi.kakao.com
Content-Type: application/xml
Authorization: KakaoAK {rest_api_key}
#REQUEST
curl -v -X POST "https://kakaoi-newtone-openapi.kakao.com/v1/synthesize" \
-H "Content-Type: application/xml" \
-H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" \
-d '<speak>
그는 그렇게 말했습니다.
<voice name="MAN_DIALOG_BRIGHT">잘 지냈어? 나도 잘 지냈어.</voice>
<voice name="WOMAN_DIALOG_BRIGH" speechStyle="SS_ALT_FAST_1">금요일이 좋아요.</voice>
</speak>' > result.mp3
참조
같이보기