본문 바로가기 메뉴 바로가기
프로필사진

개발자 삐롱히

@bbironghi

프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그

Frontend JavaScript React
  • 전체 글 (149)
    • 개발공부 (100)
      • 🟨 JavaScript (10)
      • 🟦 TypeScript (6)
      • 🟩 Node.js (14)
      • 🟦 React.js (23)
      • ⬛ Next.js (16)
      • 🟪 Redux (1)
      • 🟧 Svelte (1)
      • 🎅 Python (9)
      • 🧺 DBMS (3)
      • 🛢️ SQL (5)
      • 😺 Git (0)
      • 🤖 DL & ML (10)
      • 🎏 HTML & CSS (1)
      • 🤹 Three.js (0)
      • 🎸 ETC.. (1)
    • 사이드 프로젝트 (21)
      • 🩺 바디토리 : 건강기록 및 병원추천 웹서비스 (16)
      • 🌱 다시, 다 : 업사이클링 권장 커뮤니티 플랫폼 (4)
      • 🐣 조잘조잘봇: chat gpt를 이용한 힐링봇 (1)
    • 😡 트러블슈팅 (0)
    • 🖥️ 컴퓨터공학 기초 (1)
    • 🙋‍♀️ 기술면접 대비 (5)
    • 😵 알고리즘 공부 (6)
    • 📚 스터디 인증! (14)
    • 🤓 수강후기 (2)
250x250
개발공부/🟨 JavaScript
2023. 4. 18. 19:12
[JS] 값(value)

자바스크립트에서는 값이 항상 특정 자료형, 예를 들어 문자열이나 숫자와 같은 형태로 존재한다.그리고 자바스크립트 언어 레벨에서 값으로 취급하는 것은 무엇이든 변수에 넣을 수 있다는 원칙이 있다. 자바스크립트에서는 값으로 취급하는 범위가 매우 넓은데 숫자나 문자열뿐만 아니라 함수, 배열 등도 모두 값으로 취급한다.또한, 자바스크립트의 변수는 어떤 특정 타입과 연결되지 않으며 모든 타입의 값으로 할당 및 재할당이 가능하다.let foo = 42; // foo는 Number 타입이었다가foo = "bar"; // 이제 foo는 String 타입이 되었고foo = true; // 지금은 Boolean 타입이 되었다. 이처럼 자료의 타입은 있지만 변수에 저장되는 값의 타입은 변할 수 있는 언어를 "동적 타입 언..

사이드 프로젝트/🩺 바디토리 : 건강기록 및 병원추천 웹서비스
2023. 4. 17. 16:38
배포 후 오류 및 개선사항

📖 목차 - 오류 - 개선사항 로컬 개발환경 및 배포환경에서 서비스를 사용할 때 발생하는 오류나 개선사항을 찾아보자. 찾는대로 계속 추가할 예정이다. 😮 오류 □ Flask 서버 연결 문제 - 로컬에서 도커로 flask 서버 돌릴 때는 정상 작동하는 걸로 보아 flask 배포에서 문제가 발생한 듯함. - 배포한 사이트에서 기록하기는 전혀 안되고, 키워드 추출은 될 때 있고 안될 때 있음. - 이거 해결 안되면 배포한 서비스에서 기록하기, 키워드 추출, 진료과목 추천 기능 안됨. □ DB 변경 및 세팅 - 현재 DB연결이 백엔드 담당했던 팀원의 계정으로 되어있는데 앞으로 계속 리팩토링하며 사용할 거니까 내 계정으로 변경하고 병원, 진료과목 데이터 등 초기 데이터들 세팅하기 □ 카카오톡 회원가입 / 네이버 ..

사이드 프로젝트/🩺 바디토리 : 건강기록 및 병원추천 웹서비스
2023. 4. 15. 15:21
Next.js 프로젝트 배포하기

