지난 3년간 인증받았던 것들 (ISMS-P, ISO 27001, Solutions Architect)

HYEONG HWAN, MUN/ 5월 1, 2024/ 미분류/ 0 comments

자기 개발 용도로 취득했던 것들인데, 지인이 블로그에 올려보는게 어떻겠느냐 라고 하셔서 올려봅니다.   자격증의 의미 : 공인된 제 3자를 통해서 해당 분야의 일정 수준을 검증 받았다. 업무를 하면서, 자격증은 별 필요가 없습니다. 하지만 가끔씩 공인된 제 3자로부터 평가를 받아보는 것은 좋은 경험이 됩니다. 요즘, 주워 들은게 많은, 말만 잘하는 짭 전문가들이 정말 많습니다. 최소한 그런 사람들과 차이점을 두기 위해서, 자격증 취득을 해 두는 것이 좋습니다.   실제로 이 사람이 잘하는 사람인지 검증하는 방법 (TIP) 검증 방법은 매우 쉽습니다. 해보라고 하고, 검증하면 됩니다. 해내면 찐이고, 못하거나 혀가 길면 짭이죠.   아무튼 인증 받은 내역들 입니다. 인기있는 자격 인증은 대부분 유효기간이 3년이라서, 3년내 취득한 것만 나열해 봅니다.   1. AWS Certified Solutions Architect – Professional 인증코드 : S62CWBRC0BF4Q79R 검증사이트 : https://aws.amazon.com/verification 취득일…

Ubuntu 24.04 LTS 에서 웹서버(Apache + PHP + MySQL) 구성하기

HYEONG HWAN, MUN/ 4월 17, 2024/ 미분류/ 11 comments

이 글을 통해 Ubuntu 24.04 LTS 운영체제에서 APM 웹서버를 구축하는 방법에 대해 설명하도록 하겠습니다. 저는 Ubuntu 9.04 버전부터 10년 넘게 구축 방법을 작성/유지보수 하고 있으며, 그동안 많은분들이 참고해주셨고, 별 문제가 없었습니다. 일반 사업체 및 실무 서비스에서 사용할 수 있는 안정적인 구축 방법을 설명 하겠습니다. 개인적인 의견 (24년 4월 22일) Ubuntu 20.04LTS 에서 22.04LTS 로 바뀔때 많은 부분의 변경이 있었습니다. 혁신적이라기 보다는 “이러면 혼란이 있겠다” 싶은 부분이 꽤 있었습니다. 따라서 제 블로그에는 Ubuntu 22.04 관련글을 많이 적지 않았습니다. 24.04 버전은 제가 둘러본 결과, 안정적으로 (의도대로 동작함) 사용할 수 있는 것 같습니다. – 개인적인 의견 : Ubuntu 22.04 LTS 는 건너뛰는걸 권장. – 대안 : 이 글 또는 다른글을 보고 Ubuntu 24.04 LTS 를 사용하세요. * 리눅스 명령어 환경으로 접속하는 방법을 모른다면 이 글로 이동하세요. 리눅스 명령어 환경으로…

2023/2024 실업급여 조건 및 수급기간

HYEONG HWAN, MUN/ 11월 2, 2023/ 미분류/ 0 comments

인터넷 검색결과에 마음에 드는 글이 없어서, 이 블로그에 요약해서 정리해 본다.   실업 급여 정확한 명칭은 “고용보험 실업급여” 임. 관련 부처는 “고용노동부“. 관련 법령은 “고용보험법“. 고용보험법 41조 ~ 43조 까지는 핵심을 담고 있으니 꼭 읽어볼 것. (제발 읽어보세요) [고용보험법 법령링크는 여기에]   고용보험 실업급여의 의미 실직하여 재취업 활동을 하는 기간에 소정의 급여를 지급함으로써 실업으로 인한 생계불안을 극복하고 생활의 안정을 도와주며 재취업의 기회를 지원해주는 제도 [구직급여] 와 [취업촉진수당] 으로 나뉜다. 구직급여 : 일반적으로 말하는 매월 지급되는 “실업 급여”는 이것을 말한다. 취업촉진수당 : 구직급여를 받는 중 수급기간이 절반이상 남아 있고, 취업을 하면, 구직급여는 중단되고 취업촉진 수당을 받는다.(해당 직장에서 1년 근무한 후에)   실업 급여 수급 조건 실업급여 관련법에서는 “이별” 단어의 “떠나다 이” 자를 사용해서, “이직=직업을 떠나다” 라는 뜻으로 사용한다. 그런데 헷갈리므로, 이…

