전체 글 174

AWS IAM이란?

AWS는 저번에 살펴봤다시피 인터넷을 통해서 리소스를 제공하고 있습니다. 그만큼 편리하게 접근할 수 있기에 아무나 접근 권한을 줘버리면 안되겠죠. 그래서 AWS에서는 IAM이라는 것이 있습니다. IAM은 Identity and Access Management의 약자로 별도의 접근 권한을 계정을 운영 및 관리하는 것입니다. 실제로 AWS에 처음 로그인을 할 때 아래와 같은 화면을 맞닥뜨리게 됩니다.루트는 말 그대로 모든 권한을 가지고 있는 계정이고 회원가입을 하면 자동으로 생성됩니다. 그리고 IAM 사용자로 별도의 권한을 가진 계정으로도 로그인이 가능합니다.IAM은 위와 같이 관리가 가능합니다. Alice, Bob, Charles가 개발자로서의 역할을 가지고 있는 팀원들일 때 이들은 Developers라는..

클라우드 2024.05.05

AWS 클라우드란?

개발자라면 AWS, 클라우드 이 두 단어를 못 들어봤을리는 없을 겁니다. 하지만 저를 포함해서 단어만 알고 막상 활용을 잘 못한다거나 지식이 부족한 경우도 많이 있는 것 같아 저도 기초부터 차근차근 공부해나가면서 관련 지식을 블로그에 기록하려 합니다. 먼저 클라우드라는 게 뭔지 한 번 살펴보죠. 클라우드 이전의 방식에서 인프라를 구축한다고 하면 서버 장비를 직접 사와서 서버를 구축하는 것이었습니다. 데이터 센터라는 시설을 빌리거나 직접 데이터 센터를 운영할 경우 전력, 냉각, 유지보수 등 모든 사항들에 대해서 직접 관리했어야 했죠. 뿐만 아니라, 24시간 동안 시설의 동작을 감시할 인력도 고용을 해야하고 증설을 하고 싶으면 필요한 만큼 또 장비를 구매해서 직접 설치해야하죠. 최악의 경우, 지진, 정전, ..

클라우드 2024.05.02

우리 조직의 개발 문화는 어느 정도일까? - DORA metric

프론트엔드 개발을 위주로 하는 입장에서 DevOps는 사실 단어는 너무나도 많이 들리지만 막상 아는 건 하나도 없는 가깝고도 먼 단어입니다. 최근 팀에서 DevOps 관련된 주제를 가지고 토론을 빙자한 수다를 좀 떨었는데 아주 흥미로운 내용이었습니다. 팀의 개발 문화를 측정하는 지표에 대한 이야기였죠. DORA란? DORA (DevOps Research and Assessment) 구글에서 개발한 DORA (DevOps Research and Assessment)는 제품 개발을 보다 효율적인 운영할 수 있도록 도와주는 지표입니다. 특히 요즘 개발 프로세스 중에서 가장 핫한 키워드인 "애자일(Agile)"과 아주 밀접한 관계를 가진 지표이기도 해서 실제 많은 기업들이 이 지표를 사용하고 있습니다. DORA..

스크롤바 CSS로 커스텀 스타일링(디자인) 하는 법

글을 시작하기에 앞서 먼저 주의사항 하나 짚고 넘어가자. Mdn에서 스크롤바를 조작하는 ::webkit-scrollbar는 표준이 아니기에 제품 출시에는 사용하지 않기를 권고한다. 실제 호환성을 살펴보면 보는 모든 브라우저를 지원하지는 않는다. 그렇다면 지원하는 브라우저가 뭔데?? 바로 webkit 계열의 브라우저들이다. Webkit 계열에 해당하는 브라우저들에는 뭐가 있을까? - 크롬 (Android 웹뷰 포함) - 엣지 - 사파리 - 삼성 인터넷 - 오페라 - 네이버 웨일 그렇다. 사실상 대부분의 브라우저들이다. 그렇기에 ::webkit-scrollbar는 웬만하면 모든 브라우저에서는 된다. 하지만 파이어폭스 유저들을 위한 서비스라면 호환이 안 되니 이 점은 참고하자. 먼저 스크롤바를 스타일링하기 위..

웹/CSS 2024.04.05

2024 팀 네이버 신입공채 코딩테스트 후기