📖 목차 - Next.js 프로젝트 Vercel로 배포하기 - Flask 서버는 pythonanywhere로 배포하기 - 아직 완벽하지 않은 배포 상태 본격적인 리팩토링을 시작하기 전에, 지금까지 완성된 서비스를 배포시켜보기로 결정했다. 엘리스 AI트랙에서는 프로젝트 기간 동안 각 팀마다 VM을 하나씩 제공해주기 때문에 개발 완료 후 VM 환경에서 배포하여 서비스를 테스트해보긴 했지만 그 후로 VM은 종료되었다. 그래서 지금은 로컬 환경에서만 테스트가 가능한데 포트폴리오로 첨부하려면 아무래도 배포한 서비스가 있는게 좋을 것 같고, 로컬 개발환경과 배포 환경에서 나는 오류는 또 다르다는걸 프로젝트를 하면서 느꼈었기 때문에 본격적인 리팩토링에 앞서 먼저 배포에 도전해보았다. 그래도 아직 취업 전인데 유료로 ..

사이드 프로젝트/🩺 바디토리 : 건강기록 및 병원추천 웹서비스
2023. 4. 14. 10:16
프로젝트 후기 및 리팩토링 계획

📖 목차 - 프로젝트 소개 - 꽤나 늦은 프로젝트 후기 & 리팩토링 결심 - 리팩토링해야 할 사항들 정리 💜 프로젝트 소개 바디토리는 음성인식을 통해 매일 나의 몸 상태를 간편하게 기록하고, 기록된 증상을 기반으로 병원을 추천해주는 건강관리 웹 서비스이다. 또한, (전국 병원들과 제휴했다는 가정 하에) 병원과의 연계를 통해 손쉬운 기록 공유 및 진료내역 관리도 가능한 서비스이다. 👇 서비스 기획 의도나 자세한 기능 소개, 작업 내역 등은 아래 노션에서 확인할 수 있다. 바디토리: 건강기록 및 병원추천 웹 서비스 A new tool for teams & individuals that blends everyday work apps into one. hihisohi.notion.site 🤔 꽤나 늦은 프로젝트..

😵 알고리즘 공부
2023. 4. 13. 20:01
정렬 알고리즘 (버블, 선택, 삽입, 퀵, 병합, 기수)

1️⃣ 버블 정렬 (Bubble) loop를 돌면서 인접한 데이터 간의 swap 연산을 통해 정렬하는 방식 - 시간 복잡도 : O(n^2) - 다른 정렬 알고리즘보다 속도가 느린 편 N개의 데이터를 정렬한다고 가정하면, 루프를 한번 돌때마다 맨 뒤에 데이터부터 하나씩 픽스해 나간다. → 루프를 한번 도는데 N번의 비교를 하니 N의 시간복잡도를 가진다. → 그 루프를 N번 돌아야 모든 데이터가 정렬된다. 한 번 도는데 N의 시간복잡도를 가지는 루프를 N번 도니까 버블정렬의 시간복잡도가 n^2이다. 버블 정렬 구현 과정 말로 풀어 써보기 1) 비교 연산이 필요한 루프 범위를 설정한다. 2) 인접한 데이터 값을 비교한다. 3) swap 조건에 부합하면 swap 연상을 수행한다. 4) 루프 범위가 끝날 때까지 ..

😵 알고리즘 공부
2023. 4. 12. 12:37
구간 합 (누적 합)

1️⃣ 구간 합 합 배열을 이용하여 시간 복잡도를 줄이기 위한 알고리즘 합 배열 S S[i] = A[0] + A[1] + ... + A[i-1] + A[i] 기존 배열의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소 합 배열을 구하는 방법은 S[0] = A[0] S[i] = S[i-1] + A[i] 예를 들어, 배열 A와 배열 A의 합 배열 S는 다음과 같다. A = [1, 2, 3, 4, 5] S = [1, 3, 6, 10, 15] 구간 합을 구하는 방법 배열 A의 인덱스 i부터 j까지의 구간 합을 구하고 싶다면 S[j] - S[i-1] 예를 들어, A = [15, 13, 10, 7, 3, 12] 라는 배열에서 A[2]부터 A[5]까지의 구간 합을 구하면 S[5] = A[0] + ..

개발공부/🟨 JavaScript
2023. 4. 9. 21:25
[JS] 식별자 (Identifier)