2024 SaaS 회사들이 갖추어야할 역량

HYEONG HWAN, MUN/ 10월 30, 2023/ 미분류/ 0 comments

요즘, 기교가 있는 사람들이 넘쳐난다. 어떤 개발 주제가 주어졌을 때, 이것을 해결할 수 있는 사람이 넘쳐나는 것이다. (또한, 기교가 있는 개발 회사도 넘쳐난다.) 개발 결과물에 대해서 정량적으로 평가하기 매우 어렵기 때문에, 좋은 코드, 좋은 소프트웨어, 좋은 서비스, 좋은 개발자를 찾는 것은 힘든 작업이다. (회사가 사람을, 발주회사가 개발회사를) 따라서 이러한 시대에서 다른 개발자들과 유의미한 차이를 가질 수 있는 역량에 대해 생각하였고, 그 역량은 “신뢰”로 정해졌다. 예를들어 내 블로그의 글들은 개발 방법론 적인 글도 많지만, 주로 인프라 구축에 대해서 설명하고 있다. 웹서버 구축에 관해서 이야기 하자면, 리눅스에 웹서버 설치 및 구성할 수 있는 사람은 넘쳐난다. 하지만, SLA에 입각하여 몇퍼센트 이상 가동을 보장할 수 있는지 서비스가 몇명을 수용 가능한지 오토스케일링은 되는지 장애에 대해 인지할 수 있고 빠른 복구가 가능한지(RPO/RTO) 네트워크는 안전한지 서비스는 안전한지…

무료로 Ubuntu Pro 를 활성화 하여 안전한 OS 사용하는 방법

HYEONG HWAN, MUN/ 7월 31, 2023/ 미분류/ 0 comments

이 글을 통해 Ubuntu LTS OS를 온전히 10년간 사용하도록 조치해 보자. * 이 글은 짝수년도 4월달에 출시하는 LTS 버전에 대해서만 다룹니다. 모든 Ubuntu LTS OS 사용자에게 권장됨. 내용을 읽어보고, 무조건 따라해 보세요. 당신이 개인 사용자 (Private User) 또는 5인스턴스 미만의 사용자라면, 이 글 내용대로 따라하기 당신이 기업 사용자 (Business User) 라면, 이 글 내용대로 따라하거나 또는 기본지원기간(5년)마다 OS 업데이트 하기   1. Ubuntu OS 의 생명 주기 (Ubuntu LifeCycle) 소프트웨어 또한 하드웨어처럼 수명이 있습니다. 한번 작성한 프로그램을 무한정 유지보수 하지는 않습니다. 참고 : https://wiki.ubuntu.com/Releases 간혹 End of Standard Support 와 End of Life 를 헷갈려하는 분들이 있던데, OS의 수명은 10년이니까 누군가 다른 말을 한다면 무시하시면 됩니다. Ubuntu LTS 버전 : 10년의 동작을 보장함. (5년의 일반 지원과, 5년의 기본OS 업데이트 지원,…

미래에셋증권 현금성자산 금리

HYEONG HWAN, MUN/ 7월 7, 2023/ 미분류/ 0 comments

