분류 전체보기 78

AWS 해킹으로 700만원 내다버릴 뻔한 이야기

이 글은 해커에게 AWS 계정을 해킹당해 700만원의 청구서를 받고, 이를 해결하기까지의 과정을 담은 기록이다.발단7월 14일평화로운 금요일 저녁, 판도라의 상자를 열고야 말았다. 컴퓨터 파일을 백업하려고 한동안 안 쓰던 외장하드를 연결한 것이 화근이었다. 외장하드에는 멀웨어(바이러스)가 심어져 있었고, 나도 모르는 사이에 내 컴퓨터에 있던 서버 인증키를 탈취당했다.   전개7월 14일~19일AWS에서 메일이 도착했다. 비정상적인 사용이 감지되고 있으니 빨리 확인하라는 것이었다.그러나 나는 이 메일을 미처 확인하지 못했다. 7월 20일 오후 3시모르는 전화번호로 전화가 왔다. 받지 말까 고민했는데 일단 받았다.이때 전화를 안받았다면.. 진짜 피눈물 흘렸을지도 모르겠다. 전화를 받아보니 AWS 한국 고객센..

카테고리 없음 2023.07.25

Unity Tilemap 타일끼리 겹치는 레이어 문제 해결

상자가 제대로 보이지 않고, 벽이랑 겹쳐 보이는 문제가 발생했다. 가장 떠올리기 쉬운 방법은 타일맵을 또 하나 더 만들어서 Order In Layer 값을 수정해주는 것이겠지만... 고작 박스 하나 안겹치게 한다고 타일맵까지 분리하는건 너무나도 비효율적이다. 유니티 세팅만 만지면 해결될 문제일 것 같아서 열심히 구글링을 해봤다. 1. 프로젝트 세팅 편집 프로젝트 세팅 - Graphics 탭으로 가서 Camera Settings을 변경해주어야 한다. Sort Mode를 Default에서 Custom Axis로 바꾼 후, XYZ 값을 (0, 1, 0) 으로 바꿔준다. 타일맵 상에서 Y값이 더 위에 있는 타일부터 '먼저 렌더링'하게 해주기 위해서이다. 아까같은 경우를 보면, 벽이 박스보다 더 높은 Y위치에 있..

개발/Unity 2023.05.23

Prettier HTML 태그 자동 줄바꿈 해제하기

VS code의 유용한 코드 정리 확장프로그램인 Pretter를 쓰다가 불편함이 생겼다. 그리 길지도 않은 태그를 지맘대로 줄바꿈 정리해버리는 문제였다. 해결방법은 생각보다 단순했다. 우선 익스텐션 모드에서 Prettier를 찾은 다음, 프리티어 확장프로그램의 설정(톱니바퀴) 아이콘을 클릭한다. 그 다음, 우상단을 잘 보면 setting.json파일을 여는 Setting 아이콘이 있다. 이걸 클릭해주자. 그럼 여러 세팅들이 나올텐데, 마지막에 "prettier.printWidth": 200 를 추가해주면 된다. 200줄이 넘어갈때만 줄바꿈 정리해주겠다는 뜻이다.

개발/Web 2022.11.22

백준 2533: 사회망 서비스(SNS) (Python)

문제페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망에서 사람들의 친구 관계는 그래프로 표현할 수 있는데,  이 그래프에서 사람은 정점으로 표현되고, 두 정점을 잇는 에지는 두 정점으로 표현되는 두 사람이 서로 친구 관계임을 표현한다. 예를 들어, 철수와 영희, 철수와 만수, 영희와 순희가 서로 친구 관계라면 이를 표현하는 친구 관계 그래프는 다음과 같다.  친구 관계 그래프를 이용하면 사회망 서비스에서 어떤 새로운 아이디어가 전파되는 과정을 이해하는데 도움을 줄 수 있다. 어떤 새로운 아이디어를 먼저 받아들인 사람을 얼리 아답터(early adaptor)라고 하는데,..

개발/백준 2022.09.07

백준 2143번: 두 배열의 합 (Python)

문제한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A의 부 배열의 합에 B의 부 배열의 합을 더해서 T가 되는 모든 부 배열 쌍의 개수를 구하는 프로그램을 작성하시오.예를 들어 A = {1, 3, 1, 2}, B = {1, 3, 2}, T=5인 경우, 부 배열 쌍의 개수는 다음의 7가지 경우가 있다.T(=5) = A[1] + B[1] + B[2] = A[1] + A[2] + B[1] = A[2] + B[3] = ..

개발/백준 2022.09.05

백준 1208번: 부분수열의 합 2 (Python)

