일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- socket
- ip
- typescript
- dp
- HTTP 완벽 가이드
- Crawling
- 알고리즘
- 타입 챌린지
- 프로그래머스 레벨 2
- 레벨 1
- type challenge
- 가천대
- 프로그래머스
- TCP
- dfs
- Node.js
- 자바스크립트
- javascript
- 문자열
- 수학
- 그래프
- BFS
- 백준
- 크롤링
- 소켓
- 쉬운 문제
- Nestjs
- Algorithm
- 타입스크립트
- HTTP
- Today
- Total
목록전체 글 (499)
kakasoo
EC2란? EC2는 AWS에서 제공되는 가장 인기있는 서비스로, 하나의 서비스가 아니라 고수준에서 여러 서비스들을 포괄하는 단어이기도 하다. 가상 머신을 임대하는 것 외에도 데이터를 가상 드라이브 또는 EBS에 저장하거나, ELB로 부하를 분산, 오토 스케일링 그룹으로 서비스를 확장하는 것 모두가 EC2 서비스에 포함된다. EC2에서 가상머신을 임대할 때 선택사항 OS ( Linux, Windows, Mac OS )를 선택해야 하며, 나는 Amazon Linux 2를 사용한다. 컴퓨터 성능, 코어 수 ( = 프리티어로 t2.micro를 사용하기 때문에 코어는 1개 ) 램 (RAM, Random Access Memory) 의 크기를 선택해야 하며, 마찬가지로 프리티어에서는 1GiB이다. 스토리지의 크기 (..
결제 및 비용 관리 탭 예산 확인은 AWS 콘솔에서 우측 위 자신의 프로필을 누르고, [결제 및 비용관리] 탭을 누르면 확인할 수 있다. [과금 정보 및 비용 관리 홈]에서는 자기가 이번 달에 사용한 금액을 AWS 서비스 ( = 리소스 ) 별로 확인해볼 수 있다. 예시로 보여준 이미지는 IAM 사용자로 로그인하였기 때문에 권한이 없어 아무것도 나오지 않는데, 이럴 경우 Root에서 권한을 줘야 한다. IAM User가 예산을 확인할 수 있게 권한 주기 이번에는 Root 계정으로 로그인하여, 계정 프로필 탭에서 [계정]을 누른다. ( 예시 이미지에서는 여전히 IAM이지만 루트로 해야 한다 ) 계정 탭에 들어가서 스크롤을 하면 아래에 [결제 정보에 대한 IAM 사용자 및 역할 액세스] 라는 섹션이 존재한다...
자격 증명 보고서 ( = IAM Credentials Report ) 제목의 둘은 IAM 보안 도구로 묶이는 도구들인데, 도구라고 해서 거창한 것은 아니고 권한을 체크하는 버튼 두 개일 뿐이다. IAM 자격 증명 보고서 ( = IAM Credentials Report )는 계정 레벨에서 사용이 가능하며, 모든 사용자의 정보를 볼 수 있다. 보고서는 계정에 있는 사용자와 다양한 자격 증명의 상태를 포함하고 있는데, 여기에는 MFA 인증 여부 따위의 정보가 나온다. 이는 보안 관리자에게 어떤 사용자에게 주목해야 하는지 정보를 제공해준다. IAM 대시보드 좌측 사이드에서 자격 증명 보고서를 누르고, 보안 인증 보고서 다운로드 버튼을 누르면 CSV 형태로 볼 수 있다. 액세스 관리자 ( = IAM Access ..
IAM Role ( = 역할 ) Role은 사용자와 같지만 실제 사람이 사용하도록 만들어진 것이 아니고 AWS 서비스에 의해 사용되며, IAM 대시보드에서 사용할 수 있다. 아직 EC2에 대한 걸 배웠지만, 만약 EC2 인스턴스를 만든다면, EC2 인스턴스가 AWS에서 어떤 작업을 수행하길 원할 수도 있다. 이럴 때 EC2 내부 코드 상에 자격증명을 하는 대신 EC2에 필요로 하는 권한을 담아 IAM Role을 만들고 이를 하나의 개체로 묶을 수 있다. 이러면 EC2 인스턴스가 AWS 개체에 접근하고자 할 때 Role에 따라 접근할 수 있는 자원을 확인할 것이다. 일반적으로는 EC2 Instance Roles과 Lambda Function Roles이 존재하지만, 그 외에도 많은 서비스에 Role을 적용..
AWS 리소스에 접근하는 방법 AWS에는 3가지 접근 방법으로, 콘솔, CLI, AWS SDK가 있다. 콘솔은 대시보드 형태로 웹 상에서 직접 AWS 리소스를 다룰 때 사용하지만, CLI나 AWS SDK는 외부 환경에서 리소스를 다룰 수 있다. 따라서 CLI, AWS SDK는 권한 인증이 필수적인데, 이 때 액세스 키를 필요로 한다. ( 액세스 키는 절대 다른 사람에게 공유해선 안 된다. ) 액세스 키 아이디 ( Access Key ID ) 는 username과 같고 시크릿 액세스 키 ( = Secret Access Key ) 는 password와 같다. CLI는 AWS에서 제공하는 커맨드 라인 인터페이스로 쉘과 같은 환경에서 명령어로 AWS를 사용할 수 있게 해준다. SDK는 Software Devel..
IAM 사용자 보호 방법 2가지 사용자들은 계정에 접근 권한이 있고 구성을 변경하거나 리소스 삭제가 가능한 경우도 많다. 따라서 적어도 루트 계정만은 반드시 보호해야 하며, 전체 IAM 사용자도 보호하는 것이 좋다. 그룹과 사용자의 정보가 침해당하지 않게 보호하는 매커니즘은 2개가 있다. 비밀번호 정책 MFA의 사용 ( 다요소 인증 ) 비밀번호가 더 어려워지게 특정 유형 글자 사용을 강제하거나 비밀번호 최소 길이를 지정할 수 있다. 또 비밀번호를 수정할 수 없게 하거나, 90일마다 비밀번호를 만료시켜 변경하게 할 수도 있고, 이전에 사용한 것과 동일한 비밀번호를 사용하는 것을 막아 보안을 더 안전하게 유지할 수 있다. 이런 식으로 비밀번호 정책을 이용하면 계정에 대한 치명적인 공격을 막는 데에 도움이 된..
사용자, 사용자 그룹 ( Users, User Groups ) 에 대한 설명 Alice, Bob, Charles, David, Edward, Fred 6명의 사람들이 있다고 해보자. Alice, Bob, Charles는 Developer이고, David, Edward는 Operation팀에 속한다. 마지막으로 Fred는 어느 팀에도 속하지 않았다고 해보자. 이 때, 이 6명의 사람들을 각각 User ( = 사용자 ) 라고 하고, 정의된 3개의 그룹을 User Group ( = 사용자 그룹 ) 라고 정의한다. 사용자들은 자신의 그룹으로부터 권한을 상속받아 사용할 수 있기 때문에 그룹을 이용해서 권한을 관리하는 편이 더욱 효율적이다. 반면, Group Aduit Team 처럼, Charles, David가 ..
에러 상황 { "channel": "meta", "message": "(#100) The parameter (생략) is required", "type": "OAuthException", "code": 100, "fbtrace_id": (생략) } code 100번에 message가 항상 고정으로 들어가는 것은 아니지만, code 100이 시사하는 바는 항상 똑같다. 요청자의 요청이 잘못된 경우로, 일반적으로 우리가 4XX 클라이언트 에러라고 생각하는 것을 모두 code 100으로 표현한다. 여기서는 생략한 지점에 들어간 파라미터가 잘못되었다는 의미로, 어떤 파라미터가 잘못되었는지에 따라 요청이 바뀐다. 해결 방법 명백한 개발 실수이기 떄문에 수정을 하면 된다. 특정 파라미터의 경우에는 어떤 점이 잘못되..
이전 글 [Meta] 메타 유저와 대응되는 파트너사의 구조 ( PBM, CBM ) 이전 글에서 [Meta] 용어 정리 (메타 자산 구조, 유저부터 유저의 자산까지) 메타 용어 정리 설명하기에 앞서 메타 용어들을 정리하고 가야 할 필요성을 느낀다. 메타의 ERD 구조가 실제로는 어떠한 kscodebase.tistory.com 서론 저번에는 PBM과 CBM에 대해서 설명했다. 마지막 그림만 가지고 다시 설명하면, Meta User는 PBM을 자신의 agency로 등록해야 한다. 모종의 이유로, PBM에서 바로 광고를 집행하는 것은 계정 정지 등의 이유에 대해서 대응하기 취약하기 때문에 PBM은 CBM을 만든다. PBM은 자신의 고객 당 하나의 CBM을 만들고, 고객으로부터 받은 자산 ( = DataSourc..
전문가 복잡함에 더 매력을 느끼는 사람 - 스틱 81p 기능 추가는 사실 매우 순수한 의도에서 식자된다. 기술자가 리모컨을 바라보며 생각에 잠긴다. ‘흠, 여기 앞쪽 공간이 비는군. 그러고보니 마이크로칩 용량도 좀 여유가 있었지. 남는 용량을 그냥 놀리느니 율리어스력과 그레고리력을 변환하는 기능을 넣는 게 어떨까?’ 기술자는 그저 사람들을 돕고 싶었을 뿐이다. 사람들을 깜짝 놀라게 할 만한 새로운 기능을 추가해 리모컨을 더욱 개선하고 싶었을 뿐이다. 한 편 팀의 다른 기술자들은 달력변환 기능에 별반 관심이 없다. 쓸데없는 기능이라고 생각하면서도 굳이 “달력변환 기능을 추가하느니 차라리 내 모가지를 잘라!” 라고 반대하지는 않는 것이다. 이런 식으로 천천히 그리고 조용히 리모컨과 다른 첨단 기술 기기들은 ..
이전 글에서 [Meta] 용어 정리 (메타 자산 구조, 유저부터 유저의 자산까지) 메타 용어 정리 설명하기에 앞서 메타 용어들을 정리하고 가야 할 필요성을 느낀다. 메타의 ERD 구조가 실제로는 어떠한지 모르지만, Meta Marketing API를 호출하면서 광고 자산들의 구조에 대해 대 kscodebase.tistory.com [Meta] 메타 광고 계정 생성 및 광고 관리자에 대한 설명 서론 이 글에서는 유저가 메타 관리자 페이지에서 비즈니스를 생성하고 광고 계정을 생성, 결제 정보를 연동하는 것까지를 다루려고 한다. 사실 개발자 입장에서는 유저의 플로우를 몰라도 API kscodebase.tistory.com 이전에 메타의 자산 ( = DataSource 라는 용어로 통합되었다 ) 에 대해서 설명..
소유권이 이전될 때의 문제 use std::io; // 어떤 외부 크레이트를 사용할지는 use로 명시 가능하다. fn main() { let mut input = String::new(); some_fn(input); io::stdin().read_line(&mut input); // (1) let mars_weight = calcuate_weight_on_mars(100.0); println!("weight on Mars: {}kg", mars_weight); } fn calcuate_weight_on_mars (weight: f32) -> f32 { (weight / 9.81) * 3.711 } fn some_fn (s:String) {} 이 코드에서 (1) 구간에는 에러가 났다. 이유는 이 라인에 ..