미래에셋증권 퇴직연금 부담금납입이 되면 미래에셋증권현금성자산 으로 분류가 됩니다. 따로 상품을 매수하지 않으면 현금성 자산으로 남아 있습니다. 미래에셋증권 현금성자산 금리는 연 3.50% 입니다. (2023년 7월 7일 기준)   미래에셋증권앱 > 관리하기 > 계좌별종합잔고 메뉴에서 현금성 자산의 금액을 확인 가능합니다. 매일 이자가 붙기 때문에, D2 – D1 계산을 통해서 이율을 확인할 수 있습니다.    

direct 기가랜 연결후기

HYEONG HWAN, MUN/ 4월 18, 2023/ 미분류/ 0 comments

PC간에 파일 복사를 해야하는데, 최고 속도로 하고 싶어서 direct 기가랜으로 두 컴퓨터를 연결했다. 요즘엔 NVME SSD 를 사용하기 때문에 (예전 SATA 시절과는 달리) 디스크를 옮겨꼽기도 엄청 번거롭고 여의치 않더라.   아무튼 Network 로 옮겨야겠다고 결정함.   처음에는 로컬 기가공유기를 사용해서 통신했는데, 만족할 만한 속도가 나오지 않아서 PC-PC 끼리 다이렉트로 연결해 보았다. 네트워크 설계(VPC 설계) 할 수 있으면 적절한 값을 입력하여 두대의 PC를 연결할 수 있다. 어차피 IP Direct 연결이라서, Gateway 구성은 필요치 않고 서브넷만 잘 설정해주면 서로 통신할 수 있다.   1. 처음에는 1Gbps 속도로 전송했음. (그래봤자 120MB/s 속도임) 2. 타겟컴퓨터가 NVME SSD 이었음에도 불구하고 write 속도가 55MB/s (450Mbps) 로 줄어듬. (이 타겟 컴퓨터의 벤치마킹 프로그램 상으로 write 속도는 967MB/s 이었음.) SSD 의 남은 용량이 10% 미만이면 속도저하가 있다더니 그…

s3 tip

HYEONG HWAN, MUN/ 4월 5, 2023/ 미분류/ 0 comments

우선순위 규칙에서, 경로가 일치하더라도, 상위의 허용된 verb가 매칭되지 않으면, 다음순위의 handler 가 받아서 처리한다. 같은 경로이더라도 verb 에 따라서, 여러 origin 설정이 가능하게 되어있나보다. 복잡한 인프라 구성이 가능할 듯 함.

php max_execution_time 및 mysql 등 시간제어

HYEONG HWAN, MUN/ 2월 13, 2023/ 미분류/ 0 comments

관련 정의는 다음과 같다. https://www.php.net/manual/en/info.configuration.php#ini.max-execution-time   max_execution_time int This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0. On non Windows systems, the maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details. Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.…

rds cluster zerotime patch

HYEONG HWAN, MUN/ 2월 9, 2023/ 미분류/ 0 comments

    3) tc-domains2022 클러스터 February 09, 2023, 01:20 (UTC+09:00) Database cluster has been patched 2) tc-domains2022-instance-1 인스턴스 February 09, 2023, 01:15 (UTC+09:00) Attempt to upgrade the database with zero downtime finished. The process took 0 ms, 5 connections preserved, 0 connections dropped. See the database error log for details. 1) tc-domains2022-instance-1 인스턴스 February 09, 2023, 01:15 (UTC+09:00) Attempting to upgrade the database with zero downtime.   키워드 문구는 볼드 처리함. 신기하네. zero downtime. 아마 minor 한 부분 패치 후 reload 한것 같음.

미래의 유망한 사업 분야

HYEONG HWAN, MUN/ 2월 5, 2023/ 미분류/ 0 comments

AI에게 “미래의 유망한 사업 분야” 에 대해 질문하였고, 아래와 같은 답변을 받았다.   There are several promising business sectors for the future, including: Renewable Energy: With the increasing awareness about climate change and the need to reduce carbon emissions, the demand for renewable energy sources is expected to grow rapidly. Artificial Intelligence: AI is being increasingly adopted across industries, and its applications are vast, including automation, predictive maintenance, and personalized customer experiences. Healthcare: With an aging population and increasing demand for better healthcare services, the healthcare sector is poised for growth, particularly in areas such as telemedicine, genomics, and personalized medicine. E-commerce: Online shopping continues to grow in popularity and the trend is expected to continue. The market for e-commerce…

