본문 바로가기

전체 글

(104)
SQL 정리 1 (엑셀보다 쉽고 빠른 SQL 1~3주차 정리)(DBeaver라는 프로그램 사용하여 실습 진행) SQL : 데이터베이스와 대화를 하기 위한 언어. SQL이란 언어를 이용해 데이터베이스에 요청을 하는 질의를 Query라고 한다. 데이터베이스는 쉽게 말해 '데이터가 저장되어있는 큰 폴더'로, 그 안에 '테이블'이라는 파일이 있고 테이블은 '컬럼' 혹은 '필드' 라는 열로 이루어져 있다.  데이터 조회select : 데이터를 가져오는 기본 명령어. 데이터를 조회하는 모든 query에 사용됨.from : 데이터를 가져올 테이블을 특정.as : 별명(alias) 주기. 컬럼 옆쪽에 영문일 경우 별명만, 특수문자나 한글일 경우 큰 따옴표 안에 적어줌. (as 생략 가능) 필터링where : 특정 조건 필터링 가능. ..
24. 07. 19 - 웹 기초 특강 웹 서비스란 무엇인가?웹 이라는 공간에서 제공되는 서비스그 서비스를 설계 / 제작 / 관리하는 것이 웹 서비스 개발자 (웹 개발자) 웹 서비스의 동작클라이언트 : 요청 (클라이언트가 서버에 네이버 기사 요청)서버 : 응답 (네이버 서버가 html 파일로 응답)컴퓨터카카오 데이터 센터이 안에 수 없이 많은 컴퓨터 빼곡하게 들어가 있음이 중에는 전 세계의 인터넷을 통해 접속한 클라이언트의 요청을 받고 적절한 웹 서비스를 제공하는 웹 서버가 존재그렇게 할 수 있는 이유 = 웹 서버(컴퓨터)들이 인터넷으로 연결되어 있기 때문웹 서비스 원활하게 하기 위한 도구 (AWS, Vercel, Netlify 등)컴퓨터 다 살 수 없으니 빌리는 것auto scaling (사용자 몰리면 더 큰 서버 빌려주고 사용량 적어지면 ..
미니 웹 프로젝트 KPT 회고 KPT 회고란?Keep, Problem, Try의 약자로 세 가지 관점으로 분류하여 진행하는 회고이다.  Keep : 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점.Problem : 뭔가 문제가 있다 싶은 점. 변화가 필요한 점.Try : 잘하고 있는 것을 더 잘하기 위해서, 문제가 있는 점을 해결하기 위해서 우리가 시도해 볼 것들.   실제로는 직접 만나 타이머로 시간을 지정하고 화이트 보드에 포스트잇을 붙여가며 진행하는 모양이지만 우리는 온라인 모임이기 때문에 각자 적은 KPT를 공유하고, 자신이 작성한 것을 간단하게 설명한 후 정리 및 취합하였다. Try에 관해서는 함께 더 생각해 보았고 이는 다음 팀 프로젝트에서 만날 팀원들과 상의 후 실행해 볼 예정이다.   아래는 이번 미니 웹 프로젝트를 일주..
24. 07. 18 오늘 팀을 소개하는 미니 웹 프로젝트를 완성했다. Firebase와 연동하여 댓글을 관리하는 기능을 개발했는데, 지금부터 firebase의 간단한 사용법을 알아보도록 하겠다. 우선 파이어베이스(firebase)란 구글이 개발한 모바일 및 웹 애플리케이션 개발 플랫폼으로, 개발자들이 백엔드 인프라를 구축하거나 관리하는 복잡한 작업 없이 핵심 기능에 집중할 수 있도록 도와준다.  쉽게 말해 웹 서버를 대신 만들어주는 서비스로, 서버 개발이나 백엔드 코드가 없어도 웹 서비스 출시가 가능하도록 해주는 플랫폼이다. 시작하는 방법은 다음과 같다. 구글 로그인 이후 콘솔로 이동 프로젝트 만들기 프로젝트 이름 입력 후 프로젝트 만들기 클릭 웹으로 선택 앱 닉네임 적은 후 앱 등록 스크립트 태그 사용에 들어가 코드 복사..
24. 07. 17 오늘은 HTML, CSS를 사용해 기획했던 팀원 소개 미니 웹 페이지를 제작했다. Flexbox를 거의 다 까먹어서 애를 먹었지만 하다보니 조금씩 기억이 나서 어떻게 원하던 모양대로 완성을 하긴 했다. CSS는 특별한 경우 제외 사용을 많이 안하고 거의 Bootstrap 프레임워크를 이용했다. 별 거 아닌 홈페이지지만 팀원들과 함께 만든 것이라 그런가 의미가 있었다. 내 첫 웹 협업이었는데 생각보다 파트 별 분담도 잘 되고 코드나 깃도 안 꼬이고 스무스하게 진행된 것 같다. 다만 온라인이라 소통할 때 온전히 언어로만 설명해야 하는데, 내가 대신 마우스나 키보드를 사용할 수 있는게 아니므로 말로 아주 잘 설명해야 한다. 이게 생각보다 어려웠는데, 내가 설명하면서도 개떡같이 말해도 찰떡같이 알아먹길 바라는 ..
24. 07. 16 느낀점, 배운 것들은 그때마다 바로바로 메모하는 것이 좋을 것 같다. 막상 하루가 끝나고 쓰려니 벌써 가물가물해 지는 것 같다. 어제 특강으로 배운 git을 오늘 오전 팀원들과 써봤는데 생각보다 몇 가지 문제가 발생했었다. 나는 항상 깃허브에 레포지토리 먼저 만든 후 git clone을 했기 때문에 명령어로 git pull과 git push 말고는 쓸 일이 없었는데 내 로컬에 있는 폴더를 깃허브에 올리는 다른 여러 가지 명령어를 배우게 됐다. 그러면서 origin main이 이미 세팅이 되어 있는 상태에서 git pull/push origin main 명령어를 치게 되면 오류가 난다는 사실도 알게 됐다. git은 이미 대충 사용법을 알고 있다고 생각했는데 아니었다. 특강을 통해 생각보다 꽤 배운 것들이 ..
플로이드-워셜 플로이드-워셜 (floyd-warshall)그래프에서 최단 거리를 구하는 알고리즘. 주요 특징은 다음과 같다. 기능특징시간 복잡도 (노드 수: V)모든 노드 간에 최단 경로 탐색- 음수 가중치 에지가 있어도 수행할 수 있음.- 동적 계획법의 원리를 이용해 알고리즘에 접근O(V^3)  플로이드-워셜의 핵심 이론플로이드-워셜 알고리즘을 도출하는 가장 핵심적인 원리는 A 노드에서 B 노드까지 최단 경로를 구했다고 가정했을 때 최단 경로 위에 K 노드가 존재한다면 그것을 이루는 부분 경로 역시 최단 경로라는 것이다. 색칠된 에지 경로가 1 -> 5 최단 경로라면 1 -> 4 최단 경로와 4 -> 5 최단 경로 역시 색칠된 에지로 이뤄질 수밖에 없다. 즉, 전체 경로의 최단 경로는 부분 경로의 최단 경로의 조합으..
벨만-포드 벨만-포드(bellman-ford-moore)그래프에서 최단 거리를 구하는 알고리즘은 다익스트라, 벨만-포드, 플로이드 워셜이 있다. 특정 시작점에서 다른 모든 노드로의 최단 거리를 구하는 알고리즘은 다익스트라, 벨만-포드이고, 그 중 음수 간선을 다루는 유일한 알고리즘이 바로 벨만-포드이다. 그래서 코딩 테스트에서 벨만-포드가 나온다면 최단 거리보단 음수 사이클이 있는지 판단하는 문제가 더 많이 나오게 된다. 벨만-포드의 주요 특징은 다음과 같다. 기능특징시간 복잡도(노드 수:V, 에지 수:E)특정 출발 노드에서 다른 모든 노드까지의 최단 경로 탐색- 음수 가중치 에지가 있어도 수행할 수 있음- 전체 그래프에서 음수 사이클의 존재 여부를 판단할 수 있음O(VE)  벨만-포드의 핵심 이론1. 에지 리스트..