문제N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오해설발상이 어려웠던 문제다. 수열의 최대 크기가 40인데, 백트래킹(브루트포스)로 전체 경우를 구하게 되면 O(n^40)으로 시간초과가 발생한다. 이때, 수열을 절반으로 나누어 각 수열마다 O(n^20) + O(n^20) 의 시간복잡도를 가지게 하면 시간 내에 풀 수 있게 된다. 먼저, 다음과 같이 길이가 10인 수열이 있고, 합이 0이 되는 경우를 구한다고 가정해보자.# Input10 01 2 3 4 5 -1 -2 -3 -4 -5 먼저 수열을 절반으로 나눌 것이다.그러면 다음과 같이 left, right 두 개의 리스트를 얻을 수 있다. # lef..

개발/백준 2022.09.03

[MySQL] 비번 맞게 쳤는데 계속 틀렸다고 할 때 해결 방법

또 시작된 맞왜틀이다. 맞는데 왜 틀려? 코드 상에서 MySQL에 접속했을 때는 분명 접속이 잘 됐는데, 콘솔에서 하려고 하니까 로그인이 안되는 신기한 현상이다. ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES) 이 에러 메시지는 로그인 비밀번호를 잘못 입력했을 때 나온다. 비번을 잊어버렸을 때 또는 로그인이 안될 때 SQL에 접속할 수 있는 방법을 정리해본다. STEP 1. cmd를 관리자 권한으로 실행 관리자 권한으로 실행해주도록 하자. STEP 2. cmd에서 MySQL의 bin 폴더가 있는 곳으로 이동하기 STEP 3. MySQL 서비스 중지시키기 net stop mysql STEP 4. 인증 스킵 ..

개발/Web 2022.09.03

[React 공부] Typescript를 쓰는 이유와 기능

자바스크립트는 관대하다. 개발자가 Type을 지정하지 않아도, Undefined된 오브젝트를 사용하려고 해도 '일단은' 군말없이 받아준다. 그러나 사소한 규칙 위반이 쌓여 도저히 다룰 수 없을 지경이 되면 문제는 그 때부터 시작된다. 테스트 단계에서는 됐는데 배포하니까 사이트가 터졌는데요? 왜 사용자 전화번호가 number로 넘어온건가요? 사용자 이름이 undefined로 출력되는데 어떡하죠? ... 바닐라 JS는 컴파일 전에 코드를 검사하지 않는다. 따라서 우리가 무언가 잘못됐음을 직감하는 시기는 실제로 사이트가 돌아가는 와중일 가능성이 높다. 그리고 자료형(Type) 등을 엄밀하게 따지지 않는다는 점 때문에 개발 단계부터 무언가 잘못 쓰기 시작하면 문제를 알아채는 시기는 프로젝트 규모가 커진 이후가 ..

개발/Web 2022.08.25

백준 16948: 데스 나이트 (Python)

문제게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크기가 N×N인 체스판과 두 칸 (r1, c1), (r2, c2)가 주어진다. 데스 나이트가 (r1, c1)에서 (r2, c2)로 이동하는 최소 이동 횟수를 구해보자. 체스판의 행과 열은 0번부터 시작한다. 데스 나이트는 체스판 밖으로 벗어날 수 없다.해설 너비 우선 탐색(BFS) 로 풀 수 있는 문제이다. 체스 시리즈인 N-queen, 비숍, 나이트의 이동 중에서는 비교적 쉬운 축에 속하는 문제라고 생각한다. 데스 나이트의 이동방향을 dx..

개발/백준 2022.08.24

백준 12849: 본대 산책 (Python)

문제숭실 대학교 정보 과학관은  캠퍼스의 길 건너편으로 유배를 당했다. 그래서 컴퓨터 학부 학생들은 캠퍼스를 ‘본대’ 라고 부르고 정보 과학관을 ‘정보대’ 라고 부른다. 준영이 또한 컴퓨터 학부 소속 학생이라서 정보 과학관에 박혀있으며 항상 본대를 가고 싶어 한다. 어느 날 준영이는 본대를 산책하기로 결심하였다. 숭실 대학교 캠퍼스 지도는 아래와 같다.(편의 상 문제에서는 위 건물만 등장한다고 가정하자)한 건물에서 바로 인접한 다른 건물로 이동 하는 데 1분이 걸린다. 준영이는 산책 도중에 한번도 길이나 건물에 멈춰서 머무르지 않는다. 준영이는 할 일이 많아서 딱 D분만 산책을 할 것이다. (산책을 시작 한 지 D분 일 때, 정보 과학관에 도착해야 한다.) 이때 가능한 경로의 경우의 수를 구해주자.해설다..

개발/백준 2022.08.23