CloudFront Lambda 함수 삭제

HYEONG HWAN, MUN/ 11월 18, 2022/ 미분류/ 0 comments

1. 트리거는 표시가 부정확하다. 트리거에 안보여도 사용중일수 있음. 별로 신뢰하지 않음. 트리거에 보이다가도 몇번 수정작업 하다보면 사라져있는것을 볼 수 있음.     2. 삭제 해서 지워지면 안쓰고 있는것. CloudFront 에서 함수를 사용하면 replicated 상태가 된다. (어찌보면 당연한 동작임) 이러한 replicated 상태인 lambda는 삭제가 되지 않는다. CF 들어가서 모두 해제하면 삭제가능하게 바뀜.     https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-delete-replicas.html      

올바른 비밀번호 암호화 알고리즘 선택하기 (안전하게 패스워드 저장하기)

HYEONG HWAN, MUN/ 11월 8, 2022/ 미분류/ 4 comments

    암호화에 대한 마음에 드는 설명글이 없어서 내가 하나 작성해 보려고 한다. 암호화(暗號化)란? 먼저 “암호화“의 단어의 뜻에 대해 알아보도록 하자. 많은 사람들이 암호화를 제대로 구현하지 못하는 이유는, 단어의 뜻을 올바르게 이해하지 않고 구현하기 때문이다. 암(暗) : 어두울 암 호(號) : 부를 호 어둡게 부르는 것을 암호라고 한다.   몇가지 암호화의 예제를 알아보자. 원본 메세지(original message) : HELLO 암호화 메세지 : H1E1L1L1O1 암호화 방식 : 각 문자 뒤에 1 문자를 삽입. 단점 : 암호화 방식(1을 제거)을 알면 손쉽게 원본을 알 수 있음 원본 메세지(original message) : HELLO 암호화 메세지 : HLL 암호화 방식 : 원본 메세지에서 모음(AEIOU) 알파벳을 제거. 단점 : 원본 메세지가 손실됨. HOLLA 같은 메세지와 동일한 암호화 결과를 만들어내는 충돌(collision)문제가 있음. 원본 메세지(original message) : HELLO 암호화 메세지…

developer tool 막는코드

HYEONG HWAN, MUN/ 10월 30, 2022/ 미분류/ 2 comments

debugger를 걸고 시간을 체크해서 막는다. 같은 라인으로 설정해서 never pause here 도 막는다. 난독화된 막는코드   난독화 풀어서 나온 코드 : 여전히 해석이 어렵지만 아주 자세히 보면 동작방식을 읽을 수 있다.   <script type = “text/javascript”> (function (_0x58753b, _0x16ff52) { var _0x135e8f = _0x5dcf, _0xde025 = _0x58753b(); while (true) { try { var _0x31c520 = -parseInt(_0x135e8f(192)) / 1 * (-parseInt(_0x135e8f(187)) / 2) + parseInt(_0x135e8f(200)) / 3 + -parseInt(_0x135e8f(195)) / 4 + -parseInt(_0x135e8f(183)) / 5 + -parseInt(_0x135e8f(190)) / 6 + parseInt(_0x135e8f(186)) / 7 + parseInt(_0x135e8f(182)) / 8 * (parseInt(_0x135e8f(185)) / 9); if (_0x31c520 === _0x16ff52) break; else _0xde025.push(_0xde025.shift()); } catch (_0x20ae29) { _0xde025.push(_0xde025.shift()); } } }(_0x354f, 178647)); var tryCount = 0, minimalUserResponseInMiliseconds = 200; function check() { var _0x2920ff = _0x5dcf;…