웹 개발자라면 그것도 프론트엔드 개발자라면 네이버는 정말 가고 싶은 회사 중 하나다. 이번 채용공고에서 25년도 2월 졸업자까지 지원이 가능했기에 지원자격에 딱 맞기도 했고 올해 하반기는 채용이 없을 확률이 매우 높기에 일단 되든말든 코테라도 봐보자해서 지원하게 되었다. 3월 18일까지가 지원서 접수였고 오늘 23일 아침 10시~12시에 코딩테스트가 진행되었다. 진행시간 : 10시 ~ 12시 문제수 : 3문제 진행 환경 : 프로그래머스 이전에 프로그래머스에서 문제를 푼 경험도 있었고 코딩테스트를 봐본 경험도 있어서 IDE가 어색하지는 않았다. 그저 내가 코테 공부를 많이 안 했을 뿐...지금 인턴도 하고 있고 출퇴근하면서 정신 없는 건 사실이지만 어쨌거나 공부를 안한 건 사실이다ㅋㅋㅋㅋ 일단 3문제를 다..

취준 2024.03.23

백준 2839 - 설탕 배달

처음 든 생각 - 브루트 포스해도 시간 복잡도가 괜찮을까? -> 최대 50000이니깐 O(N)으로 한쪽으로만 탐색을 다 하면 충분하겠네 나의 답 import sys input = sys.stdin.readline N = int(input()) three = N // 3 five = 0 isPossible = False result = 10000000 while three >=0: if (N - (three * 3)) % 5 == 0: five = (N - (three * 3)) // 5 result = min(result, three + five) isPossible = True three -= 1 if isPossible: print(result) else: print(-1) 사용될 3의 개수의 최댓값..

백준 1018 - 체스판 다시 칠하기

처음 든 생각 - 8*8 이라는 체스판의 크기를 일정하므로 시작점에 대한 좌표를 기준으로 가로 8개, 세로 8개를 세면 되겠다. - 다시 칠해야하는 개수는 정답 후보군이 2개 밖에 없으므로 정답을 하드코딩하여 비교해준다. 나의 답 import sys input= sys.stdin.readline N, M = map(int,input().split()) ans1 = [ ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W'], ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B'], ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W'], ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B'], ['B', 'W', 'B', 'W', 'B..

백준 19532 - 수학은 비대면강의입니다

처음 든 생각 - 연립 방정식을 해결했던 과정을 하나씩 복기해보자 1. x또는 y의 계수를 최소공배수로 맞춰준다 2. 두 개의 식을 빼서 x 또는 y를 구한다 3. 구한 하나의 변수를 기준으로 계산하여 나머지 변수의 값을 찾는다. - 최소공배수는 (두 수의 곱) / (두 수의 최대 공약수) 로 구할 수 있다. math.gcd를 사용하자. 나의 답 import sys, math input= sys.stdin.readline a,b,c,d,e,f = map(int,input().split()) if a == 0: y = c // b x = (f-e*y) // d print(x,y,sep=' ') elif d == 0: y = f // e x = (c-b*y) // a print(x,y,sep=' ') eli..

백준 14889 - 스타트와 링크

처음 든 생각 - 조합을 백트래킹으로 구현해서 팀을 만든 다음, 나머지 팀도 구해서 각각의 능력치를 비교해주면 되겠다. 나의 답 import sys input = sys.stdin.readline N = int(input()) arr = [] for _ in range(N): arr.append(list(map(int, input().split()))) result= 10000 t1 = [] def f(p): if len(t1) == N//2: global result t2 = [j for j in range(N) if j not in t1] sum1 = 0 for k in t1: for l in t1: sum1 += arr[k][l] for m in t2: for n in t2: sum1 -= arr[..

백준 14888 - 연산자 끼워넣기

처음 든 생각 - 연산자를 하나씩 다 끼워넣어서 확인해도 될까? -> 피연산자가 최대 11개 이므로 연산자는 10개 사용 가능 즉, 10! 가지의 경우의 수가 최대이므로 완전 탐색해도 되겠다. - 그 다음은 백트래킹해가면서 모든 연산을 재귀적으로 수행하면 되겠다 나의 답 import sys input = sys.stdin.readline N = int(input()) arr = list(map(int, input().split())) operators_list = list(map(int,input().split())) max_value = -10000000000 min_value = 10000000000 def search(idx, operators,result): if idx == N: global m..

728x90