✅ 자바스크립트에서 식별자(Identifier)란? 코드 내의 변수, 함수, 혹은 속성을 식별하는 문자열이다. 즉 변수, 함수, 속성 명을 지을 때 사용하는 이름이다.let age = 31function setAge() {}const o = { day: 6,}// age, setAge, o, day가 식별자  - 대소문자를 구별하며 유니코드 글자, $, _, 숫자(0-9)로 구성할 수 있지만, 숫자로 시작할 수는 없다.- 공백문자는 사용할 수 없다.- 자바스크립트 예약어(if, else, for 등..)는 사용할 수 없다.- 길이 제한은 없으나 통상적으로 길게 쓰지는 않는 편이다.- 식별자는 코드의 일부이지만 문자열은 데이터이기 때문에 식별자와 문자열은 다르다.- 식별자를 문자열로 변환하는 방법은 ..

사이드 프로젝트/🩺 바디토리 : 건강기록 및 병원추천 웹서비스
2023. 3. 31. 16:22
바디토리 서비스 기획 과정이 궁금하다면?

🌅 기획 배경저는 몸에 이상이 생겼을 때 “이거 전에도 이랬던거 같은데 언제였더라?”, “이거 처음이 아니면 문제있는건가? 병원에 가야하나?” 라는 고민을 자주하는 편입니다. 이런 고민을 자주 하다보니 몸에 이상이 생겼을 때마다 핸드폰 기본 다이어리에 기록하고 있는데 이걸 편하게 관리할 수 있는 앱이 있다면 좋겠다고 생각했습니다.  연령대에 관계없이 건강에 대한 관심이 증대되고 있는 요즘, 개인차원에서 건강관리를 목적으로몸상태를 다이어리처럼 매일 기록하고 관리할 수 있는 서비스가 있었으면 좋겠다고 생각했습니다. 또한, 몸이 아파 병원에 방문했을 때 단편적인 현재 증상의 서술만으로 진료를 받아진료결과가 정확하지 않거나 처방에 대해 만족하지 못한 경우가 종종 있지 않았나요?   매일 몸 상태를 기록하고, ..

😵 알고리즘 공부
2023. 3. 30. 14:06
DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)

1️⃣ DFS (깊이 우선 탐색) 그래프 완전 탐색 기법 중 하나로, 그래프의 시작 노트에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐새을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘 (완전 탐색이란 그래프에 있는 모든 노드를 탐색하는 것) 특징 - 재귀 함수로 구현 - 스택(Stack) 자료구조 이용 - 시간 복잡도는 O(V+E) V : 노드 수, E : 예지 수 깊이 우선 탐색을 응용하여 풀 수 있는 문제 단절점 찾기, 단절선 찾기, 사이클 찾기, 위상 정렬, ... DFS 핵심 이론 DFS는 한 번 방문한 노드를 다시 방문하면 안 되므로 노드 방문 여부를 체크할 배열이 필요하다. 그래프는 인접리스트로 표현하고, 스택을 사용하여 DFS를 구현해보자. 1) 시작 노드를 ..

😵 알고리즘 공부
2023. 3. 26. 22:47
시간복잡도 (Python)

알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 의미한다.  그래서 시간 복잡도는 코딩테스트를 풀 때 어떤 알고리즘을 사용할지에 대한 선택의 기준이 된다.  예를 들어, 파이썬 프로그램에서는 2,000만번~1억 번의 연산을 1초의 수행 시간으로 예측할 수 있으므로 연산 횟수와 수행 시간을 고려하여 어떤 알고리즘을 써야할지 생각해 볼 수 있다. 물론, 시간 복잡도만으로 어떻게 문제를 풀지 선택하는 것은 아니지만 데이터의 갯수에 따라 시간 복잡도를 계산할 줄 알면 써야하는 알고리즘의 범위를 좁힐 수 있게 된다.   시간 복잡도 표기법 시간 복잡도를 정의하는 3가지 유형이 있다. 빅-오메가  Ω(n)최선일 때(best case)의 연산 횟수를 나타낸 표기법빅-세타  θ(n)보통일 때(ave..

이전 1 2 3 4 5 6 7 ··· 15 다음
반응형

©2023. BBIRONGHI All rights reserved.

Tistory

티스토리툴바