공부 한 것 > 정규표현식을 사용하여 아쉬운 것
코드만 하루종일 쳐다보니 flask와 javascript GET, POST 가 어떤 식으로 동작하고 데이터를 어떻게 전달해 주는지 감이 잡혔다.GET 브라우저가 어떤 페이지에 저장된 정보를 얻기 위해 서버에 요청하고 서버는 그 정보를 보낸다. 가장 일반적인 메소드PO
📝공부한 것 🧲 javascript 에서 이미지 저장하기 > 🔍기본적으로 크롬, 웨일 과 같은 브라우저 들은 javascript 에서 로컬 디스크에 접근하는것을 보안상 문제로 금지한다. 무슨 뜻이냐면 파일 경로를 제대로 불러올 수 없다는 뜻이다. 이런식으로 C
🔍 백준 알고리즘 한 수 1065번https://www.acmicpc.net/problem/1065💡 풀이🔗 해설딱히 해설 부분이 없는 것같다.입력값이 1000 이하였는데 만약 자릿수가 많아진다면 위와 같은 식으로 짜면 안된다.하지만 자릿수가 3자리 이하
🔍백준 셀프넘버 4673번https://www.acmicpc.net/problem/4673🔍set() 자료형을 안다면 풀 수 있는 문제다.팁set은 list처럼 요소를 추가하지 않는다set 은 add를 사용한다.🔍 num 에 문제에서 정해준 10000까지
🔍 python 의 기초를 다지며 알고리즘을 알아가는 시간이였다camp 합류하기 전 알고리즘 공부를 하고 있던 차라 내 페이스 대로 Programmers 에서 알고리즘 문제를 풀며 공부를 하였다.🔍 camp 에서 좋았던 것은 온라인으로 내 페이스를 내가 조절하며 큰
🔗백준 https://www.acmicpc.net/problem/1110🔍 쉬운 문제이다0 ~ 99 숫자를 받아 0의 자리 숫자가 다음 수의 10의 자리, 0의 자리 10의 자리 숫자를 더한 0의 자리 숫자가 다음 수의 0의 자리로 오는 문제이다.글만 봐서
🔗 백준 10217 KCM Travelhttps://www.acmicpc.net/problem/10217🔍다 익스트라 알고리즘인 줄 알았으나 아니여서 애좀 먹었다...🔗 나의 설명 velog🔍 1\. Control + , -> 설정 창2\. Font 검
🔗 프로그래머스 Level1 같은 숫자는 싫어 심심풀이 1단계 풀이🔍 문자열을 다루는 문제로 조금만 생각해봐도 풀 수 있다. 따로 설명은 안해도 될 것 같다.🔗 프로그래머스 Level1 실패율1레벨 python의 기초 lambda, sort, dict 를 잘 다루
📝 Carrotww의 코딩 기록장 🧲 max(arg1, arg2, *args[, key]) dictionary 사용법 > 🔍 🧲 upper lower >🔍 🧲 for 문 반대로 출력 완벽 숙지 및 외우기 >🔍 🧲 join, joined 완벽 숙지 및
🔍 평소 알고리즘을 풀며 모르는 것을 찾아보는 것이 많았는데 많이 다듬어진 것 같다.🔍 도커와 gRPC를 공부하여 사용해 보고 싶다는 생각이 들었으며, 관련 프로젝트를 친구와 함께 간단히 만들어 보려고 한다.추 후 어떤식으로 변경될지는 잘 모르겠다...ㅎblog 만
🔍 잡설예전에 알고리즘 문제로 처음 Linked_list를 처음 접했을 때는 완전히 이해가 가지 않아 어렴풋이 이해하고 넘겼었던 기억이 있지만 각잡고 공부하니 눈 감고 짤 수 있을정도로 이해하였다.🔍 TIP클래스에 대한 완벽한 이해를 한 후 Linked List를
📝Carrotww의 코딩 기록장 🧲 까먹지 말기 >🔍 str 도 list 처럼 str[::-1] 슬라이싱이 가능하다 🧲 reverse(), reversed() 까먹지 말기 >🔍 reverse() 는 반환하지 않고 list 자체를 돌려 준다. >🔍 reve
📝Carrotww의 코딩 기록장 🧲 패킹 언패킹 > 🔍 언패킹이란 ? 언패킹은 간단하게 set, tuple, list 형태를 풀어주는 것을 말한다. 위 자료형 변수 앞에 * 을 붙여주면 된다. 위 fun1 함수는 int형 인자를 여러개 받도록 의도 되었는데 pr
🔍 프로그래머스 피보나치 수간단한 피보나치 수 문제이지만 개편되어 재귀로는 풀리지 않는 문제이다.해결 법 : 다이나믹 프로그래밍🔍 다른 사람은 리스트에 저장하여서 tempi.append( \~~)같은 식으로 문제 풀이를 하였는데 문제가 간단하여 상관은 없겠지만 코드
🔍 알고리즘 자료 구조에 대해 구현하며 복습하였다.🔍 스택, 큐, 해쉬, 트리, 힙, DFS, BFS 등을 가볍게 구현해 보며 동작 방식을 이해하고 사용만 하였지만, 강의를 들으며 구현을 해보니 머리속에 잘 남고 나름 재미있었다 ㅎ🔍 원래는 Dynamic Prog
🔍 ❓ Q. 문제 설명로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오.로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라
🔍 2019 LINE 인턴 채용 코딩 테스트❓ Q. 연인 코니와 브라운은 광활한 들판에서 ‘나 잡아 봐라’ 게임을 한다. 이 게임은 브라운이 코니를 잡거나, 코니가 너무 멀리 달아나면 끝난다. 게임이 끝나는데 걸리는 최소 시간을 구하시오.조건은 다음과 같다.코니는 처
📝Carrotww의 코딩 기록장 🧲 알고리즘 > 🔗 문제 링크 : [Programmers kakao2020 괄호 변환] (https://school.programmers.co.kr/learn/courses/30/lessons/60058) 솔직히 엄~청 어려운 문제
📝Carrotww의 코딩 기록장 🧲 Django >🔍 기본 설정 파일 종류 settings.py -> 장고 기본 설정이 들어가 있다. urls.py -> 장고 api 정보들이 들어가는 파일이다. >- 아래 코드는 html 파일을 보여주게 하기 위한 코드 💡
📝Carrotww의 코딩 기록장 🧲 Django 💡 render 와 redirect의 차이 >- render redirect redirect 는 context와 같은 값을 넘기지는 못하며 to에 해당하는 URL로 이동을 하며 view가 다시 실행된다. rend
🔍 주말에 카카오 코딩 테스트가 있었다.간단한 문제들을 풀어보며 복기를 하며 한 번 봐보기나 하자 라는 느낌으로 응시했다.카카오 코테를 본 후 기억나는 것 중 하나는 예전에 친구와 코딩테스트 공부를 하며 비슷한 문제가 나왔는데, 나는 예전 방식대로 풀어서 런타임 에러
🔍 django를 쓰는 중인데 쉬우면서 어렵다.무슨말인가 하겠지만 어렵다는게 이해가 안돼서 어렵다는게 아니라 사용법을 익히는게 어렵다는 것이다. 하지만 그 만큼 기본적으로 django 자체에서 제공해주는 기능들이 많아 사용법만 익히면 진짜 쉬운것 같다.충격 받은게 관
📝Carrotww의 코딩 기록장 🧲 python 문법 Tip > 🔍 알고리즘 풀며 python 응용 및 기억하기 🧲 >🔍 🧲 >🔍 💡 🔗
📝Carrotww의 코딩 기록장 💡 Stack & queue Algorithm 🧲 오늘의 알고리즘 1 >🔍주식가격 - 프로그래머스 Level2 첫 번째 풀이 두 번째 풀이 세 번째 풀이 도무지 stack을 활용하여 풀 방법이 떠오르지 않아 다른 사람의 풀이
🔍 instagram 을 만들어 보는 주말 빼고... 4일짜리 프로젝트가 시작됐다.오전에는 프로젝트 방향성, 진행 방식등을 정하며, 조언을 받았으며 오후에는 팀원들과 기초 front 페이지들을 만들어보며 Figma 작성, git repository 사용 연습(?) 을
📝Carrotww의 코딩 기록장 🧲 >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
🔍 알고리즘과 django 미니 프로젝트에 들어갔다.이번엔 instagram 클론 코딩을 진행하는 터라 큰 틀은 정해져 있고, 세부적인 것만 바꾸면 되는 프로젝트 였다.프론트는 많이 다루어 본 적 없고, 관심도 별로 없었는데 instagram과 비슷한 템플릿들을 가
🔍 django의 충격적인 사실...django에서 기본적으로 제공되는AbstractUser는 username이 무조건 primary key로 인식된다. 왜 다른 개발자들이 django 기본 제공 user table을 상속받지 않고 사용하지 않는 지 알 것 같다.프로
📝Carrotww의 코딩 기록장 🧲 알고리즘 >🔗 문제 링크 : programmers 징검다리 건너기 >🔍 초기 코드 >🔍 고친 코드 🧲 git bash encoding 설정 >🔍 git config --global --edit 를 입력  fun
📝Carrotww의 코딩 기록장 🧲 머신러닝 모델의 종류 >🔍 Support vector machine (SVM) 강아지와 고양이를 머신러닝하여 학습시킨다고 가정했을때 무엇을 구분하는 문제를 분류 문제(Classification problem)라고 하며, 해당
🔍 합성곱합성 곱이란 예전부터 컴퓨터가 이미지 처리를 했던 방식이다.위 입력 데이터 부분에서 필터와 같은 크기만큼 나눈 후 각 색의 네모칸과 필터의 같은 캍을 곱한후 모두 더하면 출력값이 나온다.즉 빨간 네모칸 -> 15파란 네모칸 -> 16...위 합성곱을 딥러닝에
📝Carrotww의 코딩 기록장 🧲 Algorithm >🔍 프로그래머스 게임 맵 최단거리 전형적인 dfs, bfs 문제이다 내가 재귀에 약한편인데 그래도 나름 많이 익숙해져서 문제를 봤을때 뇌정지가 왔었지만, 그래도 지금은 어떻게 접근 해야할 지 느낌이 오기는 한
🔍 Algorithm 문제를 만족할 만큼 풀지는 못 했지만, DFS, BFS 와 DP 문제풀이의 접근 방식의 차이와 TIL에서는 적지 않았지만 Greedy의 문제 접근 방식 등 을 추상적인 개념으로만 이해했던 것을 완벽히 이해했다.하지만 문제를 많이 풀어보지 못 한
📝Carrotww의 코딩 기록장 🧲 >🔍 🧲 >🔍 🧲 >🔍 💡 🔗 https://foss4g.tistory.com/m/1646 https://kongdols-room.tistory.com/m/110 https://tutorials.pytorc
🔍🔍🔍🔗
📝Carrotww의 코딩 기록장 🧲 >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
📝Carrotww의 코딩 기록장 🧲 sklearn 을 사용할때 모델 저장하기 > 🧲 sklearn 으로 모델 불러오기 > 근데! 실행은 되는데 warning이 뜬다 > 해당내용으로 검색해보니 모델 생성시 x열 데이터를 데이터 프레임으로 모델에 적용시켜서 해당
🔍🔍🔍🔗
🔍🔍🔍🔗
📝Carrotww의 코딩 기록장 🧲 >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
📝Carrotww의 코딩 기록장 🧲 python Algorithm >🔍 programmers 모의고사 1레벨 문제라 자기전에 잠깐 풀고 자려고 했다가 시간이 좀 걸려서 짜증나서 기록하는 문제 원래 1레벨은 코딩 기록장에 안 쓰려 했는데 이 문제는 1레벨 같지가 않
🔍 programmers 네트워크 level3 dfs 문제요즘 알고리즘을 너무 안 풀어 머리가 굳어진 것 같다. 원래 알고리즘 하면 머리도 말랑한 느낌이 들고 집중도 잘 됐었는데... 생각보다 오래 걸렸다. 쉬운거 같은데 머리속에서 자꾸 꼬여서... 재귀를 풀때 한
🔍 programmers 체육복 그리드 문제이다.나는 문제에 학생번호를 인덱스로, 그 값을 체육복의 수로 하여 리스트로 표현해 준 후 0 인 친구들을 양옆이 2인 친구들이 있으면 빌릴 수 있게(왼쪽부터) 짜봤다.풀이 1문제를 푸는 도중 and or 문을 사용하여 문제
🔍 programmers 약수의개수와덧셈 코드챌린지 시즌2 쉬운 문제이다. 코드를 이쁘게 잘 줄인것 같아서 올린다.풀이🔍 programmers 완주하지 못한 선수 hash hash 문제이다.더 이쁘게 풀고 싶었지만 sort를 사용하게 되면 hash 를 사용하지 않은
🔍 프로그래머스 알고리즘 kit의 한 파트를 모두 풀지 못하고 다양하게 풀었다. dfs bfs를 빨리 해야하는데... 다음주가 프로젝트 기간이라 잘 할 수 있을지 모르겠다. 그래도 이번에는 dfs bfs 파트를 꼭 마무리 해봐야겠다.3문제 남았는데 다 3레벨 문제라
🔍 programmers 여행경로 dfs level3첫 번째 풀이가 안됐던 이유가 재귀를 통해 다른 단어로 다시 들어가야 하는데 첫 번째 경로로만 들어가 다시 나오지 못했다.1번째 풀이위 풀이로는 테스트케이스 절반만 통과... 다른 경로로 들어가서 나왔다가 2 번째
📝Carrotww의 코딩 기록장 🧲 python Algorithm >🔍 programmers 전화번호 목록 hash 문제 level2 역시 해시 문제라서 효율성 테스트 항목이 있다. 해시를 사용하지 않고 브루트 포스로 내 기준 깔끔~ 하게 풀어봤는데 효율성 테스트
🔍 1~2주마다 돌아오는 프로젝트 시간이지만 이번 프로젝트는 기대되면서 걱정스럽다...머신러닝 모델을 적용한 django rest framwork 프로젝트를 만들어야 하는데 restful framework 사용도 익숙치 않은데 머신러닝 모델을 학습시켜야 한다는게 조금
🔍 실제 사이트의 api를 요청하여 사용해 보는것은 처음이였다.프로젝트가 음악 추천 사이트인데 음악에 관한 api를 제공해 주는곳은 드물었다. 멜론도 제공하다가 이제 안한다고 한다 ㅠ대표적으로 spotify가 유명한데 spotify는 api 제공시까지 검증 후 2주정
🔍 fetch로 해당 url 에 get을 보내어 db에 저장중인 tag들을 가져와 html에 보여주는 코드이다.then이 처음에 뭔지 몰랐는데 fetch 사용법을 읽어보면 조금 이해가 될 것이다.fetch 자체는 객체를 가져오고안의 데이터를 사용하고 싶다면아래는 po
🔍 programmers 등대 - 주말 알고리즘을 다시 시작했다. 친구들 면접도 있고 난 프로젝트도 있고해서 혼자 풀곤 했는데 3주만에 다시 모였다.역시 3레벨 드럽게 어렵다.문제그래프 문제이며 위 노드 그래프가 아래의 리스트로 주어진다.처음에는 BFS 로 접근했는데
🔍 backend 부분은 serializer로 json 형태의 데이터 처리가 쉽게 가능하다는 것을 알게 되었고 backend server, front server 를 분리하여 웹 개발을 처음 해보니 javascript도 나름 재밌다고 생각했다. 물론 조금만 더 지식이
🔍 Django rest framework, 추천시스템, front server를 포함한 프로젝트가 끝났다. javascript를 어려워 하는 사람들이 많았아 어지간한 함수를 구현 해 볼 수 있는 기회가 많았어서 좋았다.프로젝트에 관한 이야기는 많이 했으니... 여기
📝Carrotww의 코딩 기록장 🧲 나의 ubuntu 초기 세팅 >🔍 aws를 사용중인데 일단 ssh 접근이 가능하게 하기 위해 ssh 설정을 바꾸어 준다. aws 보안 그룹에서 ssh 허용을 해준다. > 해당 부분을 yes로 변경 > hostname이 ip로
📝Carrotww의 코딩 기록장 🧲 python algorithm >🔍 programmers 등대 프로젝트 끝나고 저번에 못 풀었던 문제 풀어보려고 하는데 두 가지 방법으로 접근했는데 안풀린다... 찾아봤더니 어려운 문제기는 하더라 (친구가 골랐는데 셋 다 못풀정
🔍 programmers 등대 어제 풀던거 다른 방법으로 접근해 보았다.푼 친구에게 접근 방법만 물어보고 그걸 토대로 풀어보았다.기본 틀위 코드는 안 바뀔 것 같다.위 코드를 시작으로 해결 방식은path_dict 딕션어리를 while 문으로 돌며 끝에 노드를 찾아 해
🔍 programmers 등대 Level3와 드디어 풀었다 2일정도 걸린거 같은데 주말 포함 4일? 아 풀자마자 적는거라 기분이 너무 좋다 ㅎㅎ해설path_dict로 양방향 길을 만들어 준다.len(side_node) == 1 -> 해당 if 문에서 끝 노드가 걸릴것
🔍 pagination 자체는 쉽다.나는 get 요청에 내용에 따라 페이지에서 인기순 정렬, 최신순 정렬을 하려고 했어서 난항을 겪었지만 해결했다.일단 기본적은 pagination 부터 정리하려고 한다.🔍 일단 rest framework org 해당 사이트를 정독하
🔍 programmers 가장 먼 노드 Level 3(https://school.programmers.co.kr/learn/courses/30/lessons/491893레벨 치고는 쉽다. bfs가 이제는 제일 쉬운 것 같다.풀이far 이라는 딕션어리를 만들어
🔍 programmers 부대복귀 level3결론부터 말하면 중간에 몇개가 시간초과가 났다.일단 문제를 딱 보니 그냥 BFS 로 풀면 될거같아서 BFS로 바로 접근해봤다. 문제를 보면 출발지 즉 sources 가 여러개로 나와서 나는 해당 출발지를 그냥 다 돌려주었다
🔍 BFS, DFS 문제를 많이 풀다보니 기본 형태는 쉽게 풀 수 있고 특히 BFS 응용 문제들은 많이 접해서 이제 쉬운 것 같다. 하지만 DFS는 머리속에서 상상한대로 바로 풀리지는 않는다. 재귀를 사용해야 한다는 점과, 재귀가 안풀릴때는 스택 방법을 채용하는데 난
📝Carrotww의 코딩 기록장 🧲 python algorithm >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
🔍 프로젝트 기간이다.이번 프로젝트는 4일...이번주는 주말 빼고 알고리즘을 못 할것 같다..너무 길어서 조금 짤렸지만 이번에는 나름 자세하게 써보았다.🔍 학습된 모델을 넣어 내 컴퓨터가 아닌 다른 환경에서도 잘 실행되기 위해서는 상대 경로로 모델을 찾아주거나, 해
🔍 many to many field 정렬하기현재 모델은 위와 같은 상태이며 likes 순으로 정렬하기를 원하는데 그게 쉽지 않았다.찾아보니아래와 같은 방법으로 정렬이 가능하다.전체적인 viewif 문에 get url 파라미터 요청에 따라 어떤식으로 정렬할 건지, 즉
🔍 cursor pagination 방식을 쓰고 싶었지만 굳이 그럴 필요 없다는 것을 깨달았다 일단 cursor 방식은 내부적으로 ordering 함수가 존재하여서 해당 함수를 커스텀해주는것이 아니라면 many to many field 로는 정렬하지 못할 뿐 아니라
📝Carrotww의 코딩 기록장 🧲 django media 이미지 파일 자동 삭제 >🔍 deepruning 모델을 추가하여 이미지 파일을 처리해 주려면 로컬에 잠시 저장이 필요한데 이미지 잠시 저장 이미지 처리 처리된 이미지 데이터 front로 전송 의 과정을 거
🔍 이번 주 프로젝트도 빨리 끝날 줄 알았는데 결국 오래 걸렸다... 그래서 알고리즘은 손도 못 댔고...다음주 부터 알고리즘 모임도 다시 할 것이고 문제도 다음주에 많이 풀어야한다.🔍 프론트엔드 Gti Hub https://github.com/Carrot
🔍 programmers H-Index문제만 잘 이해하면 풀 수 있는 문제이다.무슨 소리인가... 했었찌만 하나하나 보면 쉬운 문제이다.사실 이미 풀었던 문제이지만 camp에서 진행하는 알고리즘 반에서 나온 문제여서 다시 풀어보았다.🔍 programmers 올바른
🔍 django 실시간 채팅 프로그램을 만들기 위해서 공부해 보았다.django 란Django는 MTV 패턴을 제공하여 API 뿐 아니라 템플릿을 이용하요 html 파일을 생성해 뷰를 만들 수 있도록 제공하여 빠른 생산성을 자랑한다.spring 계열에서는 웹 서비스를
🔍 chating 기능 만드는데 처음 본다찾아봤더니 엄청 간편한 기능이다.SlugRelatedField 는 대상의 필드를 사용하여 관계의 대상을 나타내는 데 사용할 수 있다.ex)result나의 코드공식문서🔍 django db 설계중 해당 에러때문에 실행이 안된게
🔍 밤 늦게까지 하고 웹 소켓 연결이 되지 않아 꼭 해내고 싶은 마음에 잠도 잘 안오고 하다가 아침에 일찍 깨서 다시 도전해보았다.결론은 프론트 웹소켓과 django 의 연결이 잘 맺어졌다.실시간 채팅을 위해서는 비동기 통신을 해야하는데 django 에선 기본적으로
🔍 최종 프로젝트 설계와 준비를 하였다.개인적으로 CRUD는 너무 쉽고 CRUD 안에서 구현할 수 있는 것들은 나름 미니 프로젝트에서 다 진행해보아서 새로운 것들을 사용해보고 싶은 욕심이 났다.전 TIL에 채팅 관련 글들을 많이 올렸는데실시간 채팅계좌 등록, 송금위
🔍 javascript socket onopen프론트와 백엔드 간단한 메세지 전송 테스트 중위와 같은 에러 메세지가 나왔다.다양한 방식으로 로직을 구현중이여서 찾는데 조금 걸렸는데 이유는 단순했다.나의 코드가 소켓을 열어준 후 바로 메세지를 전송하려고 해서 그랬다 .
📝Carrotww의 코딩 기록장 🧲 Daphne Channels >🔍 Daphne 🧲 >🔍 🧲 >🔍 💡 🔗
📝Carrotww의 코딩 기록장 🧲 Django ORM values() & values_list() >🔍 values() : 쿼리셋을 리스트에서 딕셔너리 형태로 반환한다. 두 가지 형태로 다 가능하다. values() 메소드에 필드명을 넣으면 해당 필드명과 값을
내 코드이다 위와같이 model을 생성하였고 settings.py의 timezone 에는 Asia/Seoul을 적어주었는데 실제 DB에 들어가는 created_at 은 UTC 시간이 들어가게 되었다. runserver 시에는 한국 시간이 나오기는 하지만 model에 저
📝Carrotww의 코딩 기록장 🧲 django Channels 인증 >🔍 저번 포스팅에 channels 인증에 관한 글을 썼다. 하지만 실제 테스트를 해보니 내가 원하는 사용자로 인증이 되지 않았었다. 지금부터 하나씩 뜯어보려고 한다. 나는 위와같이 간단하게
🔍 일주일을 갈아넣은 결과 로그인을 하여 상대방과 실시간 채팅을 하는것을 가시적으로 구현해냈다.솔직히 힘들었지만 결과도 보이니 너무 만족스럽다.서로 이렇게 실시간 채팅이 가능하며 기능 자체는 완벽하게 구현되었다.추가 기능이 욕심이 나면 할 생각이지만 마지막 프로젝트인
쓰기위와 같이 하면 json 형태로 저장이 된다.원래는 txt 파일로 저장하려 했는데 id 가 여럿이여 리스트로 저장을 해주고 싶었는데이렇게 에러가 떠서 잘라주고 붙여주고 하는 작업을 하지 않기 위해 json 형태로 저장하기로 하였다.내가 원하는 방식으로 저장이 잘 되
🔍 실시간 인기 게시물을 어떤 식으로 구현해야 하나 고민을 많이 했다.현재 프로젝트에 인기 게시물임을 가르는 기준은 두가지가 있다.좋아요와 조회수이다.like와 views 가 좋아요와 조회수 인데 해당 필드 기준으로 탑 10 게시물을 보여준다면 orderby로 vie
🔍 원래 소셜로그인을 담당하던 팀원이 있는데 사정이 생겨 나가게되었다.구현하기 전에 동작 원리를 파악하면 쉽게 구현할 수 있기 때문에 일단 정리해보려고 한다.🔍 소션 계정을 기반으로 로그인을 할 수 있도록 도와주는게 OAuth 프로토콜이다.Resource owner
📝Carrotww의 코딩 기록장 🧲 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
Transaction트랜잭션은 DB의 데이터 삽입, 수정, 삭제를 징행할 때 성공 실패를 분명히 하고 상호 독립적이며 일관되게 처리하는 기능.🔍 django 에서는 기본적으로 auto commit을 지원하여 성공 시 DB에 commit, 실패 시 자동으로 rollba
🔍 daphne와 postgres, nginx를 이용해서 배포를 진행하려고 한다.root passwd 초기화sudo passwd rootroot 접속 후 계정 비밀번호 초기화su rootpasswd ubuntu키 없이 로그인sudo vi /etc/ssh/sshd_co
🔍 최종 프로젝트 개발 기간만 나는 한달인줄 알았다.하지만 사용자 피드백 및 배포기간까지 하면 2주 조금 넘는 시간으로 토이프로젝트와 별반 차이가 없는 것 같다.당장 다음주부터 배포를 빨리 해서 사용자를 받고 피드백을 받고 그 후 수정하는 시간이 있다.시간이 너무 부
🔍 twisted-iocpsupport 는 로컬 window 환경에서 테스트 하며 받아진 것으로twisted-iocp supportWindows "I/O completion Ports" API에 바인딩을 제공하는 패키지 이다.하여 우분투 환경에서 배포기 require
백엔드 서버를 업데이트 하며 DB가 수정되어 docker 컨테이너를 재배포 하는도중 위와 같은 에러가 떴다.django 파일만 바꾸어주고 docker compose와 docker 파일은 그대로였고 로컬에서 django 서버는 정상 동작하였다.위 에러를 찾아보니 migr
기본내 코드프로젝트에서 조회수 중복 방지를 하기 위해 브라우저에서 게시글 번호를 쿠키에 담아 다음날 정각에 사라질 수 있도록 설정하기 위해 바꾼 코드이다.exp를 1로 고정시켜주면 되지만 틀 그대로 사용하기 위해 사용할때 exp 파라미터에 1을 넣어주고 있다.가져올 쿠
이게 우리 백엔드 서버와 프론트의 서버인데 초기에는 위와같이 되어있었다.ssl 적용하기 전에 모든 기능이 작동하였고 aws 에서 인증서를 발급 받고 프론트와 백엔드 모두 각각 적용시켜주었다.그 후 js 파일에 모두 적용되는 위 파일을 아래와 같이 변경하였다.웹소켓은 h
🔍 uvicorn으로 배포해서 조금 마음에 들지 않지만 나중에 다시 daphne로 배포하려고 한다.분명히 daphne로 asgi wsgi 둘 다 처리 가능하다고 들었는데튜터님이 다른 팀들에게 daphne와 gunicorn 컨테이너를 두 개 사용하여 배포하면 된다고 알
📝Carrotww의 코딩 기록장 🧲 Daphne 컨테이너 하나로 배포 >🔍 드디어 해냈다 진짜 ㅠㅠ 너무 힘들었지만 uvicorn으로 배포하여 프로세스를 하나만 쓰는게 너무 멋 없어보이고 마음에 안들어 계속 시도하여 성공했다. 계속 시도하면서 nginx docke
📝Carrotww의 코딩 기록장 🧲 프로젝트 >🔍 프로젝트는 마무리 단계이고 readme와 ppt, 발표 자료, 등을 만들며 정리하고 있다. 오늘은 작성한 프로젝트 readme 파일로 대체! 🧲 Togeduck - readme >
📝Carrotww의 코딩 기록장 🧲 python algoritm > ### 🔍 Programmers 테이블 해시 함수 Level 2 문제 자체를 이해하는데 너무 오래걸렸다. 푸는데는 얼마 안걸렸는데... 오랜만에 풀어서 그런지 이해하기 난해했다. > 푸는 방식은
📝Carrotww의 코딩 기록장 🧲 camp >🔍 오늘이 4개월동안 달린 마지막 날이다. 보안 솔루션 엔지니어를 하며 개발자가 되기 위해서 퇴근 후 공부를 병행하다가 부트캠프 라는 것이 있다는 것을 알게되고 바로 들어갔다. 전공자이기도 하고 python algor
📝Carrotww의 코딩 기록장 🧲 CS - Django 동시성 병렬성 >🔍 Django는 Python 기반의 웹 프레임워크로, 동시성과 병렬성을 지원하며, 이를 활용하여 애플리케이션의 성능을 향상시킬 수 있습니다. > 동시성(concurrency)은 여러 작업이
🔍 Leetcode5_palindrome이것도 예전에 풀었던건데 풀면서 기억이 났다그래서 처음에는 그냥 브루트 포스로 풀면서 아닌걸 알았지만 그래도 시도해본거 그대로 시도했다.처음 시도하나씩 확인하면서 문자열을 돌도록 작성한 알고리즘이다역시 시간초과가 난다.두 번째
📝Carrotww의 코딩 기록장 🧲 python algorithm interview >🔍 Leetcode42 Trapping Rain Water hard 스택 풀이 투 포인트 방식으로 푸는 방법도 있지만 이해가 잘 되지 않아 다시 풀어봐야겠다. 🧲 C++ >
쉬워보였지만 조금씩 조건이 들어가서 살짝 까다로운 문제였다.brute force로는 시간초과가 나며처음에 조합으로 풀었지만 시간초과로 당연히 실패하였다.그 다음 책에 나온대로 투 포인터 방식으로 풀이를 하며 풀었다.class Solution: def threeSu
문제 조건에 나누지 말고 O(1) 안에 풀라고 나와있다.투 포인터 방식의 문제가 많이 나왔어서 응용하여 풀어볼라고 했지만 O(1) 안에 풀 수 있는 방법이 떠오르지 않았다...책을 조금 본 후 알았는데 양쪽 index에 있는 숫자들을 곱한다는 생각으로 접근하면 중복없이
📝Carrotww의 코딩 기록장 🧲 python algorithm interview >### 🔍 Leetcode 234 Palindrome Linked List Easy 링크드 리스트만 알고있다면 간단한 문제다 내 풀이 > 🔍 Leetcode 21 Merge
문제를 이해하는데 조금 걸렸지만 엄\~~청 어려운 문제는 아니고 살짝 까다로운 문제이다.풀이Counter()를 사용하여 글자가 몇번씩 쓰였는지 체크한다.while문 부분은 먼저 나온 (stack에 먼저 들어가있는 문자 stack-1) 문자가 현재 문자(char) 보다
쉬운 문제다 hash 파트에 나오는 문제이고 응용 없이 dictionary만 알면 풀 수 있다.내 풀이counter를 이용한 풀이python 다운 한 줄 풀이위와 같은 방식으로 풀면 list comprehesion 부분에서 True, False, False 와 같은 식
dfs 문제이다.깔끔하지는 않은것 같지만 일단 책을 보고 풀지 않은 풀이이다.내 풀이속도는 나쁘지 않다.combinations을 이용하여 풀라다가 못풀고 책에 나온대로 dfs로 풀이하였다.개인적으로 휴대폰 패드 문제가 나오면 dict를 수기로 작성해야하기 때문에 귀찮아
itertools를 사용하여 풀면 아주 간단하게 풀 수 있지만 dfs, bfs를 연습하고 있기때문에 해당 방식으로 올려본다.이 문제 또한 itertools로 풀이하면 한줄풀이가 가능하지만 dfs로 풀었다.내 풀이word_list를 언팩킹 하여 넘겨주었다.책 풀이내 풀
stack 문제이다. 최근에 stack문제를 많이 접했어서 빠르게 풀었다.뒤에 숫자가 stack에 있는 숫자보다 크다면 계속 반복하면서 result의 index 자리를 큰 수로 채우는 방식이다.오래걸렸다.여러번 다른 방법으로 풀이하였는데 틀리고, 3개가 시간초과나고 쉬
📝Carrotww의 코딩 기록장 🧲 >🔍 🧲 >🔍 🧲 >🔍 💡 🔗
dfs 기본 풀이라고 볼 수 있다.dfs 문제를 풀어봤다면 쉽게 풀 수 있다.방향을 정해줄 dx, dy 리스트를 만들어 주고 방문 처리를 해줄 visited와 좌표를 저장해줄stack을 선언 후 방문처리를 해가며 이어져있는 섬의 개수를 찾으면 된다.풀이위와 비슷한 방식
문제를 이해하는데 오래 걸렸다.무슨 소리인가 했는데 간단했다.순환 구조가 나오면 False, 아니라면 True를 리턴하면 된다.풀이
첫 번째 풀이4개정도가 안되어서 왜 안되나 계속 고민했다알고보니 짝수 그러니까 가운데를 끼고 펠린드롬 구하는 함수만 있어 틀렸었다.짝수 펠린드롬도 추가해주면 정답이다.풀이palin 1은 홀수 일때고 palin 2는 짝수 일때이다.함수를 하나로 합칠수도 있다.최종 풀이투
첫 번째 풀이순열로 풀이했다.brute force로 풀이한 것이다. 문제를 딱 보고서는 그냥 돌리면 답 나오겠다~ 싶어서brute force로 일단 풀었는데 정롹성 테스트는 통화했지만 효율성 테스트에서 모두 실패하였다.dp 로 풀어야 된다는걸 알고dp 배열에 인덱스에는
예전에 풀었던 문제이다.bfs와 heapq를 사용하여 풀 수 있는 문제이다.path에 갈 수 있는 node와 걸리는 시간 time을 넣어준다.while문을 돌리며 dist 에 존재하지 않으면 dist에 추가를 해준다.존재하지 않을때 추가해 주는 이유는 이미 값이 있다면
🔍 programmers 조이스틱 Level2처음에 dict를 알파벳 별로 만들고 A에서 빼주어야 했는데 python에는 ord() 내장 함수가 있는걸 까먹고 있었다.이 문제는 A가 있을때,1\. 앞으로 쭉 간다2\. 방향을 왼쪽(뒤로) 가서 CCAAB -> B 부분
전형적인 bfs 문제이다내 풀이레버까지의 가는 길, 그리고 레버에서 종료지점까지 가는 길을 bfs로 돌리면 된다처음에 X 가 아닌 길 일때 path에 append 하라는 부분을 O 일때 가라고 코드를 짜서 테스트 케이스 2개가 틀렸었다.벽 빼고 레버와 종료지점은 갈 수
약 일주일만에 til을 쓰는거같은데 면접 준비와 코테 준비때문에 알고리즘을 풀기는 했지만 올리지는 못했다 ㅠㅠ여러 코딩테스트를 보며 나의 약점을 찾은 결과 dp, simulation, dfs 에서 좀 약했다.앞으로 위 3가지 유형을 위주로 풀려고 한다.문제dp 문제임을
좌표에서 해당 숫자가 크면 해당 자리로 가고를 반복하며 가장 긴 길이를 찾는 문제이다문제 자체를 보면 dfs로 간단하게 풀릴 것 같다.맞다.간단하게 풀린다.그런데 속도가 너무 느리다.첫 번째 dfs 풀이전형적인 dfs 풀이이다.하지만 속도가 형편없이 나온다.이걸 어떻게
삽입정렬을 이용한 풀이더 빠르고 python을 이용한 풀이python에서 문자열 대소 비교를 할때는 아스키코드로 하나하나 비교해가기 때문에 9199와 92를 비교하면 92가 더 크다고 나온다.그 점을 이용하여 각 요소가 10의 9승인점을 이용하여 푼 것이다요즘 알고리즘
📝Carrotww의 코딩 기록장 🧲 python algorithm >### 🔍 programmers - 광물캐기 Level2 그리디 문제이다 다이아가 많은 순서대로 광물을 캐주면 된다 🧲 >### 🔍 🧲 >### 🔍 💡 🔗
시간초과때문에 엄청 빡센 문제이다. bfs로 풀었는데 queue를 set으로 잡아주면 시간초과 문제를 해결할 수 있다.코드애플리케이션이 어떻게 빠르고 효율적이며 확장 가능하도록 구축되었나 보면 대부분 답은 MSA에 있을 가능성이 있다.MSA는 애플리케이션을 마이크로 서
📝Carrotww의 코딩 기록장 🧲 spring, spring boot, spring security > spring 이란 spring은 누구나 알고있을 것이다. java 기반으로 만들어진 java 애플리케이션 개발을 목적으로 하는 가벼운 프레임워크이다. > sp
📝Carrotww의 코딩 기록장 🧲 JAVA를 들어가며 >### 🔍 JVM 🧲 >### 🔍 🧲 >### 🔍 💡 🔗
브루트포스로 다 확인하는 줄 알았는데잘 생각해보니 그냥 visited 써서 dfs, bfs 돌리면 답이 나올거같았다.나는 bfs로 풀었다.풀이visited를 정해주고bfs로 방문하는 좌표를 방문했는지, 지금 온 횟수보다 더 적은지를 체크하면서 돌아주면 된다.딱 문제를
📝Carrotww의 코딩 기록장 🧲 python algorithm >### 🔍 백준 숨바꼭질2 처음 bfs로 풀었다. bfs로 풀면 몇가지 제약이 있는 짜증났던 문제다 다익스트라로 풀면 특별한 조건 없이 그냥 풀리지만 처음 접근을 bfs로 하여서 끝까지 고집했지만
오랜만에 올리는 것 같다 매일 쓴다고 해놓고서...일산에서 선롱까지(소마 센터) 왔다 갔다 하다보면 알고리즘은 풀어도 기록하면서 코멘트를 달기가 쉽지 않다 ㅠ기획심의를 통과 못하면 다음 기획 심의는 다음달이고 720만원인가 지원금을 한달동안 못 사용한다고 하니 여간 골
골드 문제지만 우선순위 큐를 쓴다는 사실만 알아내면 쉽게 풀 수 있다.사실 이 문제를 풀고 위 문제를 풀었는데 그래서 쉽게 우선순위 큐라고 접근할 수 있었던 것 같다이 문제도 우선순위 큐로 풀면 쉽게 풀린다.
📝Carrotww의 코딩 기록장 🧲 python algorithm >### 🔍 백준 N-Queen 처음에 무슨 문제인가 싶었는데 나중에 알아보니 나름 유명한 문제였었다. 일단 dfs로 백트래킹식으로 푸는건 한눈에 알아봤는데 재귀를 짜는데 너무 잼병이라 못풀었다.
오라클 계정을 얻게되어서 오라클에서 많은 테스트를 진행할 예정이다.일단 나는 2코어 짜리 Ubuntu 22.04로 올려놨다.인스턴스 이름은 Postgresql로 대충 적고private key를 받아서 고이 모셔둔다.원래는 다 테스트용이고 하니 귀찮아서 key 없이 실행
📝Carrotww의 코딩 기록장 🧲 python algorithm >### 🔍 백준 소수의 연속 합 문제를 읽어보면 일단 주어준 값까지의 소수 리스트를 구해야한다는 것은 알것이다. N이 주어졌을때 해당 값까지 소수를 구하는 것에대한 알고리즘은 에라스토테네스의 체
📝Carrotww의 코딩 기록장 🧲 python algorithm >### 🔍 🧲 spring boot hibernate >### 🔍 Hibernate는 Java에서 사용하는 객체-관계 매핑 (ORM) 라이브러리 중 하나입니다. ORM 라이브러리는 객체 지향
처음에 dp로 접근하였는데 풀다보니 bfs인 것 같아서 bfs로 풀이하였다.내 풀이bfs라고 느낌이 왔는데 문제에서 graph가 제대로 주어지지 않아 내가 만들어야 한다.코드가 좀 복잡한데1\. 파티 번호에 따라 참가한 사람들 dictionary2\. 어떤 사람이 참가
BFS 문제를 많이 풀다보니 이렇게 다양한 방법으로 이동하는 문제에 대해서는 3차원 배열로 접근하여 풀면 풀린다는걸 알고 있어서 그렇게 접근했더니 바로 풀렸다.체스 말처럼 이동하는 말의 움직임은 8개밖에 없으므로 hr, hc로 배열을 만들어 움직임 배열을 선언하고 8번
내 생각정렬만 잘 하면 된다고 생각했다. 그러니까 죄표압축을 해야하는 것이다.이런식으로 정렬했는데 이렇게 정렬을 하면 같은 숫자 즉 123123이 들어왔을때 작은 수부터 큰 수대로 정렬하면 024135 이렇게 된다. 같은 숫자가 같은 인덱스로 들어가지 못하기 때문에 다
bfs 문제이지만 사실상 문제에서 하라는대로 하면 풀리는 시뮬레이션이다.문제에서 하라는대로 하지 않고 풀다가 시간이 좀 걸렸다 ㅠ시계 반대방향으로 도는것도 직접 만들어줬는데 함수로 만들걸 그랬다.풀이direct -> 첫번째 인덱스부터 네 번째 인덱스까지가 북 동 남 서
많이 풀어본 유형의 문제인데 생각이 안나서 조금 애먹었다.두 가지 방법으로 풀었다.깔끔한건 BFS 풀이인것 같지만 개인적으로는 다익스트라 풀이가 마음에 든다.BFS 풀이BFS로 벽이 막혀있으면 deque에 뒤에 추가해주고 막혀있지 않다면 큐의 맨 앞에 추가해주어서 벽이
🔍 vscode에서 cpp과 python, java - sprint boot 까지 모두 하기때문에 설정히 한번 꼬이면 좀 골이 아프다.나는로 쉘 작업을 하고 있기 때문에 c++ 설정은 조금 다를 수가 있어 여기에 내 설정들을 기록해 놓는다.나는 Mingw를 C:/Mi