• profile_image 아래 영상에 있는것을 간단하게 정리 한것입니다.문제는 화폐를 많이 풀어서 생긴 인플레이션에 대한 것입니다. 적당한 화폐를 풀어야 하는데 내 화폐가 아니라는 생각이 있었을까요?MMT 이제는 말이 없겠습니다. (주권 국가는 자국 통화로 부채를 지불할 수 있으므로 기술적으로 파산할 위험이 없다고 봅니다. - 대략 이런뜻)항상 그렇듯이 자신만의 기준으로(규칙으로) 판단을 해야 하는 것입니다.참고할것은 하고 준비해야 할것은 하고 기회도 놓치면 안되는것에…
  • profile_image 현재 전쟁을 보면 러시아가 밀리고 있다고 판단이 되는데 그게 맞느냐?러시아도 그렇게 생각하고 있나? 전쟁과 평화에서 나폴레옹이 60만 대군으로 러시아를 침공하는 그림 하나로 그린 유명한 것이라고 합니다.위에서 까만색 선은 돌아오는것이라고 합니다.40만이 러시아 국경을 넘었다고 하는데 돌아올때는 1만명 정도 였다고 합니다.러시아는 이때는 청야전술을 했고 후퇴만 했다고 합니다. 적의 자원을 소모시키는 것을 했다는 것입니다.이 전술은 역사를 보면 상…
  • profile_image 우리가 언론에서 익히 들은 러시아의 유가 가격상한제에 대해서 제대로 알고 있는가에 대한 영상 입니다.러시아는 왜? 조용할까?아래 그림을 보면 우리가 생각했던것과 확연하게 다른것을 볼 수 있습니다.생각해 보면 인도와 러시아는 다른곳에서 사져오는것보다 전체적인 비용이 저렴하기만 하면 이익 입니다.러시아는 사가는쪽에서 이익이 되면 당연히 살것을 무리해서 싸게 팔 이유는 또 없는 것입니다. 우리는 흔히 인도가 러시아에서 수집하는 것은 20% 정도는 할…
  • profile_image 천리길도 한걸음 이란 오래전 부터 전해오는 말이 있습니다.쉬운일도 못하면서 굉장한 일을 할 수 있을까요?그렇지 않을 것입니다.아래는 동기부여관련 유명한 영상으로서해병대 사령관이 왜? 아침에 일어나 침대부터 정리해야 하는지 알려 줍니다.결론은 쉬운일부터 하나하나씩 해가다 보면 어느새 나도 모르게 다른 사람과 대화를 하다 보면 다름을 느낄 수 있습니다. ● 참고할것실제 심리학적으로도 뭔가 성과를 이루면 나 자신에 대한 자신감이 생기게 됩니다.그리고…
  • profile_image 페이지를 가져오지 못하니 404인가 아니면 서버쪽 설정 문제 이므로 500번때 코드가 나올까?결론은 아래 처럼 502 오류가 발생 합니다.ELB에서 리스너가 없을 경우 서버로 접속해서 데이터를 가져오지 못하는 상황에선 아래와 같은 메시지를 만나게 됩니다.포트지정 설정을 잘못해도 동일 하겠지요. 학술적으로 정리를 해보면 아래와 같이 말을 할 수 있다. HTTP 502 코드는 "Bad Gateway" 오류로 웹 서버가 게이트웨이나 프록시 서버를 통해 다른 서버로부터 유효하지 않거나 부적절한 응답을 받았을 때 발생 하게 되는데 부하분산 서버가 백엔드 서버들을 조정하며 클라이언트의 요청에 응답을 시도할 때 백엔드 서버의 응답이…
  • profile_image https용도로 사용할 수 있는 AWS Cerificate Manager 페이지에서의 인증서 생성하는 것에 대한 것입니다.이곳에선 외부에서 받은 인증서 파일을 올리거나 무료로 인증서를 생성 할 수 있습니다.AWS 무료인증서는 속도가 빠른 장점이 있고 무료이지만 문제는 이것을 다른곳에선 사용하지 못한 다는것입니다.예를 들면 EC2의 웹서버에서 https 용도로 사용하지 못합니다.그럼 EC2에선 외부에서 생성한 인증서를 가져와 사용하던가. 아니면 클라우드프론트에서 http로 접근하여 서비스 하는 방법이 있습니다.http https 혼용하면 실 수 할 수 있기 때문에 외부 인증서 비용들여서 구매한것을 사용하는것을 권장 합니다…
  • profile_image 클라우드 와치 수동으로 내보내기 하려 하는데 아래와 같은 메시지를 보게 되면GetBucketAcl call on the given bucket failed. Please check if CloudWatch Logs has been granted permission to perform this operation."S3 버킷에 대한 GetBucketAcl 호출 실패" 오류는 CloudWatch Logs가 지정된 S3 버킷에 대한 접근 권한이 없음을 의미 하기 때문에 문제를 해결하기 위해서는 S3 버킷 정책을 업데이트하여 CloudWatch Logs 서비스에 필요한 권한을 부여하면 된다.AWS는 설정 해줄 것이 상당히? 많다…
  • profile_image 온프레미스 환경에선 주기적으로 압축하여 보관하거나 복사하거나 해서 관리 후 삭제 하기도 하는데. 오토스케일링 사용으로 EC2가 없어지는 경우 이런 방식이 필요하다. 물론 EFS를 사용하는 방법도 있겠지만 난 그러고 싶지 않다. ● 클라우드와치 Agent를 설치 한다.yum -y install amazon-cloudwatch-agent▷ 아래는 테스트 하기 위한 로그를 2초에 한번 씩 발생 시킨다.while true; do (curl http://localhost; sleep 2); done프라이빗 네트워크라면 아래와 같이 하면 됩니다. www.test.com은 인증서가 있는 가상호스트curl -k --resolve ww…
  • profile_image NAT(Network Address Translation) 게이트웨이 구성으로 VPC(Virtual Private Cloud) 환경에서 프라이빗 서브넷에 있는 인스턴스들이 인터넷이나 AWS의 다른 공개 서비스에 접근할 수 있게 된다. ● NAT 게이트웨이NAT 게이트웨이는 AWS에서 관리하는 서비스로, 높은 가용성과 자동 확장 기능을 제공합니다. NAT 게이트웨이를 사용하면 별도의 관리 없이도 프라이빗 서브넷의 인스턴스가 인터넷에 접근할 수 있게 되는데 방법은 다음과 같다. 아래 EIP는 미리 만들어 놓으면 그것을 선택 할 수 있다.https://ap-northeast-2.console.aws.amazon.com/ec2…
  • profile_image 아마존리눅스2에서 기본적으로 mysql 클라이언트가 없어서 접속을 하지 못하는 문제가 있어서 설치 하는 도중에 발생한 문제를 다음에는 쉽게 해결하기 위해서 적습니다.이게 없으면 덤프받은것 올리지도 못하고 해당 서버에서 디비서버로 접속도 못하네요~● mysql 클라이언트 설치 시도amazon-linux-extras install epel -ywget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmrpm -Uvh mysql80-community-release-el7-3.noarch.rpmyum install mysql-community-client …
  • profile_image S3에서 올린 본인 이외에 제 3자도 읽을 수 있도록 올린 것이 아닌 경우 클라우드 프론트에서만 읽을 수 있는 권한을 주는 방법에 대한 것이다. 프로그램으로 하나 씩 올리면서 권한을 줬으면 문제 되지 않는다.그렇지 않고. 아래 처럼 올린 경우 권한이 없어서 오류가 발생 한다. s3cmd sync /로컬/디렉토리 s3://버킷이름 아래처럼 배포를 생성할때 설정 해도 되고 다 설정한 다음 후에 수정을 해도 됩니다.<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>3RJJB0RE…
  • profile_image AWS 라이트세일은 정해진 사양으로 비용을 지불 하는 방식으로 예상 가능하기 때문에 나름 장점이 있습니다. 대규모 사이트가 아닌 경우 이쪽이 훨씬 유리한 측면이 있습니다. 그런데 이용하다 상위기종으로 업그레이드를 해야 하는 경우가 있는데요. 관리 쪽에 보면 아무리 봐도 업그레이드 관련된 부분은 보이지 않습니다. 방법은 있지만 문제가 없는 것은 아닙니다.즉, 사이트가 약간의 시간 만큼 멈춰야 한다는 것입니다. 그리고 생성 시간이 경우 따라 20분 정도 걸리는 경우도 있습니다. 방법은 대략 이렇습니다.1) 스냅샷을 받습니다.2) 받아진 스냅샷을 이용해서 새로운 인스턴스를 생성이때 상위 기종을 선택 하면 됩니다.
  • profile_image 결론부터 말하면 AWS 서울 리전은 현재 시점에서 '이메일 수신' 서비스를 하고 있지 않다.그렇기  때문에 '수신설정'을 할 수 없다. 반드시 필요하면 가까운 섬 나라(도쿄)를 이용하면 되겠다.정확한 것을 알고 싶으면 아래 주소에서 Email Receiving Endpoints 부분을 보면 서비스를 하고 있는 리전 목록을 볼 수 있으며 더 정확히 확인 하고 싶으면 본인 계정로그인 후 버지니아 또는 도쿄 리전을 선택해서 '이메일 수신' 항목 부분이 있는지 보면 된다. https://docs.aws.amazon.com/general/latest/gr/ses.html 메일 수신은 리눅스에서 센드메일 같은것 설치 해서 사용하는…
  • profile_image SMTP를 이용한 메일은 PHP mail 함수를 통해 발송 시키는 가장 일반적인 방식 입니다.여기선 AWS SDK가 아니라 STMP 설정을 통해서 메일을 발송 시키는데 PHP에서 가장 잘 만들어진 PHPMailer 라이브러리를 이용 합니다.● AWS SMTP 서버 활용 메일 발송 - 파일 첨부와 한글 사용 1) SMTP 설정 -> SMTP 보안 인증 생성 -> user와 password를 생성  2) 구성 -> 자격증명 -> 도메인 인증 , 메일인증     프로덕션 모드 이전일때는 보내고 받는 메일 모두 인증 해야 한다.      3) 한글 사용을 위해선 헤더 부분을 변경해 줘야 한다.   # ht…
  • profile_image AWS SES 사용하게 되면 네임서버를 보통 라우터53을 사용하지만 여기선 리눅스에서 보통 많이 사용되는 BIND 네임서버에 대한 설정이다.▶ BIND의 기본 도메인 존파일 설정에 대해서BIND DNS 설정에서 도메인 이름을 지정할 때, 완전한 도메인 이름(FQDN, Fully Qualified Domain Name)의 끝에 점(.)을 붙이는 것이 맞다.이부분이 많이 실수하는 것중 하나 인데 점(.)이 없다면 상대적인것으로 해석을 하기 때문에 완전히 다른 결과가 나온다.간단히 말하면 도메인이 들어가는 경우는 마지막에 무조건 점(.)을 붙이면 된다. ▶ 도메인 확인된 자격 증명 인증을 위한 zone(존) 파일자신의 존 파…
  • profile_image 무료로 사용하는 RDB DBMS 에서 가장 많이 사용하는 MySQL를 사용하는 오로라 mysql 설정 방법에 대해 정리 한것입니다.오로라 RDS-MySQL 데이터베이스 생성 클라우드 환경에 맞게 AWS에서 변경한 상품이다. 오로라가 아닌 MySQL 상품도 선택을 할 수 있는데 비용을 확인하고 나면 그럴 생각이 없어질 것이다. 그리고 AWS에 맞게 변경된 제품이기 때문에 더 좋다고 볼 수 있다.   ▷ 데이터베이스 생성 방식 선택 표준생성 ▷ 엔진옵션 Aurora (MySQL Compatible) 선택하고 하단 셀렉트박스 버전이 나오는데 특별한 이유가 없다면 최신 버전을 선택한다. ▷ 템플릿 프로덕션 ▷ 설정 DB 클러…
  • profile_image 쓰기 전용 인스턴스를 상위 등급으로 변경하여 성능을 높이고자 할 때 어떻게 해야 하는지에 대한 것입니다.라이더 인스턴스 높은 성능의 인스턴스로 변경하기 먼저 알고 넘어가야 할것은 라이더 인스턴스 변경하면 변경하는 동안 라이더가 없기에 AWS RDS에서는 리더 인스턴스 하나를 라이더로 변경한 후 작업이 진행 됩니다. 그렇기 때문에 모두 같은 성능의 인스턴스면 문제가 되지 않겠지만 만약 다르면 성능이 높은 인스턴스를 '장애조치 우선순위' 값을 변경해 라이더가 될 수 있도록 하는것이 좋습니다. 인스턴스 변경 방법 '인스턴스 구성'에서 원하는것으로 선택 한다. 다음 변경하면 언제 할것인지 물어 보고 바로 해도 되면…
  • profile_image 제목은 이렇게 달아 달었지만 먼저 AWS 오로라에서는 MySQL DBMS 구조에서 흔하게 볼 수 있는 마스터 슬레이브 구조가 아닙니다.생성한 다음 아래 명령을 내려 보면 다른 방법을 사용함을 알 수 있습니다.   mysql> show master status \G  Empty set (0.00 sec)  mysql> show slave status \G   Empty set, 1 warning (0.00 sec)  mysql> show slave status;  Empty set, 1 warning (0.01 sec)  오로라 RDS-MySQL 리더-라이더 변경 방법 라이더 인스턴스: 읽기/쓰기 리더 인…
  • profile_image AWS Elasticache는 Amazon Web Services(AWS)에서 제공하는 완전 관리형 인메모리 데이터 스토어 및 캐시 서비스입니다. 이 서비스는 레디스와 Memcached를 지원하며, 이를 통해 고성능, 스케일링 가능한 및 비용 효율적인 인메모리 캐시 솔루션을 제공합니다.  Redis는 RDB가 아닙니다.RDB에서 IO를 줄이거나 슬로우쿼리가 약간 있거나 많은 게시물이 있을때 키 밸류의 인메모리 디비를 사용하면 잇점이 있기 때문에 사용하는 데이터 베이스 입니다.AWS 엘라스틱캐쉬 REDIS 레디스(Redis)에 대해 설명하자면, Redis는 고성능의 분산 저장 시스템으로서 키-값 구조의 데이터를 메모리에 …
  • profile_image 오로라 클러스터 사용시 인스턴스를 추가, 삭제 하는 PHP SDK 예제 입니다.비교적 간단한 형태 이며 AWS 키는 본인의 환경에 맞게 변경 하면 됩니다.use Aws\Rds\RdsClient;class PabburiAws {  function profile() {    $aAwsConfig     = [      'region'      => AWS_REGION,      'version'     =>'latest',      'credentials' => [ 'key' => AWS_ACCESS_KEY_ID, 'secret' => AWS_SECRET_ACCESS_KEY ]    ];    r…
  • profile_image 현재 AWS의 오토스케일링 현황을 볼 수 있는 SDK 입니다.필요에 따라서 문제가 있을것으로 추정 되면 종료 시켜서 자동으로 새로 생성 되게 할 수 있습니다. 원하는용량 - 이것은 한번에 생성 시킬 인스턴스를 말합니다. 보통 1을 지정하기도 하는데 이보다는 부하가 있기 때문에 생성 시키는 것으로 최소 2이상을 주는 것이 더 좋겠습니다.아래 클래스는 오토스케일링 PHP SDK 현황 확인을 하는 것이며 아래쪽에 있는것은 종료 시키는 것입니다.  class AwsAutoScaling  {    private $client;    function __construct( $aAwsProfile ) {      $client   …
  • profile_image 원격의 서버에 업그레이드를 해야 하는데 1대씩 들어가서 관리하는 방법도 있겠고 오토스케일링에 의해서 EC2가 자동으로 생성된것도 있고 할때 전체 서버에 명령을 내리기 위한 관리 프로그램입니다. AWS SSM(Systems Manager) IP로 접속하는 방식이 아닌 EC2 인스턴스ID를 이용해서 접속을 하는 방식입니다. 접속하게 되면 유저는 ssm-user로 표시되며 sudo -i 명령으로 root 유저로 전환이 가능 합니다. 사용하기 위해선 IAM에서 역활을 생성하고. 이 역활이 EC2에 적용 되어 있어야 합니다. 그리고나서 EC2에 접속해서 SSM 서비스를 활성화 시키고. 클라이언트에선 SSM 플러그인을 설치하면 사…
  • profile_image 아마존 리눅스2가 나온지 오래되서의 문제보다 새로운 패키지를 만들면서 AWS의 정책이 변경 된것으로 보인다. 그래서 인지 아마존리눅스2에선 기본적으로 설치 되어 있는경우는 경로에 문제가 없는데 새로운것으로 설치하면 안되는 문제가 있다. 설치프로그램 위치 문제가 있는 경우 PATH 추가 aws CLI와 SSM 매니저를 설치할 경우 경로가 변경이 되었다. 그렇기 때문에 기존에는 aws --version 으로 잘 설치 되었는지 확인 하였는데 현재는 PATH가 변경되어 파일이 없다고 한다. 새로 업그레드 된것들은 모두 /usr/local/bin 으로 경로가 변경된 것으로 보인다.  PATH 문제로 안되는 프로그램의 예 그렇기 …
  • profile_image aws sdk를 설치하는 방법에는 php에서는 파이선의 pip나 노드의 npm 같은 패키지 관리자인 컴포저를 사용하는 방법이 있지만 여기선 간단하게 압축파일을 받아서 푸는 방식으로 설치를 안내 합니다. 이유는 컴포저에 대한 설명 필요 없이 압축만 풀어 오토로드 파일 인쿠르드 하여 사용하면 되기 때문 입니다.  AWS PHP SDK 설치하기 깃허브사이트에서 릴리즈를 클릭하면 현재 배포중인 최신 버전의 주소로 가게 되는데 글 작성하는 시점에서 아래 주소인것이지 버전은 달라 질 수 있습니다.https://github.com/aws/aws-sdk-php/releases/tag/3.281.8aws.zip 파일을 받는다. 즉, 소…
  • profile_image 액세스키 생성에 대한 부분만 언급이 되어 있어 어디서 만들어야 되는지 찾을 수 있는 부분이라 간단하게 적습니다.  aws_secret_access_key 만드는 방법 IAM > 사용자 > 사용자 이름선택 > "보안자격증명" 탭의 액세스 키 "액세스 키 만들기"를 통해서 만들면 최종적으로 2개의 키가 생성 됩니다. 1개는 액세스키(aws_access_key_id) 다른 1개는 비밀키(aws_secret_access_key) 여기서 비밀키는 csv로 다운로드 받아 두거나 잘 저장해 둬야 합니다. '완료'가 되면 다시는 알 수 있는 방법은 없습니다. 이경우는 필요하면 다시 생성을 하면 됩니다.
  • profile_image 현재 SDK 프로그램이나 콘솔에 있는 /root/.aws/credentials 파일의 내용을 통해서 액세스키는 아는데 어떤 사용자 인지 모를 경우 찾는 방법 입니다.## 액세스키를 이용해 AWS 유저 찾기aws_access_key_id 키는 아는데 유저를 모를 경우는 아래와 같은 방법으로 어떤 유저 인지 확인이 가능 하다약간의 귀찮음이 있기는 하지만 보통 사용자가 많지 않기 때문에 약간의 인내력으로 쉽게 찾을 수 있습니다. IAM > 사용자 > 사용자 이름선택 > "보안자격증명" 탭의 액세스 키https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-…
  • profile_image AWS에서 제공하는 로드밸런스는 한가지가 아닙니다. 그리고 그에 따른 SDK도 다릅니다.아래는 가장 많이 사용한다고 볼 수 있는 어플리케이션 로드밸런스의 PHP SDK 사용에 대한 간단한 예 입니다.  require 'vendor/autoload.php';  use Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client;  $client = new ElasticLoadBalancingV2Client([      'version' => 'latest',      'region'  => '<region name>',      'profile' => '&…
  • profile_image 아마존 머신 이미지(AMI) 생성은 가장 쉬운 방법은 현재 EC2 돌아가고 있는것에서 생성 하는것입니다.모든 셋팅을 다 해 놓은 다음 이미지를 생성하면 다음 부터는 셋팅된 상태의 OS 환경을 볼 수 있습니다.중간에 잘못 될것을 감안하여 몇가지 버전을 만들어 두는 것도 좋겠습니다.그리고 이것은 오토스케일링 생성할때 자동으로 EC2를 추가 할때 필요한 부분이기도 합니다.AMI 생성하면 스토리지가 소모되는데 비용은 용량만큼 청구가 됩니다. 청구되는 용량의 비용은 일반적으로 EBS 용량 청구와 같다고 생각하시면 됩니다.보통 10가에 10달러이던가요? 정확히 기억이 나진 않은데 비용이 많이 청구 되지 않습니다. 보통 리눅스 8G…
  • profile_image EC2 생성을 미리 정해진 규칙에 따라 빠르게 생성하게 하기위해서 필요한것으로 오토스케일링 생성시 필요한 부분이기도 합니다. 아래는 설정할때 일반적인 부분중 간단하게 필요한 부분만 정리한 부분 입니다. 시작템플릿 몇가지 중요한 사항을 적어 두도록 합니다. 인스턴스 유형 가용영역에 따라 안되는곳이 있으니 잘 확인하고 지정해야 합니다. 키페어 이건 ssh 로그인할때 필요한것으로 잘 보관해 두두록 합니다. 새로 만들때는 서비스명칭 같은 것으로 구분이 명확하게 가는것으로 만들면 되고 여러 리전을 사용할때는 혼동이 될 수 있는 부분이 있을 수 있으니 이부분 필요하면 명칭에 넣도록 합니다. 네트워크 설정 고급네트워크 구성 일반적으…
  • profile_image EC2 인스턴스를 자동생성하는 오토스케일링 오토스케일링 그룹을 만들기 전에 아래 부분을 먼저 만들어 놓은 다음 진입을 하는것이 좋다. VPC, 방화벽(보안그룹) AMI 이미지, 시작템플릿 로드밸런스 시작 템플릿 또는 구성 선택 미리 만들어 놓은 시작 템플릿 선택 이름 고유한 이름으로 쉽게 식별 가능한것을 사용하면 좋다. test인경우는 후에 착각하지 않도록 반드시 붙여 주는것이 좋으며 일반적으로 서비스명을 넣어 주면 된다. 시작템플릿 미리 만들어 놓은 시작템플릿을 사용하여 인스턴스를 생성하기 위한것으로 SSH 접속을 위한 키페어 선택과 인스턴스 강제종료를 할 것인가등 선택해 놓은 것으로 생성하기 위한 것이다. 인스턴스 …
  • profile_image 아마존 EFS 마운트 하는 방법(AL2) 아마존 리눅스2에서 EFS(Elastic File System) 마운트 하는 방법에 대한 것입니다. 이것은 nfs v4를 지원하는 NFS 파일 시스템이라 생각해도 됩니다. EFS 인식 패키기지 설치 EC2 인스턴스에amazon-efs-utils 패키지를 설치한다. yum -y install amazon-efs-utils 이 패키지가 설치해야 파일시스템 타입 efs 옵션을 사용 할 수 있다. EFS 마운트 다음과 같은 방법으로 마운트 한다. 마운트에 대해서 모르시는 분은 우선 마운트에 대해 알면 좋은데 마운트란 다른 장치를 붙이는 것을 말한다. mount -t efs fs-65s…
  • profile_image ELB에 EC2 부하분산 설정하기 EC2 부하분산의 설정의 순서는 다음과 같습니다. 대상을 설정한다 (EC2 > 로드 밸런싱 > 대상그룹) 로드밸런스를 설정 한다. (EC2 > 로드 밸런싱 > 로드밸런서) 대상 그룹이 하는일 기본 구성에 대한 헬스체크(장애확인)를 하기 위한 것입니다. 1단계(설정: 세부 정보 지정) 기본구성: 인스턴스, 람다, IP 주소등이 있는데. 일반적인 EC2를 위한 것이면 '인스턴스' 선택 "대상그룹 이름"을 정해줄때는 알기 쉽도록 서비스-프로토콜과 관련된것을 사용합니다. VPC 선택은 대상이 되는 장비와 같은것을 선택 프로토콜 버전은 HTTP의 경우는 HTTP1을 선택,…
  • profile_image CDN 서비스인 클라우드 프론트와 부하분산 서비스인 ELB를 연동 했을때 EC2에선 X_FORWARDED_FOR 값이 어떻게 되는지에 대한 것입니다. 클라우드프론트 ELB EC2 사용자IP 얻기 AWS 구성이 아래와 같을때 사용자의 실제 IP를 얻기 위한 것입니다. IP부분 참고(괄호안) 유저(1.2.3.4) -> 클라우드프론트(12.13.14.15) -> EBL(12.10.12.92) PHP로는 아래 변수로 얻을 수 있음 $_SERVER['REMOTE_ADDR'] 는 ELB의 IP가 찍히게 된다. -> 12.10.12.92 유저IP 실제 사용자IP와 ELB 이전에 있는 클라우드프론트의 IP가 동시 저장…
  • profile_image https://repost.aws/questions/QUajnj8IWqRKCUblHFCzSXIQ/php-redis-on-amazon-linux-2AL2에서 위 설명대로 하면 설치가 안되고 아래와 같은 오류가 발생 한다. 이유는 내부적인 버전이 맞지 않기 때문이다.리눅스 서버 설치 해보신 분은 잘 알겠지만 OS나 라이브러리나 다른 버전 변경 되면 안되는것 들이 참 많다. yum install php-pecl-redis(Error: Package: php-pecl-igbinary-1.2.1-1.el7.x86_64 (epel)) Loaded plugins: extras_suggestions, langpacks, priorit…
  • profile_image 지금으로 부터는 1년이 된 영상입니다.2008년 금융위기에서 유명한 전 리먼브러더스 한국대표 이셨던분의 영상입니다.이분 다른 영상에서 각각의 위치에 따라서 말하는 주식의 전망이 다르더라는 것입니다.본인과 같은 트레이더는 솔직이 말한다. 모른다. 영상을 보니 실제 그런 형태로 말을 합니다. 확실한것은 이런 형태로 말하면 주변의 아시는 분들은 관계 없지만 모르시는 분들에게는 인기는 없습니다. 하지만 이런것을 본인이 몰라서 그렇게 말하겠습니까.  채…
  • profile_image 주가에 대한 수익이 주식의 가치를 나타내는것은 아닙니다. 수치에 대한것만 보면 수학자나 경제학과 회계사 분들이 모두 큰 수익을 거둬야 맞습니다. 단 이런 수치는 현재 어느상태 인지 참고할 만한 좋은 지표 일뿐 입니다.개별지수 - 한국거래소 | 정보데이터시스템 (krx.co.kr)위 사이트는 코스피 전체를 대표하는 곳은 아닙니다. 구성종목수가 833개 입니다.현재 대략 코스피가 930개, 코스닥이 1500개가 넘습니다. PER, 배당수익율, P…
  • profile_image 신용잔고 추이를 볼 수 있는곳은 금융투자협회 입니다.안타까운? 일이기도 하지만 주가의 바닥을 논할때 말하곤 하는것중 하나 입니다.몇가지 규칙을 정하고 욕심만 버려도 큰 문제는 생기지 않고 레버리지 사용하지 말고 몇가지 만 잘 지켜도 되는데 알고도 못하는것중 하나입니다.점점 경험이 많아 지면서 그렇게 하면 안된 경험을 토대로 나의 행동이 스스로 변하게 되는 것도 경험하게 되죠.왜냐하면, 알면 그렇게 안하지요1) 금융투자협회 아래 사이트를 들어갑니…
  • profile_image 장기투자를 말하는데 무조건적인 장기투자는 전혀 도움이 되지 않습니다.어떤 의미의 장기투자인지 알아봐야할 필요가 있는데 우리가 흔히 생각하는 장기투자는 그분들이 말하는 장기투자와 같은것이 아닐 수 있습니다.확실한것은 쌀때 사서 원상회복되면 파는 방식이 좋습니다.수익은 길게 가져가고 싶으면 본인의 수익이 최고일때보다 나는 얼마이상 떨어지면 그때 팔겠다라는 형태로 살때 부터 팔때를 정해 놓는것도 방법입니다.한국은행의 뉴스 심지지수를 통한 하반기 심리…
  • profile_image ISM 제조업 지수는 미국 경영인협회(ISM)가 발표하는 제조업 성장지수로, 제조업의 경기상황을 파악하는 지표입니다. 이 지수는 매달 발표되며, 50 이상이면 경기가 확장되고, 50 미만이면 경기가 축소되는 것으로 판단됩니다. 또한, 이 지수는 제조업의 생산, 신규 주문, 고용, 납품 기간, 재고 등의 항목을 조사하여 계산됩니다. ISM 제조업 지수는 미국의 경제 흐름을 파악하는 중요한 지표로 활용됩니다.상승장, 하락장을 추정하는데 도움이 되는…
  • profile_image 내가 힘들고 어렵다고 다른분도 그런것은 아닙니다.내가 약간 어유가 있다고 다른분들도 그런것은 아닙니다.얼마전 뉴스에서 긴급생계비 50만원 즉시 지원에 대한 이자와 몰려든 사람의 숫자를 보고 깜작 놀랐습니다.5천만 중에서 여유가 많은 사람 힘든사람이 당연히 있겠지만 이 금액으로 이렇게 많이 몰릴 수 있나?인플레이션과 M2 통화량에 대한 것입니다.적절한 인플레이션은 좋다고 합니다. 내가 조금씩 낳아 지고 있다는 느낌을 받기도 하기 때문이죠.그리고 …
  • profile_image 캔들차트 혹은 봉차트라고 합니다.오랬동안 봐왔던것이고 주식관련된 영상을 보면 가장 흔하게 볼 수 있는 챠트 입니다.이걸 왜? 많이 사용하는지 알면 왜? 이걸 많이 사용하는지 알 수 있습니다.하루 또는 특정기간의 현황을 가장 간단하게 알 수 있습니다.예를 들면 10분동안 거래가 되는데 일어 날 수 있는것은 여러가지가 있지만 보통 4가지가 궁금합니다.1) 가장높았던가격 2) 가장  낮았던가격 3) 시작가 4) 종가이 4가지를 한번에 보여줄 수 있는…
  • profile_image MySQL에서 트리거(trigger)는 특정 테이블에 대해 INSERT UPDATE DELETE와 같은 DML(데이터 조작 언어) 작업이 수행될 때 자동으로 실행되는 프로시저입니다. 트리거는 데이터의 무결성을 유지하거나 로깅 감사 등의 목적으로 사용될 수 있습니다. 트리거는 데이터베이스가 특정 조건에 반응하여 자동으로 특정 작업을 수행하도록 할 때 유용합니다.▷ 트리거의 주요 특징- 자동 실행: 트리거는 관련 테이블에 특정 DML 작업이 수행될 때 자동으로 실행됩니다.- 데이터 무결성 보장: 데이터의 무결성을 보장하기 위해 사용될 수 있으며 복잡한 제약 조건을 구현하는 데 유용합니다.- 감사 및 로깅: 데이터 변경 사항…
  • profile_image 왜래키는 잘 쓰면 보약이고 잘못하면 관련된 테이블 모두 확인 하느라 부하가 심해진다.그래서 무조건 쓰지 못하게 하는곳도 있는 실정이다. 사실 우리가 그런부분이 있다.사이트의 부하가 많지 않다면 사용하는것을 권장 하는데 문제가 될일이 별로 없기 때문에 그렇다. 외래키는 두 테이블 간의 관계를 정의하는 데 사용 되는 것으로 보통 부모 테이블과 자식 테이블 간의 관계를 나타내는 데에 사용됩니다.1. 관계 정의  외래키는 부모 테이블의 기본 키(primary key) 또는 유일한 키(unique key)와 연결됩니다. 이 관계를 통해 자식 테이블의 행들이 부모 테이블의 행들을 참조할 수 있습니다.2. 무결성 유지 외래키 제약 …
  • profile_image 리눅스에서 OpenSSL을 사용해 생성한 사설 인증서의 유효 기간을 확인하려면 터미널에서 OpenSSL 명령어를 사용 하면 된다.아래 openssl 명령어를 사용해 인증서의 유효 기간을 확인할 수 있다.openssl x509 -in [인증서 파일 경로] -noout -datesopenssl x509 -in mycert.pem -noout -datesopenssl x509 -in rootCA.crt -noout -datesopenssl x509 -in server.crt -noout -dates# 생성 할 때 기간을 주면 유효 기간을 길게 사용 할 수 있다.# -days 36500 = 100년openssl x509 -re…
  • profile_image OpenSSL로 인증서 생성시 -days 36500 = 100년 옵션을 사용해서 유휴기간을 길게 준다. 우선 만료 되는 기간을 길게준 다음 후에 사용할 계획이 없으면 사용하지 않으면 되기 때문이다.지난것을 경고 무시하고 사용하는것 보다는 이편이 더 좋을것이다. 아래는 간단하게 개인 인증서 생성하는 방법이며두번째 csr 생성할때 입력 해야 하는것이 잇는데 아래처럼 입력하면 되며 비밀번호는 넣지 않아도 된다.(비밀번호 넣으면 다음에 진행할때 같이 넣어 줘야 되어 테스트 할때는 넣지 않도록 한다.)-----Country Name (2 letter code) [XX]:KRState or Province Name (full na…
  • profile_image DKIM, SPF, 및 DMARC는 이메일을 보다 안전하게 하고, 스팸이나 피싱 공격을 방지하기 위해 사용되는 이메일 인증 메커니즘들입니다.공통적으로 네임서버 설정을 해줘야 하는 것들이다.DKIM (DomainKeys Identified Mail)DKIM은 발신자의 도메인이 실제로 해당 이메일을 보냈다는 것을 증명하기 위해 디지털 서명을 사용합니다.이메일 발송자는 이메일의 헤더에 디지털 서명을 추가하고, 이 서명은 발신자의 도메인에 공개적으로 접근 가능한 공개 키로 검증할 수 있습니다.수신 메일 서버는 이 공개 키를 사용하여 디지털 서명을 검증하고, 이를 통해 이메일이 변경되지 않았으며, 해당 도메인에서 실제로 발송되었…
  • profile_image 리눅스에서 디스크 사용량이 많은 프로그램을 찾기 위해서는 주로 du (Disk Usage) 명령어를 사용합니다. du 명령어는 디렉토리나 파일이 사용하는 디스크 공간의 양을 확인할 때 사용됩니다. du 명령의 기본적인 사용 방법 전체 사용량은 df 명령을 사용하지만 하위 디렉토리의 사용량을 보려면 du 명령을 사용 합니다. 운영하다 보면 어느곳에서 사용을 많이 하는지 알기 위해 은근히 많이 사용 되는 명령 입니다. 특정 디렉토리의 사용량을 확인 du /path/to/directory를 입력합니다. 모든 디렉토리의 사용량 du -h /path/to/directory를 사용하면 됩니다. 여기서 -h 옵션은 'human…
  • profile_image 디스크 I/O 부하를 많이 주는 프로그램 확인 디스크 I/O 부하를 많이 주는 프로그램을 찾으려면 iotop이라는 도구를 사용 하면 되며 이 도구는 각 프로세스의 I/O 사용량을 실시간으로 모니터링하며, 높은 I/O 사용량을 가진 프로세스를 쉽게 찾을 수 있도록 도와준다. io를 보는데는 iostat 도 있고. vmstat 1 명령으로 CPU 부하와 같이 쓰기나 읽기가 어느정도 인지 보는 방법도 있는데 iotop을 사용하면 프로그램 까지 알 수 있어 좋다. 단 기본적으로 설치가 안되어 있기 때문에 설치를 해줘야 한다. Ubuntu 또는 Debian   sudo apt-get install iotop  CentOS…
  • profile_image INSERT 할때 현재 날짜를 디폴트 값으로 처리 MySQL에서 날짜와 시간을 자동으로 입력하려면, TIMESTAMP 또는 DATETIME 필드 타입에 DEFAULT CURRENT_TIMESTAMP 또는 ON UPDATE CURRENT_TIMESTAMP 옵션을 사용할 수 있습니다. 예를 들어, 테이블을 생성할 때 다음과 같이 작성할 수 있습니다  # 5.6 버전 부터는 아래 처럼 디폴트 값으로 CURRENT_TIMESTAMP 를 2개 이상의 컬럼에서 사용 가능 하다.  CREATE TABLE example (      id INT PRIMARY KEY,      data VARCHAR(100),      created_…
  • profile_image MySQL 5 버전사용 할때는 없었던 문제가 발생을 해서 확인한 것들을 정리한것입니다.이에대해 글이 있는데 전 적용이 안되던데요. 호스트 플러시 해도 안되어 systemctl stop mysqld 로 멈춘다음 다시 시작 시켰습니다.제경우에는 CentOS7에서 설치된 MySQL8 버번에서 안되었습니다.그리고 중요한것은 왜? 그런지 접속하는 클라이언트(보통은 프로그램 이겠지요) 원인을 찾아야 합니다.그렇지 않으면 다시 상황이 발생합니다.여기서 수치를 높게 준것은 발생 가능성을 낮추는것 뿐입니다.오류는 아래와 같은것이 발생하고 호스트 플러시 하라고 합니다. 전 했는데 안되었다는것입니다.그렇기에 안되시는 분은 수치를 늘려 놓고…
  • profile_image TIMESTAMP와 DATETIME은 모두 날짜와 시간을 저장하는 MySQL의 데이터 타입입니다. 두 타입 모두 'YYYY-MM-DD HH:MM:SS' 형식을 사용하지만, 몇 가지 중요한 차이점이 있다.1. 범위 TIMESTAMP는 1970년 1월 1일 00:00:01 UTC부터 2038년 1월 19일 03:14:07 UTC까지의 범위를 가집니다. 반면에 DATETIME은 1000년 1월 1일 00:00:00부터 9999년 12월 31일 23:59:59까지의 범위를 가집니다.2. 시간대 TIMESTAMP는 시간대(Timezone)에 민감하며, UTC 시간을 기반으로 합니다. 따라서, 사용자의 위치에 따라 값이 변할 수 …
  • profile_image Brotli는 Google에서 개발한 압축 알고리즘으로, 빠른 압축 속도와 높은 압축률을 제공합니다. 리눅스 환경에서 Brotli를 이용해 파일을 압축하거나 압축을 해제하는 방법은 다음과 같습니다. 속도는 느려요~ 하지만 한두개 압축 하는데는 문제 없습니다. 양이 많으면 속도도 생각할 필요가 있다는 의미 입니다.gzip 보다 10 ~ 20% 정도 더 압축된다고 보시면 됩니다.1. 먼저, Brotli가 설치되어 있는지 확인해야 합니다. 리눅스 터미널에서 다음 명령어를 입력하여 Brotli를 설치할 수 있습니다.  # 자신에게 맞는 방식으로 설치 합니다.  sudo apt-get install brotli  yum -y i…
  • profile_image 소트 옵션 다음에 -(마이너스)가 있으면 내림차순 없거나 +(플러스)기 있으면 내림 차순으로 정렬이 됩니다. 메모리 사용량 확인 메모리 사용량을 확인 하는데 있어 한 화면에 필요한 것만 보기 위해서 awk를 파이프로 넣어 사용 했습니다. 또는 스왑메모리 확인 하는것 처럼 상위 10개만 보는 방법도 있습니다.  # 메모리 사용량 순으로 보기  ps aux --sort -rss | awk '$4!=0.0'  # 메모리 사용량 0.1 이상인 프로세스만 보는 방법  ps -eo pid,%mem,cmd --sort -rss | awk '$2>=0.1'  # swap 사용 많이 하는 순서  ps -eo user,pid,ppi…
  • profile_image PID 프로세스 ID 값을 저장해서 보통은 같은 프로그램 실행 할때 이전에 실행된 프로그램이 있으면 kill 처리 하면서 다시 실행 시키는데 여기선 PID 값을 저장하지 않고 pkill 프로그램을 이용해서 kill 처리 후 같은 프로그램을 실행 시키는 것에 대한 것입니다.kill 처리 하지 않고 스케줄에서 일정 시간마다 실행 시키면 이전 프로그램이 종료가 안된 경우는 계속 같은 프로그램이 쌓여서 종국에는 시스템 자원이 고갈되어 서버 죽습니다.PHP 프로그램에서 출력되는 로그를 호스트명으로 생성하려면,nohup 명령어와 함께 리다이렉션을 사용 하면 된다.  #!/bin/bash  # 현재 실행 중인 프로세스 확인하고 종료…
  • profile_image > $log_file 2>&1 & 부분은 리다이렉션과 백그라운드 실행에 관한 것으로, 각각의 부분은 다음과 같은 의미를 가지고 있습니다:1. > $log_file: 이 부분은 표준 출력(Standard Output, 보통은 커맨드 라인에 출력되는 내용)을 $log_file이라는 파일로 리다이렉션(즉, 출력을 변경)하는 것을 의미합니다. 즉, 스크립트가 실행되는 동안 출력되는 모든 내용은 $log_file에 지정된 파일에 저장됩니다.2. 2>&1: 이 부분은 표준 에러 출력(Standard Error, 보통은 오류 메시지)을 표준 출력으로 리다이렉션하는 것을 의미합니다.즉, 오류…
  • profile_image pkill -f 명령은 인자로 주어진 패턴이 프로세스의 명령 줄 전체와 일치하는 경우에 해당 프로세스를 종료합니다.-f 옵션을 사용하면 프로세스의 이름뿐만 아니라 인자들까지 포함하여 패턴 매칭을 합니다.예를 들어 pkill -f '/home/chk.php real' 이라는 명령은 문자열을 명령 줄에서 찾아 해당 프로세스를 종료합니다.따라서 명령 줄에 정확하게 일치하는 프로세스가 있어야 종료할 수 있습니다.만약 정확하게 일치하지 않아도 프로세스를 종료하고 싶다면 pkill 명령에 패턴을 사용할 수 있습니다.예를 들어 pkill -f 'php_chk.php' 이라는 명령은 명령 줄에 'php_chk.php'가 포함되는 모든…
  • profile_image 필요에 따라 인증을 하는데 있어 HTML 페이지를 통해 하지만 브라우저를 통해 하는 경우가 있습니다. 바로 아래와 같은 헤더를 사용하는 경우인데요.  header('HTTP/1.1 401 Unauthorized');  PHP-FPM 사용시 전달이 안되는 경우는 웹 서버 설정에서 FastCGI로 전달될 환경 변수를 설정해야 합니다. PHP_AUTH_USER와 PHP_AUTH_PW는 HTTP 기본 인증에 사용되는 변수들입니다. 이런 값을 설정하는 방법은 웹 서버의 종류에 따라 다르며 Apache와 Nginx에서의 설정 방법. Apache 웹서버 .htaccess 파일이나 httpd.conf 파일에 아래와 같이 작성하시…
  • profile_image 자신의 네임서버 설정이 잘 되었는지 확인 하는 용도로 사실상 많이 쓰입니다. 설정을 했는데 실제 네임서버에서 잘 반영 되었는지 궁금 하지요. 그리고 다른 네임서버로 퍼지는데는 시간이 좀 소요 될 수 있습니다. 이 문제는 TTL을 좀 짧게 주면 빠르게 갱신이 되지만 캐쉬의 시간과 관계가 있어 무조건 좋은것 만은 아닙니다. 예를 들면, SPF 설정, DKIM, _acme-challenge 인증용, DMARC 등 확인을 위해 네임서버에 적어 놓으라는 것들의 설정을 확인용 입니다. 다음은 dig 또는 nslookup 명령을 사용하여 TXT 레코드를 확인하는 과정입니다. 1. 터미널을 열고 다음 명령어를 입력하세요   # …
  • profile_image  ssl인증서를 갱신하는데 비밀번호가 걸려 있는 인증서가 있을 경우 웹서버 적용할때 비밀번호를 입력해 줘야 합니다. 이게 한대이거나 하나의 사이트만 서비스하는것이 아니라 갯수가 많다면 웹서버 재시작할때 마다 비밀번호를 다 넣어 줄 수는 없습니다. 그리고 그냥 restart 하면 웹서버 뜨지 않는 경우도 있고 좋지 않습니다. 그래서 인증서에 비밀번호가 걸려 있는지 확인하려면 OpenSSL 명령어를 사용해 확인해볼 수 있는데요. 콘솔에 접속한 후, 아래와 같은 명령어를 입력해 보면 됩니다.  openssl rsa -check -in KeyFile_abc_com_crt.key  위 명령어를 입력하면, 인증서에 비밀번호…
  • profile_image 리눅스에서 find 명령어를 사용하여 특정 날짜 이후에 수정된 .php 파일을 찾는 방법은 이렇다 이 find 명령어는 /path/to/search 디렉토리부터 하위 디렉토리까지 재귀적으로 검색하여, .php로 끝나는 파일 중에서, '2023-02-01' 이후에 수정된 모든 파일을 찾는다.  find /path/to/search -name "*.php" -type f -newermt "2023-02-01" -name 옵션은 어떤 확장자를 찾을 건가-newermt 옵션은 'modification time'보다 더 최근에 변경된 파일을 찾는 옵션 find 명령어로 찾은 파일을 rsync로 다른 디렉토리로 복사하려면 아래와…
  • profile_image 인터넷이 안되도 나올 수 있는 것으로 아래 명령으로 현재 서버의 IP 주소가 잘 나오는지 확인을 먼저 해보면 좋습니다. curl ifconfig.me   AppStream 오류 : repo 'appstream'의 메타 데이터를 다운로드하지 못했습니다: Cannot prepare internal mirrorlist: No URLs in mirrorlist Linux CentOS 8 EOL yum, dnf No URLs in mirrorlist **저장소 경로 변경** 다음 명령어를 실행하여 저장소 경로를 변경한다. 아래 명령을 보면 알 수 있듯이 변경된 부분이 있어서 그렇습니다. 그리고 최신버전은 문제가 되지 않으…
  • profile_image 특정 패키지의 업그레이드를 방지하려면 dnf의 versionlock 플러그인을 사용할 수 있습니다. 이 플러그인은 특정 버전의 패키지를 잠그는 기능을 제공하여, 패키지가 업데이트되지 않도록 합니다.아래 dnf, yum은 같은것으로 하나만 실행 하면 됩니다.1) 먼저, versionlock 플러그인을 설치합니다  sudo dnf install python3-dnf-plugin-versionlock  sudo yum install python3-dnf-plugin-versionlock 2) 그리고 나서 versionlock 명령을 사용해 rsyslog와 samba 패키지를 잠글 수 있습니다rsyslog와 samba 패키지는…
  • profile_image 랜카드가 하나가 아니라 여러개일 경우가 있을 수 있는데 이럴때 작동을 하고 있는지 확인을 할때 유용한 방법 입니다. 제 경우는 라우터 설정 문제 일까요. 약간 신경써야할 부분은 있는것 같습니다. 우선 아래의 예가 안되는것은 아닙니다. curl 명령어를 사용할 때 `--interface` 옵션을 사용하면 특정 네트워크 인터페이스(랜카드)를 통해 트래픽을 보낼 수 있습니다. 예를 들어, eth0 인터페이스를 사용하려면 아래와 같은 명령어 사용하면 됩니다.  curl --interface eth0 https://ifconfig.me  위의 예시에서 'eth0'는 네트워크 인터페이스의 이름입니다. 이 부분을 원하시…
  • profile_image 아래와 같은 메시지를 만나는 경우가 있습니다. rpm 파일이 없다고 하는데 정말 없는지 확인을 하면 있습니다. 문제는 정확하게 입력하지 않아서 생긴 문제 입니다.  dnf localinstall samba samba-common samba-client samba-libs  올바른 rpm 파일 경로가 아닙니다. samba  올바른 rpm 파일 경로가 아닙니다. samba-libs  오류: 처리가 필요하지 않습니다.  해당 오류 메시지는 'dnf localinstall' 명령어가 rpm 파일의 정확한 경로를 찾지 못해서 발생 된 것으로 'dnf localinstall' 명령어를 사용할 때는 rpm 파일의 전체 경로나 현…
  • profile_image 간혹 최신 버전이 아니라 이전 버전을 받거나 또는 오래된 패키지를 받아야 하는 경우가 있습니다. CentOS 공식 웹사이트에서는 최신 버전의 ISO 이미지만 제공하기 때문에, 이전 버전의 ISO 이미지를 찾으려면 다른 저장소를 이용해야 합니다. 하나의 대안은 CentOS의 공식 아카이브 저장소입니다http://vault.centos.org/   이미지 파일을 다운로드 받은 후에는, 이를 이용하여 부팅 가능한 USB 스틱을 만들거나, 가상 머신에 설치하시면 됩니다. 다운로드 받은 이미지로 설치를 진행하려면, BIOS나 UEFI 설정에서 부팅 순서를 변경하여 USB나 DVD로 먼저 부팅하도록 설정해야 합니다. 이전 버전의…
  • profile_image 아래 3가지의 설정은 모두 자원과 관계가 있어 자사의 사이트에서 처리하는 정상범위 안으로 설정을 해주는 것이 좋다. 하지만 관리자 페이지등 특정인만 사용하는곳이 라면 그에 맞게 넉넉하게 설정해도 문제가 되지 않는다. PHP and Apache(웹서버) 504 Gateway Timeout 연결 끊김 웹서버와 PHP의 연결이 끊어짐으로 인해서 발생 하는것인데 이 부분에서 연결을 더 오랬동안 유지하는 설정이 아래에 대한 것이다. 이부분은 파일 다운로드와도 관계가 있다. 현재 크롬계열은 바로 다운로드 되지만 예전 IE의 경우 창이 뜨면 다운로드 클릭할때 까지의 시간과의 관계 이다. /etc/httpd/conf.d/httpd-d…
  • profile_image 리눅스 OS 버전별로 아파치 웹서버 설치를 하는데 httpd 버전이 같이 달라지는 문제로 동일한 버전을 설치 하기 위한것이다. 여기서는 CodeIT 리포티지를 사용 한다.  https://codeit.guru/ru_RU/ CodeIT 리포티지를 이용한 아파치(httpd) 서버 설치 여기선 CentOS 9 버전과 CentOS 7 버전에서 설치하는 방법에 대한 부분이다. 블로그 보다는 CodeIT 메인 페이지에 설치에 대한 설명이 잘 나와 있으니 이곳을 보는 곳도 좋은 방법이다.  CentOS 9 에서 CodeIT 아파치 웹서버 설치 패키지 관리자를 dnf를 사용한다. 기본적인 옵션은 yum과 동일 하기 때문에 어렵지 않게…
  • profile_image 기본적으로 클라이언트 서버 캐릭터셋을 같게 가져 가지만 특별한 이유가 있어 달라야 되는 문제가 생길 수 있습니다. 이런 경우 서버에 저장하는 캐릭터셋과 클라이언트가 다르면 DBMS에서 자동으로 변환을 하여 보여주게 됩니다. MySQL8 서버와 클라이언트 다른 캐릭터셋으로 설정 아래의 예는 저장은 utf8로 저장하고 출력(커넥션)은 euckr로 할 수 있는 방법 입니다.   [client]  default-character-set=euckr  [mysql]  default-character-set=euckr  [mysqld]  character-set-client-handshake = FALSE  character-set…
  • profile_image mysql> CREATE USER 'root'@'192.168.10.10' IDENTIFIED BY 'rkdskadprkwkdy'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 위 오류는 비밀번호 사용 방식에 문제가 있어서 그렇다. ▶ MySQL 8 비밀번호 정책(validate_password.policy) MySQL 8에서 validate_password.policy는 비밀번호 정책을 설정하는 데 사용되는 옵션입니다. 이 옵션은 사용자의 비밀번호가 특정 요구 사항을 충족해야 하는지 여부를 결정합니다. …
  • profile_image 이 명령은 쉽게 메모리에 있는것을 디스크에 저장하는 겁니다. 그렇게 하는 동시에 캐쉬 무효화가 생기면서 즉시 반영됨. MySQL flush 명령어 종류 MySQL에서 "flush"는 데이터베이스 서버의 캐시나 버퍼에 있는 변경 내용을 디스크에 쓰고, 시스템 상태를 갱신하는 명령어입니다. "flush" 명령어를 사용하여 여러 가지 동작을 수행할 수 있습니다.  ● 설정을 바로 적용 시키는 flush 리스트 FLUSH PRIVILEGES MySQL의 사용자 권한을 다시 로드하는 데 사용됩니다. 일반적으로 새로운 사용자를 추가하거나 사용자의 권한을 변경한 후에 이 명령을 실행하여 변경 사항을 적용합니다. FLUSH TABLE…
  • profile_image MySQL 8.0부터는 테이블의 메타데이터를 저장하기 위해 .sdi 파일을 사용합니다. 이 .sdi 파일은 Serialized Dictionary Information의 약자로, JSON 형식으로 테이블 구조와 관련된 메타데이터를 저장하고 있습니다. MySQL MyISAM 엔진의 frm, sdi 파일 차이점 MySQL 8.0 이전에는 .frm 파일을 사용하여 테이블 구조와 관련된 메타데이터를 저장했습니다. 그러나 MySQL 8.0부터는 이러한 정보가 데이터 딕셔너리에 직접 저장되고, .sdi 파일은 해당 정보의 JSON 형식의 복사본을 제공합니다..frm 파일과 .sdi 파일 차이점 .frm 파일은 MySQL 서버…
  • profile_image 투자를 할때는 시장을 사는 방식과 개별주식을 투자하는 두가지 방식으로 크게 나눌 수 있을것 같습니다.결론부터 말하면 시장을 사는 방식도 크게 나쁘지 않습니다.* 시장을 사는 방식은 다음과 같은것이 있습니다.. ETF: 코덱스, 코스닥150, 타이거, SPY, QQQ* 개별주식의 방식은. 삼성, 현대건설, 대한항공 등 유망할것으로 보이는 개별회사의 주식을 사는 것입니다.여기서 시장을 살때 상승장이라고 생각이 들면 레버리지 상품을 사는 방식이 있는…
  • profile_image ETF가 뭔가요. 전체 시장 또는 섹터별 시장을 사는 방식 입니다.그리고 투자할 수 있는 자산은 주식만 있는것이 아니라 채권, 예금, 원자재 등 여러가지가 있습니다.간혹 모두가 같이 폭락을 하지만 때로는 서로 보완을 해주곤 합니다.꾸준한 수익을 내는 올웨더 포트폴리오란 간단하게 말하면전체 주식 시장을 묶어 놓은 KODEX ETF에 전체 투자자산의  ETF의 묶음이라고 생각해도 된다고 설명을 합니다.(미국엔 상당된 ETF 도 있습니다: 단, 큰 …
  • profile_image 사람의 본성은 작은힘으로 큰것을 얻고자 합니다.금융에선 빌려서 사용하는 방법등 여러가지가 있는데 여기선 ETF펀드의 레버리지에 관한 것입니다.하락용, 상승용 레버리지에 구분은 여기서 하지 않습니다.가장 단순하게 레버리지의 위험성에 대한 것입니다. ● 가장 간단한 예로 2배 레버리지 입니다.(국내 3배가 없어 다행 입니다.) - 사례1) 100원이 2배(100%) 오르면 200원이 됩니다. - 사례2) 100원이 절반(50%) 떨어지면 0원이 됩…
  • profile_image 중복된 처리를 제외하고자 할때 일정 부분 쿠키로 가지고 있다가 비교해서 동일한 것은 처리 하지 않기 위한것입니다.이것을 쿠키를 이용하는 방법이 있고 요즘은 로컬스토리지를 이용하는 방법도 있겠습니다. 특정 게시물의 번호나. 방문자의 로그를 저장하여 처리 하는 경우는 중복 처리 방지를 위한 간단한 방식 입니다.게시물의 경우 중복제외 처리를 하지 않으면 들쑥 날쑥 하지만 최고 30% 넘게 차이나는 경우도 있었습니다.  <!DOCTYPE html>  <html>  <head>      <title>Click Event Test</title>  </head>  &l…
  • profile_image 블로그에 있는 datepicker는  안되는것이 많아서 사용할 일이 있어서 완성한것 올립니다.jquery는 버전이 다르면 안될 수 있으니 버전을 맞우는것이 중요하며 아래 순서도 중요합니다.jquery를 이용하기 때문에 jquery-ui가 아래에 있어야 한다는 것입니다. 그리고 jquery-ui 압축 파일을 받으면 아래와 같이 CDN 이용하지 않고 사이트에 올려 놓고 사용할 수 있으며 압축 파일 안에 아래 cdn 링크 걸린 모든 파일과 더불어 필요한 다른 파일들도 같이 모두 들어 있습니다. 같이 사용되는 jquery 도 별도 디렉토리에 있습니다.△ 아래 달력 datepicker(데이트티커)minDate 사용하면 적용한 이…
  • profile_image Node Express는 Node.js와 Express.js를 결합하여 웹 애플리케이션 개발에 사용되는 프레임워크입니다. 이를 통해 비동기적인 서버 측 코드 작성과 HTTP 요청 및 응답 처리 등 다양한 웹 개발 작업을 보다 쉽게 처리할 수 있습니다.  1) 간단하게 띄울 프로그램을 하나 준비 서버가 잘 작동하는지 확인을 할 수 있는 간단한 프로그램을 준비 하도록 합니다.자신이 하는것이 디비커넥션이 들어가게 되면 이 부분도 간단하게 CRUD 프로그램 하나 준비 하면 됩니다.  const express = require('express');  const app     = express();  const port    = …
  • profile_image -g 옵션을 주어 글로벌로 설치한것이 아닌데 현재 디렉토리에 node_modules이 없고 다른곳에 설치 된경우는 아래처럼 초기화하면 package.json 파일이 생성 되고 현재 디렉토리에 node_modules 디렉토리가 생기면서 설치 됩니다. 아래와 같이 초기화 후 설치 하면 됩니다.  npm init -y  npm install express 그리고 초기화 했는데 안되는 경우는 시스템 로그인할때 홈 디렉토리나 또는 기본적으로 있어야할 스크립트 등이 없는 경우는 아닌지 살펴 보면 됩니다.예를 들면 bash shell의 경우 로그인 하면서 실행 되는 스크립트 들이 있습니다. 파일명은 .(점) 으로 시작하기 때문에 숨…
  • profile_image 실제 파일은 있는데 없는다는 메시지가 나올 경우는 PATH 설정 값을 확인해 봐야 합니다.만약 whereis env 했는데 있다면 로그인할 때 실행되는 파일에 PATH 설정을 추가해 주면 됩니다./usr/local/nodejs/bin/npm install yarn/usr/bin/env: node: 그런 파일이나 디렉터리가 없습니다위와 같은 오류가 발생 하는 경우는 경로를 추가해 주면 된다.vim /etc/bashrcexport PATH=$PATH:/usr/local/nodejs/bin이 경우는 nodejs를 압축파일을 받아서 별도의 디렉토리에 압축을 풀고 심복릴 링크 처리한 경우 입니다.
  • profile_image 프로그래머가 아니라 일반인이면 PDF 페이지번호 추가해주는 사이트가 있으니 아래를 참고하시면 됩니다.https://tools.pdf24.org/ko/add-page-numbers#s=1687481961009여기선 nodejs와 pdf-lib 설치에 대해선 언급하지 않습니다.아래는 간단한 소스 입니다.PDF파일에 페이지 번호가 없어서 인쇄하는데 있어 페이지수가 적으면 문제가 안되지만 수십페이지만 되어도 읽을때 문제가 될 수 있습니다. 페이지가 바뀐다거나 아니면 인쇄할때 잘못되어 중간부터 인쇄할때 몇페이지 부터 인쇄해야 될지 찾는데 시간이 소요 될 수 있는 문제를 해결하려면 페이지번호가 들어가 있는것이 좋습니다.  /** …
  • profile_image chat GPT API를 통해서 물어본것에 대한 테스트 인데요.잘 되네요.별도의 모듈설치 없이 그냥 실행 되었습니다. 제가 전에 다른것 하면서 설치 되었는지는 확인 안해 봤습니다.  // zlib 모듈을 불러온다.  const zlib = require('zlib');  const fs = require('fs');  // 압축할 문자열  const str = '압축할 문자열';  // gzip으로 압축한다.  zlib.gzip(str, (err, buffer) => {    if (!err) {      // 압축된 버퍼를 문자열로 변환한다.      const gzip_base64 = buffer.toStrin…
  • profile_image 파일저장이나 또는 가져올때등 상대경로로 호출 하는 경우도 있지만때론 전체 경로를 알아야 되는 경우가 있습니다.그럴때 현재 디렉토리 기준으로 처리하면 좋은때 이럴때 사용 합니다.  // 현재 디렉토리   const _DIR_   = process.cwd();  php의 __DIR__ 과 같은 역활 입니다.확인 결과 위 예제는 잘 되는 것입니다. 현재 V16 버전에서 문제 없었습니다.* 사용한곳은 아래 입니다. 파일을 저장할때 유용합니다.  [nodejs] PDF파일 페이지 번호 없는 경우 페이지 자동으로 넣어주기 > javascript  버전 업그레이드가 심해서 안되는것 들이 종종 입니다.요즘 언어들 경쟁 붙었는지 …
  • profile_image 현재 nodejs 실행중인 유저를 알아내기 위한 것입니다.같은 프로그램을 쉘에서 실행하기도 하고 웹서버를 통해서 실행하기도 합니다.그런 경우 파일을 쓰게 되면 문제가 발생합니다.  import os from "os";  let osUser  = os.userInfo().username;  if ( osUser  == 'root' ) {    console.log('루트 유저: ', osUser);  }  else {    console.log('osUser: ', osUser);  }  발생되는 문제는 웹서버로 쓰면 웹서버 유저가 되지만시스템에서 실행하면 시스템에서 실행한 유저로 파일이 저장 되는데요.이때 시스템에서 실…
  • profile_image 아작스로 서버에 전송하는 기능까지 테스트 된것입니다.jQuery 버전에 따라서 ajax 전송하는 방식이 약간 다른 부분이 있으니 버전 참고하세요.본인이 현재 사용하는것과 여기 샘플의 버전이 비슷하면 문제가 되지 않을듯 싶습니다.<!DOCTYPE html><html lang="ko"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">…
  • profile_image 백엔드의 PDF-LIB에서 폰트를 지정하지 않으면 오류가 발생 합니다.영문은 문제 되지 않지만 한글의 경우 오류를 만나게 됩니다.그렇기 때문에 커스텀 폰드를 지정해야 하는데 스탠다드폰트가 아닌 별도 폰트를 사용할 때 필요한 부분입니다.Error: WinAnsi cannot encode "한" 이러한 오류를 만나게 된다면 한글을 사용할 수 없는 폰트이기 때문입니다.    // https://pdf-lib.js.org/#examples  import { PDFDocument, StandardFonts, rgb } from 'pdf-lib'  // Cannot import fontkit from @pdf-lib/fontkit…
  • profile_image 특정 문자로 구분자를 줘서 문자열로 만들어주는 함수인데요PHP의 implode에 해당하는 기능입니다.배열의 경우는 간단하게 join 메소드를 사용하면 되는데요. 객체는 안되기 때문에 만들어진것입니다.  let aa = {    'bb1' : 345,    'cc'  : 23,    'ee'  : 'abc'  }  let bb = ['name','2',33,5,'age'];    /**   * 문자열 구분자로 합치기   *   * @param string gubun   * @param object obj   *    * @return [type]   *    */  function implode( gubun, obj ) …
  • profile_image 파일명에서 파일의 확장자만 필요한 경우 사용합니다.자바스크립트 이긴 하지만 nodejs에서 사용해도 동일합니다.블라우저의 자바스크립트에서 사용하는 함수를 백엔드의 노드에서 사용해도 문제 없습니다.  /**   * 파일 확장자   *   * @param string file   *   * @return [type]   *   */  function file_ext( file ) {    let fileExt  = file.split(".").pop();    fileExt  = fileExt.toLowerCase();    return fileExt;  }  console.log('파일 확장자: ', file_ext('t…
  • profile_image 다른 프로그램 언어와 데이터를 주고 받을때 많이 사용하는 json 문자열과 객체형태로 서로 변환하는 방법에 대한것입니다.여개서 객체는 연관배열로 생각하시면 됩니다.연관배열은 배열의 키 부분이 문자열이 들어갈 수 있는것을 말합니다.  // json 문자열로 만들기  let oParm   = {    'test'    : 123,    'abc'     : '345'  };  console.log('-- 현재값 ----------------------------------------');  console.log(oParm);  console.log('');  console.log('-- 문자열 ----------------…
  • profile_image PHP의 http_build_query 과 같은 것입니다.배열을 쿼리스트링으로 만들어 줍니다.<!DOCTYPE html><html lang="ko"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>자바스크립트 배열 URL 쿼리스트링 생성 </title></head><scrip…
  • profile_image PHP에서의 _GET에 해당하는 형태로 URL의 쿼리 스트링을 분리해주는 함수 입니다.아래 두개 함수는 비슷한것으로 위쪽에 있는것만 사용을해도 됩니다.<!DOCTYPE html><html lang="ko"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>자바스크립트 쿼리스트링 분리 </title&…
  • profile_image 요소(엘리먼트) 또는 태그를 삭제하는 jQury 메소드에 대한 설명입니다.id값을 이용해서 자기자신을 포함해서 삭제하는 remove와자신은 그대로 둔 상태에서 안쪽(내용) 부분을 전체 삭제하는 empty의 차이점 입니다.<!DOCTYPE html><html lang="ko"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  &…
  • profile_image 자바스크립트에서 비율로 처리 해야 할 때 필요한 함수 입니다.픽셀로 전환을 다시 하거나 픽셀을 비율로 처리 하거나 서로 전환이 가능한 기능을 가집니다.픽셀은 고정된것이기 때문에 화면이나 특정 박스안에 있을때 동적으로 처리가 되지 않습니다. 변화된 크기에 따라서 위치나 크기가 같이 변하게 하려면 비율로 처리를 해야 하는데 그때 필요한 부분입니다./** * px to percent change * * @param mixed mode        : px2per, per2px * @param mixed divWidth    : 대상박스 가로 * @param mixed divHeight   : 대상박스 세로  * @param …
  • profile_image 페이지에 하나만 있는 ID를 선택자로 사용하면 좋은데 간혹 그렇지 못한 경우가 있습니다.이럴때는 class가 있을 경우 클래스를 선택자로 하는데 여러개가 한꺼번에 있을 때 AND 조건인 경우와 OR 조건인 경우에 해당 하는 것입니다. <div class="offcanvas-header navbar-shadow px-4 mb-3">위와 같이 여러개가 있을경우아래는 AND 조건이 되고. 그렇기 때문에 아래 모두 일치하는 엘리먼트를 삭제 하게 됩니다.$(".offcanvas-header.navbar-shadow.px-4.mb-3").remove();이번꺼는 OR 조건이 됩니다. 하나라도 일치 하는 것은 모두 없애는…
  • profile_image 원리를 알면 간단합니다.어떤것이든지 알고나면 간단핝데 알기전에는 정말 쉬원것도 모르면 답답한 법입니다.보통 이미지나 div 박스등은 가로 세로의 픽셀을 구할 수 있습니다.그런데 div 박스 안의 텍스트 글자의 전체 길이를 픽셀로 구하고 싶은 경우가 있는데요.이런 경우 사용하는 방법입니다.이는 가운데로 정렬 되어 있어도 크게 다르지 않습니다. 방법은 다음과 같습니다.박스를 두개 사용하는데 안쪽의 박스에는 TEXT 글자가 들어가 있고 span으로 감싸고 밖을 div나 또는 다른것으로 감싸면 됩니다.width = $(this).find('span:first').width();그리고 밖의 박스에서 위치와 가로세로 높이를 구합니…
  • profile_image 상대적으로 설정 되어 있거나 또는 다른 형태로든 관계 없이 박스와 박스의 사이의 간격을 알고 싶으면 각  박스의 값을 구해서 서로 빼 주면 간격을 알 수 있습니다.이미지 크기 또는 대상의 크기jQuery 에서 소수점포함(더 정확히) 알고자 할때는 아래를 사용한다..width() .outerWidth()이미지의 경우 화면에 보이는 렌더링된 크기가  아닌 원본 크기: prop('naturalWidth')소수점 없음: prop('offsetWidth') 바닐라 자바스크립트: domRect = element.getBoundingClientRect();jQuery: $("#"+id)[0].getBoundingClientRect(…
  • profile_image id값이 없을때 안쪽에 있는것 찾는 방법에 해당 하는것입니다.동적으로 생성되거나 할때는 id값을 일일이 주기 힘든 경우가 있습니다. 이럴때는 여러개 있어도 관계가 없는 class 를 이용하는것도 방법입니다. $(document).ready(function() {  // div 안쪽에 input box가 있는데 id 값이 없을 때  //  > 클래스를 하나 줘서 찾는 방법도 있다. id는 문서에서 유일해야 하지만 class는 여러개 와도 관계 없음.  $("#inboxDiv").find("input").each(function()  {    console.log(this);  // html 출력    console.…
  • profile_image 특정 파일만 받고자 할때 체크하는 방법입니다.확장자로 체크하는데 더 좋은것은 MIME로 체크하면 더 좋습니다.확장자는 얼마든지 변경할 수 있고 더 문제는 아무렇게나 확장자를 변경하는 경우도 있습니다.<script>  $("#images").on("change", function(e)  {    var files     = e.target.files;    var filesArr  = Array.prototype.slice.call(files);    filesArr.forEach(function(f)    {      /*        lastModified: 12345657890234      lastMod…
  • profile_image HTML의 form에서 인풋박스에서 jQuey를 이용한 데이터를 그대로 다른 인풋박스에 넣어주는 간단한 프로그램 입니다.키보드 입력에 대한것은 keydown 과 keyup이 있는데 입력한 정보를 얻을때는 keyup 입니다.눌린다음 올라올때 비로서 입력한 값을 얻을 수 있습니다. keydown도 감지는 되지만 입력된것을 얻을 수는 없습니다.  <input type="text" name="test1" id="test1"><input type="text" name="test2" id="test2"><script>  $("#test1").on("keyup", function(e)  {    le…
  • profile_image jQuery를 이용한 태그의 하위요소중에서 첫번째 요소에 대한 스타일 속성을 변경하는 방법에 대한 것입니다.아래는 자바스크립트 변수로 처리 되었지만 테스트 할때는 상수를 넣어 해보시면 됩니다.아래와 같이 사용하면 됩니다. $( "#"+idname ).css( 'touch-action', status);$( "#"+idname + " > div:first-child").css( 'touch-action', status);● 참고한곳https://homzzang.com/b/jquery-52
  • profile_image 요즘은 배열 보다는 객체로 많이 사용되기도 하는데요.배열을 삭제 하는 방법에 대한것입니다.기본적으로 있는 remove는 완전히 없어지는 것이 아니라 빈방으로 만드는 역활을 합니다.그렇기 때문에 갯수를 체크하면 생각과 다를 수 있습니다. 현재의 브라우저 버전에서도는 사용해서 문제 되지 않습니다.  Array.prototype.removeByValue = function (val) {    let arrRtn  = this.filter(item => item !== val);    return arrRtn;  }  // 0 부터 시작 한다  Array.prototype.removeByIndex = function ( …
  • profile_image jQuery를 이용한 방식이기 때문에 아래에는 명시 되어 있지 않지만 라이브러리 추가 해야 됩니다.확인하는 방법은 브라우저의 소스보기를 통해 가능 합니다.   <div class="target" id="target1"> target 1 </div>  <div id="source">source</div>    <input type="button" value="clone replaceAll target 1" id="btn1" />  <script>    $(document).ready(function() {        $('#btn1').click(funct…
  • profile_image 스크롤 할때 움직이는 메뉴에 대한 것은 원리를 알면 본인의 상황에 맞게 수정이 가능합니다.보통 플로팅 메뉴 또는 플로팅배너 라고 합니다.스크롤 이벤트가 발생이 되면 그 위치 만큼 div박스의 top 위치를 변경시켜주는 방식 입니다.아래는 jQuery를 이용하였습니다.<script>// 화면 크기가 변경 되었 때$(window).resize(function( event ) {   $(this).trigger('scroll'); });// 페이지 읽힌 다음 위치 설정$(document).ready(function() {  // 기존 css에서 플로팅 배너 위치(top)값을 가져와 저장한다.  var floatPo…
  • profile_image 자료구조에서 3가지를 배웁니다.큐, 스택, 디큐 여기서 스택은 먼저 들어간것이 나중에 나오는 방식 입니다. 즉, 최근에 들어간것이 먼저 나옵니다. 브라우저의 앞으로가기 뒤로가기 같은 것을 생각하시면 될것 같습니다.이건 구현하려면. 두개의 스택을 만들고 넣고 빼고 해야 될듯 합니다.function Stack(max_size){  const SIZE  = max_size;  let top     = 0;  let aItem   = [];    return {    pop() {      if(top < 1) {        return -11;      }      else {        let temp = aIte…
  • profile_image 자바스크립트와 nodeJS 동일할것입니다. 별도 테스트는 안해 봤지만.배열의 갯수가 한정된것이 아니라서 만들때 var aTest= []; 이런 형태로 만듭니다.오브젝트는 {} 를 사용하면 되죠. php의 implode 는 join 을 사용하면 됩니다.예를 들어 다음과 같이 했을 때 첫번째 빈배열이 있습니다.  // 아래와 같이 하면 빈 배열이 하나 있어서 맨 앞에 구분자로 준 / 이 나오게 된다.  let aTest     = [];  aTest[1]      = 1;  aTest[2]      = 2;  console.log( aTest.join('/') );  // 다음과 같이 하는것이 더 좋다. 앞에 / 추가되던 …
  • profile_image 뚱뚱하게 나온다고 자르면 더 보기가 좋지 않다. 입이나 코가 잘리는 경우 그렇다. 뚱뚱하게 나오면 보기가 좋지 않고 그래서 비율에 맞게 처리해 주는 방법이 제일 좋은데 아래 방법을 사용 하면 된다. 알아보기 쉽게 인라인으로 작성함. 이미지 주변에 옅은 테두리를 추가하고 이미지가 짤리지 않도록 조정하기 위해서 먼저 이미지를 감싸는 div 태그에 테두리(border)를 추가하고 이미지의 object-fit 속성을 contain으로 변경하여 이미지가 전체적으로 보이도록 조정할 수 있습니다. 이미지의 가로 세로 비율을 유지하면서 너비는 100%로 설정하여 부모 요소의 너비에 맞추고 높이는 원하는 값으로 고정합니다. 이렇게 하면…
  • profile_image 글자가 많을 경우 밀리지 않고 뒤쪽이 보이지 않게 처리하려면 텍스트가 넘치는 부분을 숨기는 CSS 속성인 overflow를 사용할 수 있습니다. 여기에 text-overflow 속성을 추가하여 넘치는 텍스트를 어떻게 처리할지 결정할 수 있으며 white-space 속성을 사용하여 텍스트가 한 줄에 표시되도록 설정할 수 있습니다.width 속성을 설정하여 <div>의 너비를 제한하는 것도 중요합니다. 이를 통해 텍스트가 넘치는 부분을 '...' (ellipsis)로 표시하도록 설정할 수 있습니다.아래의 코드 예시는 이러한 속성들을 사용하여 긴 텍스트가 넘칠 경우 '...'으로 표시하는 방법을 보여줍니다.  &l…
  • profile_image 반응형으로 만들기 좋은 부트스트랩에 관한 툴이 있는 사이트입니다.가끔씩 사용할때 레이아웃이 생각나지 않은 경우 이용하면 좋습니다.지원하는 버전은 현재 버전보다 낮은 4버전 이긴 하지만 기본적인것은 동일하기 때문에 사용하는데는 큰 문제는 없습니다. * 찾을 때 검색한 키워드bootstrap design toolbootstrap builder* 부트스트랩 레이아웃 관련된 사이트 https://www.bootstrapcdn.com/https://bootstrap.build/apphttps://www.layoutit.com/https://bootsnipp.com/builder
  • profile_image 현재 페이지에서 표현이 되고 있는 스타일을 간단하게 자바스크립트로 볼 수 있는 방법입니다.const fontSize = Number(window.getComputedStyle(document.body).getPropertyValue('font-size').match(/\d+/)[0])위에대한 설명입니다.window.getComputedStyle(document.body) - HTML BODY에 대한 모든 스타일을 얻으려면getPropertyValue('font-size') -글꼴 크기의 문자열 값을 얻으려면 예 : (16px)match(/\d+/)[0]) - 숫자 부분 만 얻으려면 예 : (16) - 문자열Number(…
  • profile_image 글자색을 지정하는 방법에 대한 것입니다. font-color 같은것을 사용해도 되겠지만 가능하면 프레임워크 사용할때는 프레임워크에서 지웒는것이 있는지 찾아본 다음 있으면 그것을 사용하는것이 좋기 때문입니다.텍스트 컬러에 대한 표준적인 형태로 잘 정리된 표 입니다.
  • profile_image 일반적으로 제목이 길면 2줄로 나오게 됩니다. 너무 긴 경우 더 나올수도 있겠지요.그런 경우 백엔드에서 잘라서 보여주기도 하곤 합니다.이런 경우 css 처리 방법에선 hidden을 주면 됩니다.부트스트랩에선 overflow-hidden 클래스만 추가해주면 기본적인 길이에서 넘치게 되면 보이지 않게 처리를 합니다.높이게 대한것과 길이에 대한 부분은 필요하면 style 속성을 추가해서 해주면 됩니다.a 태그도 필요하면 style 줘서 높이와 길이 지정하여 사용하면 원하는 형태로(길어서 넘치는 경우) 한줄로 보이고 초과된 부분은 화면에서 보이질 않게 됩니다.
  • profile_image 부트스트랩 배지(badge) 패딩 주기 입니다.기본은 너무 바짝 붙어서 패딩을 주었으면 하는데 위 이미지 참고 하면 됩니다.마진과 패딩 가끔 사용하다 보니 얼마나 헷갈리는지... 패딩은 겨울옷 패딩을 생각하면 되고 마진은 밖에서 남겨 먹는거라~
  • profile_image 다음에 찾을때 필요할듯 하여 올림.!!반응형을 처리 하는 방식에 대한 이름(명칭) 입니다. 화면의 크기와 더불어 요즘은 해상도가 커지면서 글자 크기에대 한 부분도 같이 신경써야 합니다. squish, scroll, collapse rows, collapse columns 방식의 반응형 모델 입니다.
  • profile_image 버튼을 클릭하면 아작스를 통해서 서버로 보낸다음 버튼의 색을 변경하고 명칭도 변경하여 목록으로 이동 할 수 있게 하는 기능을 만들다 보니 이런것이 필요하게 되었습니다.처음의 버튼은 '글 삭제하기'였습니다.그리고 클릭하여 정상적으로 삭제가 되면 메시지를 하나 보여주고 '정상적으로 삭제 되었습니다.' 그리곤 아래의 jquery 명령으로 버튼를 변경해 줍니다.  - 버튼의 명칭을 변경합니다.  - onclick 특성을 줘서 클릭하면 주소를 이동합니다.  - 부트스트랩의 클래스를 변경하여 버튼의 색이 바뀌게 합니다.    $('#del_btn').html(' 목록으로 이동하기 ');    $("#del_btn").attr("o…
  • profile_image 공백을 제거 하는 방법 입니다.이렇게 되면 줄바꿈 문자도 같이 버리는 작업이 들어가기 때문에 한줄로 나옵니다. 이에 대한 프로그램은 vscode에서 Beautify 확장 프로그램을 사용하면 들여쓰기와 줄바꿈을 해줍니다. 이런 역활은 웹사이트에도 있으니 "온라인 Beautify" 같은 키워드로 검색하면 쉽게 찾을 수 있습니다.CentOS에서 아래 명령으로 설치 하고 명령을 내리면 min 파일을 만들 수 있습니다.yum -y install yuicompressoryuicompressor s.css -o s.min.css웹서버를 직접 관리 할 수 있다면 서버 설정으로 자동으로 gzip 으로 압축하여 전송하는 방법이 있습니다.…
  • profile_image 제목에 있듯이 여기서 SCSS 설정에 대한것은 VSCODE 프로그램을 사용한다는 것을 기반으로 합니다.1) 먼저 아래 확장 프로그램을 설치 합니다.   Live Sass Compiler v3.0.0   Sass Lint (deprecated) 2) 아래는 setting.json 에서 SCSS 부분에 해당 하는 부분만 발췌한 것입니다.        "liveSassCompile.settings.generateMap": false,    "liveSassCompile.settings.formats":[      {        "format": "expanded",        "extensionName": ".css", …
  • profile_image 시작 하기전에 기본적은 CSS에서의 block과 inline에 대해서 알아둘 필요가 있습니다.div는 기본적으로 설정을 하지 않으면 block 입니다. 설정을 하지 않으면 기본적으로 한라인을 다 차지 한다는 의미 입니다.span은 기본적으로 inline 특성을 가지고 있습니다. 컨텐츠의 크기 만큼만 차지를 합니다.물론 위 요소에 대한 특성을 변경이 가능 합니다. 아래 포지션에 대해 테스트 하기 전에 이런 특성을 알고 있는것이 중요 합니다.보통 확인을 할때는 style의 값을 "border: 1px solid black" 이런 형태로 박스를 쳐서 확인 합니다.▶ 포지션의 특성은 아래 4가지가 있다.static, relat…
  • profile_image 소개 하고자 하는것은 업데이트가 좀 되었지만 현재 작동을 잘 하고 있는 서포트 프로그램 입니다.VSCODE는 리눅스 같습니다.오픈된 확장프로그램 좋은것이 많지만 안되는것도 많고. 버전관련 문제도 있고 나에게 맞는것을 찾는데 시간을 써야 합니다.제가 요즘 하고 있는 CSS 서포트 프로그램 입니다. * HTML CSS 지원* Visual Studio Code에 대한 HTML ID 및 클래스 속성 자동완성.  - HTML ID 및 클래스 속성 완성.  - 연결 및 포함된 스타일 시트를 지원합니다.  - 템플릿 상속을 지원합니다.  - 추가 스타일 시트를 지원합니다.  - 언어와 같은 다른 HTML을 지원합니다.  - 요청 시…
  • profile_image CSS는 페이지를 꾸며주는 역활을 합니다. HTML은 어떠한 기능이라면 말이죠. 예를 들면다른 페이지를 연결 할때는 a태그, 표형태로 표현을 하고자할때는 table 그리고 문단은 p태그 등으로 표현하는 기능적인 것입니다.그렇다면 CSS의 역활은?. 와꾸(틀)를 잡아 줍니다.. 색을 입혀 줍니다. 마우스 올라갔을때 나갔을때의 색을 변경해 줍니다.. 글자색을 변경해줍니다.. 화면크기에 따라서 넓게 혹은 좁게 모바일버전등 처리를 해줍니다.. 화면에 보이는것들과 관련이 있다고 보시면 됩니다.. 폰트를 설정 합니다.......이 페이지에선 기본적인 선택자(셀렉터)에 대해서 하나 배우고 갑니다. CSS에서 말하는 속성(프로퍼티)와…
  • profile_image USB, SD카드, 외장하드등 휴대하여 사용하는 저장매체를 점검하고 기록하는 대자입니다.점검하는 점검자는 2사람 으로 현재 수랑과 어떤 용도로 사용하는지 체크 하도록 되어 있습니다. 
  • profile_image 컴퓨터 화면 캡처 기록부는 디지털 작업의 기록과 관리를 체계적으로 할 수 있도록 돕는 문서 양식으로 각 화면 캡처에 고유 식별 번호를 부여하고 캡처를 실행한 사람의 이름과 명칭 캡처가 이루어진 날짜와 시간을 기록할 수 있습니다. 그리고 파일 경로와 간략한 설명 추가적인 메모를 포함하여 화면 캡처에 대한 종합적인 정보를 제공합니다.  이 문서를 통해 화면 스크린샷의 출처와 내용을 쉽게 확인할 수 있으며 여러 작업을 관리하고 추적하는 데 유용하고 특히 프로젝트 진행 상황을 기록하거나 문제 해결 과정에서 증거를 남길 때 효과적입니다. - 명칭: 화면 스크린샷의 제목 또는 명칭 이름- 날짜: 화면 캡처가 실행된 날짜- 시간: …
  • profile_image 회사에서 휴대용 저장장치를 어떻게 사용하고 있는지 관리하는 확인서 입니다.USB나 CD등 휴대하고 다닐수 있는 모든 장치를 말하며 외장형 HDD도 같이 포함 됩니다.또는 SD카드등 모든 휴대용 저장장치를 말하며 재사용 또는 폐기를 어떻게 처리 하는 관리 대장입니다. 폐기의 경우 모아 두었다가 한꺼번에 물리적으로 파손을 시켜 폐기 하거나 또는 전문 업체에 맞겨서 인증서를 받아 두는 것을 권장 합니다.
  • profile_image 주로 보안 및 감사 목적으로 사용 하면 좋은 태블릿 PC의 반입과 반출에 대한 기록을 정리하고 추적하는 데 도움이 되는 문서 입니다. - 날짜 및 시간: 태블릿 PC가 반입 또는 반출된 날짜와 시간을 기록합니다. 이는 태블릿 PC의 움직임을 추적하고 보안 이슈를 식별하는 데 도움이 됩니다.- 직원/부서: 태블릿 PC를 반입 또는 반출한 직원의 이름 또는 소속 부서를 기록합니다. 이는 책임을 명확히 하고 특정 직원이나 부서의 동향을 파악하는 데 도움이 됩니다.- 태블릿 PC 식별 번호: 각 태블릿 PC의 고유한 식별 번호를 기록합니다. 이를 통해 특정 장비의 움직임을 추적할 수 있습니다.- 반입 또는 반출 유형: 태블릿 …
  • profile_image 노트북을 반입하는 과정을 기록하고 관리하기 위한 문서입니다. 사용자 이름, 부서, 노트북 모델(시리얼 번호), 반입 및 반출 시간 등의 정보를 포함하며 이를 통해 반입된 노트북의 현황을 투명하게 관리하고 추적할 수 있도록 돕습니다.  - 사용자 이름: 노트북을 반입한 사람의 이름- 날짜: 노트북을 반입한 날짜- 부서: 해당 사용자가 속한 부서- 노트북 모델: 반입한 노트북의 모델명과 필요하면 시리얼번호- 반입 시간: 노트북을 반입한 시간- 반출 시간: 노트북을 반출한 시간- 비고: 기타 필요한 메모
  • profile_image 모든 컴퓨터 및 기기에 최신 보안 소프트웨어를 설치하고 정기적으로 업데이트하고 불확실한 출처에서의 파일 다운로드를 피하고 검사하는 등 정보 보안 원칙을 지키며악성코드 방지에 필수적인 행동을 철저히 수행할 것을 다짐하는 내용을 담고 있습니다.  이 서약은 구성원들이 보안 의식을 강화하고 책임감을 가지도록 함으로써, 정보 보안 관리의 중요성을 인식하고 이를 실천하는 기회를 제공합니다.
  • profile_image 이 문서는 간략히 소프트웨어 개발 종사자로서 투명하고 공정한 직무 수행을 다짐한다는 내용 입니다. 사례, 증여, 향응을 받거나 주지 않으며, 모든 직무는 공개된 장소에서 투명하게 처리하고, 고객과 청탁을 받지 않고 합리성과 공정성을 기준으로 행동하고, 접대나 선물을 주지 않고 이를 어기면 어떠한 불이익도 받겠다는 내요인데요. 이렇게 윤리준서 서약을 함으로 거래의 행동에 있어 잘못 된 부분은 없는지 생각해 볼 수 있는 기회를 주기도 합니다.
  • profile_image 컴퓨터 포맷 및 초기화 작업을 체계적으로 기록하고 관리하기 위한 관리대장으로 표 형식의 문서입니다. 컴퓨터 초기화(포맷) 관리를 위한 기록부는 각 포맷 작업의 세부 사항을 추적하고포맷 과정에서 발생할 수 있는 문제점 및 백업 여부 등을 기록하여 이후에 참고할 수 있도록 도와PC 포맷 작업의 내용과 수행 과정을 쉽게 파악할 수 있으며 문제 발생 시 추적과 문제 해결에 용이합니다.이를 통해 시스템 관리자는 각 PC 노트북 컴퓨터의 포맷 작업의 이력을 명확히 파악하는 관리대장에 의해 필요한 경우 문제 해결 및 시스템 유지보수에 필요한 정보를 쉽게 찾을 수 있습니다. - 이름: 작업을 수행한 사람의 이름입니다. - 명칭: 포맷…
  • profile_image 정보통신 소프트웨어 개발 프로젝트에 참여하는 기업과 하도급 업체의 임직원들이 작성하는 문서로서 소프트웨어 개발 과정에서 공정경쟁과 이에 따른 부패방지 서약서 입니다.이 부패방지 서약서는 입찰, 계약체결, 계약이행 과정에서 공정경쟁을 해치는 행위나 뇌물 제공을 하지 않겠다는 다짐을 명시 하는 내용으로 되어 있습니다. 서약을 위반할 경우, 입찰참가자격 제한, 계약 취소 등 불이익을 감수하고 법적 조치에도 이의를 제기하지 않겠다는 내용을 포함합니다. 또한, 회사는 공정경쟁을 위한 부패방지 윤리강령을 준수하고 내부 부패 및 비리 제보자에 대한 불이익 처분을 하지 않을 것을 약속합니다.
  • profile_image 프로그램 개발 비밀유지 동의서는 소프트웨어 개발 프로젝트와 관련하여 취득한 모든 업무 내용을 제3자에게 누설하지 않겠다는 일종의 서약서입니다. 서명자는 회사가 정한 보안 규정을 철저히 준수할 것을 동의하며, 이를 위반할 경우 법적 책임을 질 수 있습니다.  동의서에는 회사명, 주소, 대표자명, 사업자등록번호가 기재되며, 대표자의 서명을 할 수 있도록 만들어진 문서 입니다.
  • profile_image 프로그램을 각 부서에서 어떤용도와 언제 설치 했는지 알 수 있는 소프트웨어 설치 사용내역서 양식 입니다.소프트웨어의 이름, 버전, 라이선스 유형, 설치일, 사용 부서, 담당자, 비고 등의 항목을 통해 소프트웨어의 현황을 파악하고 관리할 수 있습니다. 이 양식은 소프트웨어 사용의 투명성과 효율성을 높여줍니다. 번호: 항목의 순번을 기재합니다.소프트웨어 이름: 사용 중인 소프트웨어의 이름을 입력합니다.버전: 소프트웨어의 현재 버전을 기재합니다.라이선스 유형:  라이선스 유형(예: 무료, 유료, 오픈소스 등)을 명시합니다.설치일:  설치한 날짜를 기록합니다.사용 부서: 해당 소프트웨어를 사용하는 부서를 기재합니다.담당자: 관…
  • profile_image 편의성과 전기가 나가도 문제가 되지 않고. 절전 모드를 사용하면 하던 일을 그대로 이어서 할 수 잇는 노트북 지급을 위주로 하는 회사에서 생산성을 위해서 별도의 큰 모니터를 이용할때 사용하게되는 HDMI 분배기 사용현황에 대한 양식 입니다. 번호: HDMI 분배기의 관리를 위한 내부에서 사용하는 고유 식별 번호이름: HDMI 기기의 명칭 또는 별칭명칭: 분배기의 공식 명칭 - 구매한 제품명을 말합니다.제조사: 제조한 회사명모델명: 사용하는 제품의 모델명일련번호: 고유 일련번호 - 시리얼로 관리하는 것이 아니라면 반드시 필요한 것은 아닙니다.설치 위치: 설치된 장소 또는 위치가 될 수 있고 지급된 사람 이름이 될 수 있습…
  • profile_image 노트북에 연결하여 사용하는 HDMI 분배기 관리를 위한 문서양식 입니다.PC에 연결하여 사용할 수도 있지만 보통 멀티로 사용하기 위해서 PC 보다는 노트북 USB 포트에 연결합니다. 순번: HDMI 분배기의 순서 번호로, 각 분배기를 고유하게 식별하기 위한 번호입니다.분배기 이름:  분배기의 명칭 또는 별칭으로, 쉽게 식별할 수 있도록 부여된 이름입니다.모델명: HDMI 의 모델명으로, 제조사에서 제공하는 공식 모델 번호입니다.구매날짜: 구매한 날짜입니다.설치위치: HDMI 분배기가 설치된 장소 또는 위치입니다.상태: 현재 상태 (예: 정상, 고장, 수리 중 등)입니다.담당자: 관리 및 유지보수를 담당하는 사람의 이름입…
  • profile_image 컴퓨터(PC) 소프트웨어 설치 현황표는 설치된 소프트웨어의 목록을 정리하여 컴퓨터의 소프트웨어 사용 상태를 쉽게 파악할 수 있도록 하는 문서입니다. 이 현황표는 IT 관리나 보안 점검, 소프트웨어 라이선스 관리 등에 매우 유용합니다.  소프트웨어 목록을 수집하는 방법은 여러 가지가 있습니다. 수동으로 각 소프트웨어를 확인하고 기록할 수도 있지만, 이를 자동으로 수집해주는 도구를 사용하는 것이 효율적입니다.▷ 자동 수집 도구 사용:Belarc Advisor: 컴퓨터에 설치된 모든 소프트웨어와 하드웨어 정보를 스캔하여 상세한 보고서를 생성해줍니다.CCleaner: 시스템 정리 도구로도 유명하지만, 설치된 프로그램 목록을 추…
  • profile_image 컴퓨터(PC) 소프트웨어 관리대장은 소프트웨어의 설치, 사용, 업데이트 및 삭제를 체계적으로 관리하기 위한 문서로서 이 관리 대장을 작성하면 소프트웨어의 라이선스 관리, 버전 관리, 보안 업데이트 등을 효율적으로 수행할 수 있습니다.  아래는 PC 소프트웨어 관리대장을 작성하는 방법에 대한 간단한 설명입니다.1. 기본 정보 수집먼저, 모든 소프트웨어에 대한 기본 정보를 수집합니다.소프트웨어 이름: 소프트웨어의 공식 이름버전: 현재 설치된 버전설치 일자: 소프트웨어가 처음 설치된 날짜라이선스: 라이선스 유형(예: 프리웨어, 상용 소프트웨어, 오픈 소스 등)라이선스 만료일: 유료 소프트웨어의 경우 라이선스 만료 날짜설치 위…
  • profile_image PC와 노트북 대여(반출)과 반납한 기록에 대해 관리 할 수 있는 반입,반출 문서관리 대장입니다.주요항목: 모델명(Serial Number), 반출사유, 반출(대여), 반입(반납), 웜바이러스 점검결과, 반출(대여)자, 반입(반납)예정일, 반입(반납)일 PC 반입 반출 대장은 회사나 기관에서 사용되는 컴퓨터 장비의 반입과 반출을 기록하고 관리하는 문서입니다. 이 문서는 장비의 유출 및 손실을 방지하고, 자산 관리를 체계적으로 할 수 있도록 도와줍니다. 작성된 PC 반입 반출 대장은 회사 자산 관리의 일환으로 중요한 역할을 합니다. 이를 통해 장비의 이동 내역을 체계적으로 기록하고 관리할 수 있습니다.
  • profile_image 아래 영상에 있는것을 간단하게 정리 한것입니다.문제는 화폐를 많이 풀어서 생긴 인플레이션에 대한 것입니다. 적당한 화폐를 풀어야 하는데 내 화폐가 아니라는 생각이 있었을까요?MMT 이제는 말이 없겠습니다. (주권 국가는 자국 통화로 부채를 지불할 수 있으므로 기술적으로 파산할 위험이 없다고 봅니다. - 대략 이런뜻)항상 그렇듯이 자신만의 기준으로(규칙으로) 판단을 해야 하는 것입니다.참고할것은 하고 준비해야 할것은 하고 기회도 놓치면 안되는것에…
  • profile_image 현재 전쟁을 보면 러시아가 밀리고 있다고 판단이 되는데 그게 맞느냐?러시아도 그렇게 생각하고 있나? 전쟁과 평화에서 나폴레옹이 60만 대군으로 러시아를 침공하는 그림 하나로 그린 유명한 것이라고 합니다.위에서 까만색 선은 돌아오는것이라고 합니다.40만이 러시아 국경을 넘었다고 하는데 돌아올때는 1만명 정도 였다고 합니다.러시아는 이때는 청야전술을 했고 후퇴만 했다고 합니다. 적의 자원을 소모시키는 것을 했다는 것입니다.이 전술은 역사를 보면 상…
  • profile_image 우리가 언론에서 익히 들은 러시아의 유가 가격상한제에 대해서 제대로 알고 있는가에 대한 영상 입니다.러시아는 왜? 조용할까?아래 그림을 보면 우리가 생각했던것과 확연하게 다른것을 볼 수 있습니다.생각해 보면 인도와 러시아는 다른곳에서 사져오는것보다 전체적인 비용이 저렴하기만 하면 이익 입니다.러시아는 사가는쪽에서 이익이 되면 당연히 살것을 무리해서 싸게 팔 이유는 또 없는 것입니다. 우리는 흔히 인도가 러시아에서 수집하는 것은 20% 정도는 할…
  • profile_image 천리길도 한걸음 이란 오래전 부터 전해오는 말이 있습니다.쉬운일도 못하면서 굉장한 일을 할 수 있을까요?그렇지 않을 것입니다.아래는 동기부여관련 유명한 영상으로서해병대 사령관이 왜? 아침에 일어나 침대부터 정리해야 하는지 알려 줍니다.결론은 쉬운일부터 하나하나씩 해가다 보면 어느새 나도 모르게 다른 사람과 대화를 하다 보면 다름을 느낄 수 있습니다. ● 참고할것실제 심리학적으로도 뭔가 성과를 이루면 나 자신에 대한 자신감이 생기게 됩니다.그리고…