목록항해 (48)
거누의 개발노트
문제 배열을 입력받아 합으로 0을 만들수 있는 3개의 엘리먼트를 출력하라. 입력 nums = [-1, 0, 1, 2, -1, -4] 출력 [ [-1, -1, 2], [-1, 0, 1] ] 작성한 코드 def threeSum(nums: List[int]): lists = [] for a in itertools.combinations(sorted(nums), 3): if sum(a) == 0: lists.append([*a]) rtn = [] for l in lists: if l not in rtn: rtn.append(l) return rtn 리코드에서 시간 초과가 나왔다. - 숫자가 많아지면 조합해야 할 숫자가 많기 때문에 초과된걸로 생각된다. 책에 있는 코드 def threeSum(nums: list..
문제 가장 긴 팰린드롬 부분 문자열을 출력하라. 팰린드롬? 회문 또는 팰린드롬은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다. 예를들어 다시 합창 합시다, 소주 만병 만 주소 등이 있다. 입력 "babad" "cbbd" 출력 "bab" "bb" 작성한 코드 def logestPalindrome(s: str) -> str: def expand(left: int, right: int) -> str: # 팰린드롬 여부를 체크하며 포인터 확장 while left >= 0 and right
이번에 항해에서 미니 프로젝트를 진행했는데 JWT 토큰 방식의 로그인 방식을 사용했다. 그런데 인증 방법은 어떤것이 있고 왜 JWT 토큰방식을 이용해야하는지에 대한 이해가 필요했다. 토큰(Tocken)기반 인증은 모던 웹서비스에서 정말 많이 사용되고 있다고 한다. 웹 서비스를 개발한다면 토큰을 사용하여 유저들의 인증작업을 처리하는것이 가장 좋다고 한다. 그럼 서버 기반 인증과 토큰 방식 인증을 알아보자. 서버 기반 인증 흐름 사용자가 로그인을 요청한다. 서버는 인증정보를 확인 후 세션을 생성 후 다시 사용자에게 응답한다. 회원 서비스를 요청 했을 때는 요청한 사용자 정보와 세션 저장소의 내용과 일치하는 정보가 있는지 확인 후 응답한다. 서버 기반 인증의 문제점 세션 유저가 인증을 할 때, 서버는 이 기록..
1일차 회고 항해가 시작되었다. 웹개발 종합반에서 배운 python, flask, dbmongo, aws 로 미니 프로젝트를 진행하는 Chapter 이다. 4명의 팀으로 구성해서 협업으로 프로젝트를 진행한다. 처음에 간략히 인사를 나누고 어떤 아이디어로 웹 프로젝트를 만들지 정했다. 우리 팀은 주식관련 웹 프로젝트로 결정되었다. 팀장 분이 사전에 혼자서 작업하던 작업물이 있어서 그 작업물을 기준으로 깃에 올리기로 했다. 처음에는 내가 레포지토리를 올려서 팀원들을 초대해 주었다. ( 초대하는 기능 있겠거니 했는데 써보는건 처음 인 것 같다. ) 하다보니 branch, Pull Request, Merge.. 등 깃에 대해 모르는 부분이 많았다. 팀원중 한분이 이미 Git도 그렇고 CI/CD 등 아는 부분이 ..
항해가 시작되었다. 1일차는 좀 힘들었다. 훈련소를 온 기분이었다. 흐어어어엉 2일차가 되니까 벌써 적응된 것 같다. 다시 배웠던걸 쓰자.. 1. 도메인 가비아에서 도메인을 샀다. 의외로 간단하고 저렴했다. 선택해서 구매만 하면된다. 2. AWS AWS에서 서버를 구매 [Ubuntu Server 18.04 또는 20.04 버전을 구매] 여기까지 구매하는 방법 이다. 구매하고 중요한점은 테스트 할 때 구매 해놓고 인스턴스 상태를 중지 또는 종료 하지 않으면 (무료기간 1년 후) 과금이 생길 수 있다는 점을 주의 해야한다. 그리고 마지막에 Key 파일을 하나 받는데 이걸로 바로 내 터미널에서 내 서버를 접근할 수 있는 키 이다. 3. AWS - Flask 서버 셋팅 #내 터미널에서 서버 접근(맥 기준) ss..
1. JQuery JQuery는 간단히 Javascript를 미리 작성해둔 것이라고 생각하면된다. (라이브러리!) document.getElementById("element").style.display = "none"; 위 와같은 자바스크립트 코드를 간단하게 사용 할 수 있게 도와준다. $('#element').hide(); JQuery를 사용하려면 안에 임포트를 시켜주어야 한다. 라이브러리는 모두 외워서 사용 할 필요없고 필요한 부분을 찾아서 사용하면된다. https://api.jquery.com/ jQuery API Documentation jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML do..
항해를 시작하면서 사전에 필수로 들어야할 교육이 있다고 한다. 스파르타코딩클럽에서 제공해주는 웹개발 종합반 2회독 하고 사전테스트를 통과해야 본격적으로 배에 승선할 수 있다고 한다. 강의를 시작하기 앞서 이런 화면을 보여준다. 동료들과 함께하고 있다는 느낌과 빨리 끝내고 싶은 생각을 갖게 해준다. 산뜻한 마음으로 입장해 보자. 첫 강의는 서버/클라이언트/웹의 동작 개념에 대한 내용이었다. 웹 브라우저가 하는 일 요청을 보내기 받은 HTML 파일을 그려주는 일 내 컴퓨터에 있는 공간에 HTML을 받기 때문에 내가 보는 화면을 수정한다고 해서 요청한 서버의 HTML이 바뀌는것은 아니다. 항상 HTML만 내려주는것은 아니다. 이렇게 서버에서 데이터도 내려받을 수 있고, CSS파일도 내려 받을 수 있다. 간략하..
회사를 그만두고 자만심이 있었던 것 같다. 혼자 공부해서 흔히 말하는 대기업에 지원해 면접정도는 볼 기회는 있을 줄 알았다. 문득 든 생각이 '이거 대학교때랑 다른게 없네...' 라는 생각이었다. (고1 때는 열심히하면 어디든 갈 수 있을줄 알았고 고2땐 인서울은... 고3땐 대학이라도...) 실상은 코딩테스트 1차 부터 합격조차 못 하고 있었다. 혼자 백준알고리즘, 프로그래머스 문제를 풀고 기사자격증 공부를 했다. 이렇게 공부하다가는 1년이 지나도 취업은 커녕 개발이 싫어질 수 있겠다는 생각이 들었다. 혼자 공부 하는것 보다 여러명이서 같이하면 능률도 오르고 방향도 잘 잡을수 있다고 생각해 부트캠프를 찾아봤다. 처음에는 국비지원 부트캠프를 찾아서 이곳 저곳 지원서도 내보고 시험도 봤지만 결과는 좋지 않..