전체 글

· 피그마
파일이 만들어지는 과정은 한 팀에서 수행하는 프로젝트의 부산물임을 확인하고 무엇을 위해 만들어지는지 목적성을 잃지말고 디자인해야한다는 것을 상기시켰다.부분을 보다보면 뭘하고있는지 어디즈음 하고있는지 잊고 다른길로 샐 수 있는데 전반적인 과정을 확인하며 흐름을 확인할 수 있을것같다. 이 강의화면에서는 파일의 구성요소를 시각화해서 보여주었는데 이를통해 무엇을 디자인해야하는지 정리해서 보여주는것같아서 할일이 명확해지는 느낌이라 머리가 맑아지는느낌이었다. 백지에 디자인을 하고자하면 수만가지를 결정해야할것같은 막막함이 있었는데 단위를 정하고 나누어서 정리하니 명쾌해지는게 너무좋았다. 로그인페이지에대한 디자인을 예시로 보여주었는데 전문가의 디자인은 얼마나 깔끔한지... 감격수준이었다. 임의로 전에 내가 시도했던 디..
· 피그마
3강은 피그마를 전체적으로 가볍게 탐색해보는 내용이었다. 한 강의가 50분으로 표시되어있어서 긴내용에 집중하지못하면 어떡하지 하고 살짝 겁을먹었는데 하나의 강의내에서도 간결하게 챕터별로 설명하고 정리해주어서 짧은내용을 끊어서 여러개 듣는느낌이라 집중하기에 어렵지않았다. 각 역할과 권한에대한 것도 설명이 되어있는데 이는 실무에서 활용하는 방법이랑 같이설명해주어서 유용했다. 나는 오너/어드민 권한을 주로 사용할 포지션이라 조금더 주의깊게보았고 디자인을 소개할 때에는 뷰어 권한을 주면 되겠다는 정보도 얻었다. 실제로 활용할 생각을 하면서 강의를들으니 설렜다. 요금제설명을 몰랐었으면 정말 큰일날뻔했다. 강의를 접하기 전 피그마에 대해 간단하게 탐색을 하고 사용하고자했었는데 디자인을 만들어보려다가 쉽지않아서 손을..
✔ 문제 1463 1로 만들기 문제 바로가기 💨 핵심 아이디어 꽤나 헤맸던 문제이다... dp 너무 어렵다 ㅠㅠ정복하겠어!!! 일단 주어진 숫자의 최소 연산값을 구할때, 이전숫자는 -1,//2,//3중하나이다. 이때, 만약 주어진 N이 6이라 가정해보자. 그럼 6 이전의 계산값은 5,3,2 중하나일 것이다. 그러면 5,3,2중의 최소연산값중 가장 작은 최소연산값에 + 1을하면, 6의 최소연산값이 된다. 문제는 이러한 아이디어에서 착안한다. N까지의 숫자의 최소연산값을 구한다.배열 인덱스를 두고, 이전 연산을 바탕으로 -1을했을때,//2 했을때, //3 했을때의 최소연산값을 계속 구해 나간다. PYTHON N = int(input()) dp = [0] * (N+1) # dp[1]=0 초기값 설정 for i..
· 피그마
이번 강의에서는 피그마 작업환경 만들기를 해본다. 먼저 계정을 생성한다. 이는 너무 간단해서 따로 정리할 필요도없었다...;; 그냥 피그마 사이트를 구글에서 검색하고 회원가입하라는 내용..ㅎ 계정생성을 하게되면, 이때부터 피그마에 접속할 수 있게된다! 피그마에 접속하는 방법은 크게 세가지가 있다. 보통 현업에서는 타인의 초대 링크를 통해 접속하는 방식을 많이 쓴다고 한다. 기존 프로젝트에 참여하는 경우가 많기때문에...ㅎ_ㅎ 그리고 로컬에 저장된 fig파일을 통해서 접속할 수 있다! 여기서, 데스크탑 프로그램을 깔 수도 있다. 위는 사양인데, 대부분의 컴퓨터에서 작동이 가능하다. 데스크탑 프로그램은 웹브라우저에서 지원하는 기능보다 좀더 확장된 기능을 제공한다. 때문에, 강사님은 브라우저보다 데스크탑용을 ..
· 피그마
피그마, 플러터를 배우기 시작하면서 흥미가 생겨 배울 필요가 있다고 생각했었는데 이번 서포터즈 활동을 계기로 기초를 탄탄히 다져보려고 한다! 😀 첫 시작은 가볍게 피그마를 배워야 하는 이유와, 강의를 통해 얻을 수 있는 점에 대해 다루었다. 피그마는 UI 제작도구이다. 해커톤에서 디자이너의 디자인을 볼때나 개발연습을 위해 주로 프로토 타입등을 제작할 때 써봤다. 피그마는 다른 툴들과 비교하여 지원하는 기능이 많다. 이를 통해 피그마의 장점을 명확히 알 수 있었다. 나는 개발자를 꿈꾸고 디자인 문외한이지만, 해커톤에서 협업하며 디자이너분에게 원하는 것을 부탁할 때 처음으로 벽을 느꼈다. 디자이너에게 내가 원하는 바를 명확히 전달하기 위해선 이를 배워야겠다는 결심을 했다. 이 강의는 기초강의로, 심화는 다루..
✔ 문제 2667 단지번호붙이기 문제 바로가기 💨 ⬜ 핵심 아이디어 arr배열을 입력받아 순회하며, 방문하지 않은 1을 만나면 bfs로 해당 점의 주변을(상하좌우) 탐색한다. bfs에서는 q에 주변을 탐색할 점을 넣고, 상하좌우 방향을 탐색한다. 🖌에러해결 sys.stdin.readline이 input()과 다르게 '\n'개행문자까지 입력받는다는 사실을 놓쳐, 에러가 나서 한참 헤맸다 ㅠ PYTHON import sys # bfs: 시작위치 받아서, 해당 위치에 연결된 1의 개수 리턴 def bfs(si, sj): q = [] # 큐 및 필요 변수 생성 q.append((si, sj)) # 큐 초기 데이터 삽입 v[si][sj] = 1 # 방문 표시 cnt = 1 # 정답 처리 관련 작업 while q:..
✔ 문제 019 K번째 수 구하기 문제 바로가기 💨 ⬜ 핵심 아이디어 퀵 정렬(quick sort)은 기준값(pivot)을 선정해 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘이다. 기준값이 어떻게 선정되는지가 시간 복잡도에 맣은 영향을 미치고, 평균적인 시간 복잡도는 O(nlogn)이다.pivot을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬하는 것이 퀵 정렬 핵심이다. 특히, 문제에서는 값의 위치를 한번 정하면 그 후 변하지 않기에 다 정렬하지 않고 그 값을 구한다. +) 데이터가 대부분 정렬되어 있는 경우 앞쪽에 있는 수를 pivot으로 선택하면 불필요한 연산이 많아진다.앞쪽에 있는 수를 피벗으로 선택하면, 피벗을 기준으로 배열이 두 부분으로 나뉘는데,이때 ..
✔ 문제 018 ATM 문제 바로가기 💨 ⬜ 핵심 아이디어 삽입 정렬(insertion sort)은 이미 정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입시켜 정렬하는 방식이다. 평균 시간 복잡도는 O(n^2) 으로 느린 편이지만 구현하기가 쉽다. 현재 정렬된 데이터 범위 내에서 적절한 위치에 삽입하는 것이 삽입 정렬의 핵심이다. ⬜ 삽입 정렬 수행 방식 현재 index에 있는 데이터 값 선택 현재 선택한 데이터가 정렬된 데이터 범위에 삽입될 위치를 탐색 삽입위치부터 index에 있는 위치까지 shift 연산 수행 삽입 위치에 현재 선택한 데이터를 삽입하고 index++ 연산 수행 전체 데이터의 크기만큼 index가 커질 때까지, 즉 선택할 데이터가 없을때까지 반복 적절한 삽입 위치 탐색하..
▪️ 24시간 365일 중단 없는 서비스를 만들자 배포 자동화 환경을 구축했지만, 배포하는 동안 애플리케이션이 종료되는 문제가 남아 있었다. 긴 기간은 아니지만, 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜 놓기 때문에 서비스가 중단된다. 반면, 24시간 서비스하는 네이버나 카카오톡 같은 경우 배포하는 동안 서비스가 정지되지는 않는다. 그럼, 어떻게 서비스 중단 없이 배포를 계속할 수 있는지 확인하고 서비스에 적용해보자. 무중단 배포 소개 서비스를 정지하지 않고, 배포할 수 있는 방법들을 찾기 시작했고 이를 무중단 배포한다. AWS에서 블루 그린(Blue-Green) 무중단 배포 도커를 이용한 웹서비스 무중단 배포 이번 장에서 우리가 진행할 방법은 엔진엑스를 이용한 무중단 배포이다. 엔진엑스는..
▪️코드가 푸시되면 자동으로 배포해 보자 CI는 continuous integration의 약자이다. 번역하자면 '끊임없는 병합'이라고 할 수 있겠다. CI란, Git와 같은 코드 버전 관리를 하는 시스템에 push를 하면, 자동으로 테스트와 빌드가 수행되도록 하여, 안정적인 배포 파일을 만드는 과정을 의미한다. CD는, continuous deployment의 약자이다. '끊임없는 배포' 라고 할 수 있다. 즉, CI를 통해 얻은 빌드 결과를 자동으로 운영 서버에 무중단 배포까지 진행되는 과정을 CD라고 한다. https://travis-ci.com으로 접속하고 github 아이디로 로그인한다. 상단의 계정명에 setting을 클릭 , 활성화할 저장소를 클릭한다. build.gradle과 같은 디렉토리..
고쩡이
고민보다 Go