분류 전체보기

    [SSAFY] SSAFY 7기 수료 후기 #2 - 특화 프로젝트

    [SSAFY] SSAFY 7기 수료 후기 #2 - 특화 프로젝트

    싸피 수료 후 후기 몰아쓰기 2탄..! 이번엔 특화 프로젝트닷.. 특화 프로젝트 특화프로젝트는 AI, 빅데이터, 블록체인 등을 사용해서 프로젝트를 진행한다. 사실 이때부터 의욕이 줄어드는 사람들이 많다고 한다. 공통때 힘을 많이 쏟고, 취업 준비하는 사람도 많이 있기 때문이다. 우선 위해서 말한 기술들 중에서 하고 싶은 트랙을 1지망, 2지망 선택을 한다. 대부분은 1지망으로 배정을 해주지만 인기가 없는 트랙들을 위해 2지망으로 배정이 될 수도 있다. 그게 바로 나다...ㅎ 사실 빅데이터를 하고 싶었는데 인공지능으로 배정을 받았다. 이건 뭐 거부할 수도 없어가지고,,, 여기서 백엔드 파트를 맡고 싶었는데 인공지능을 담당할 사람이 많이 필요해서 백엔드에서 인공지능 포지션으로 변경되었다. 하핳 인공지능에 대..

    [SSAFY] SSAFY 7기 수료 후기 #1 - 공통 프로젝트

    [SSAFY] SSAFY 7기 수료 후기 #1 - 공통 프로젝트

    거의 몇달만의 글인가...? 플젝하느라 공부를 따로 할 수가 없어서 거의 관리 안 한 내 블로그... 다시 재개해야겠다..ㅎ 싸피 7기를 잘 수료하고 이제 혼자가 되었다!!.. 좋으면서도 뭔가 슬프다ㅠ😹 1학기 수료후 그동안 글을 잘 올리지 못했는데 프로젝트와 취업준비로 인해 관리하기가 어려웠다. 또한 싸피가 오프라인으로 전환된 후에는 9시까지 갔다가 퇴실하구 집 오면 거의 오후 7-8시? 였다. 그러면 이제 또 자소서 쓰고,,,,, 면접 준비도 하고,,,, 그래서 알고리즘과 CS공부를 손 놓을 수 밖에 없었다... 체력이 바닥이 나가지고...ㅠ (수영 다니면서 체력 기를거다....제발...) 1학기때문에 대면이였으면 진짜 큰일날뻔...ㅋㅋㅋㅋㅋ그때 알고리즘 문제 많이 풀어놓길 잘했다. 간단하게 싸피 2..

    [Typescript] 필수가 아닌 타입 설정하기

    [Typescript] 필수가 아닌 타입 설정하기

    가끔 TS를 쓰면서 ?를 붙여서 필수 요소가 아닌 속성을 설정할 수 있다. 요로케 export type PrivateRouteProps = { auth: InitialStateType; outlet: JSX.Element; study?: boolean; }; 현재 study라는 인자를 옵션으로 받고 있는건데 그러면 이 옵션이 안올 때를 대비해서 미리 default값을 설정해줘야한다. 그러지 않으면 에러뜬다 defaultProps 세팅해주라고 합니다 그러면 해주면 된다. PrivateRoute.defaultProps = { study: true }; 이런 식으로 기본값을 설정해주면 에러가 사라지는 모습을 볼 수 있다. PrivateRoute는 컴포넌트 이름이다. 완성 코드 export type Privat..

    [React+TS] React에서 비로그인처리, PrivateRoute사용하기

    [React+TS] React에서 비로그인처리, PrivateRoute사용하기

    시작하기 전 React에서 비로그인시, 또는 어떤 서비스를 쓰기 위한 제한이 있을때 PrivateRouter라는 커스텀 라우터를 사용해서 처리해줄 수 있다. 다른 방법도 있겠지만, 한꺼번에 관리할 때 편리한거 같아서 아직까지는 자주 사용 중 ! 필자는 react + typescript를 사용했다. 그리고 redux도 사용한다. 본문 우선 기본적으로 세팅은 되어있겠지만 react-route-dom 설치가 필요하다 npm i react-router-dom 그리고 기본 라우터가 세팅되어있다는 가정하에 진행할 예정이다. 1. 기본 라우터 우선 기본 세팅 되어있는 라우터는 다음과 같다. Route.tsx export default function Routes() { return ( ); } 이렇게 세팅되어있는 라..

    [python] 사용자 정의 이미지를 사용해서 인공지능 이미지 분류 모델 학습하기

    [python] 사용자 정의 이미지를 사용해서 인공지능 이미지 분류 모델 학습하기

    들어가기전 프로젝트를 진행하면서 인공지능 파트를 맡게됐다.(사실 백엔드 하고 싶어서 백엔드 한다고 했는데 어쩌다 보니 인공지능 간건 안비밀....) 팀원 전체가 인공지능에 대해 잘 아는 사람이 없었고, 나도 마찬가지로 인공지능을 실제로 구현해본 경험은 없었다. 그래서 사실 기대반 걱정반으로 인공지능을 맡게 되었다. 인공지능을 총 3명의 인원이 맡게 되었다. 기획단계에서 모델을 학습할 수 있는 데이터셋을 구하는 것이 중요하기 때문에 데이터셋을 제공해주는 사이트를 여러 곳 찾아봤고, 그 중에서 우리는 AI허브에 있는 반려동물 질환 이미지 데이터셋을 이용하기로 했다. AI-Hub 샘플 데이터 ? ※샘플데이터는 데이터의 이해를 돕기 위해 별도로 가공하여 제공하는 정보로써 원본 데이터와 차이가 있을 수 있으며, ..

    [Web] WebRTC

    [Web] WebRTC

    줌 클론코딩 – 노마드 코더 Nomad Coders WebSockets, SocketIO, WebRTC nomadcoders.co 노마드코더의 줌 클론코딩 강의를 보고 정리한 내용입니다. 비디오 가져오기 스트림 : 비디오와 오디오가 결합된 것 사용자의 스트림 가져오기 스트림은 track을 제공해준다. track은 비디오가 될 수 있고, 오디오, 자막등이 될 수 있다. 해당 track에 접근할 수 있다. const socket = io(); const myFace = document.getElementById("myFace"); //영상 화면 const muteBtn = document.getElementById("mute"); //음소거 설정 const cameraBtn = document.getElem..

    [Web]SocketIO

    [Web]SocketIO

    https://nomadcoders.co/noom 줌 클론코딩 – 노마드 코더 Nomad Coders WebSockets, SocketIO, WebRTC nomadcoders.co 노마드코더의 줌 클론코딩 강의를 보고 정리한 내용입니다. SocketIO 실시간, 양방향, event 기반의 통신을 가능하게 하는 프레임워크 socketIO는 websocket을 이용한다. 만약 websocket을 지원하지 않으면 다른 것(http long-polling)을 사용한다. 서버 코드 import http from "http"; import { Server } from "socket.io"; import express from "express"; const app = express(); app.set("view en..

    [Web] WebSocket 정리

    [Web] WebSocket 정리

    https://nomadcoders.co/noom/lobby 줌 클론코딩 – 노마드 코더 Nomad Coders WebSockets, SocketIO, WebRTC nomadcoders.co 노마드코더의 줌 클론코딩 강의를 보고 정리한 내용입니다. HTTP http는 모든 서버들이 작동하는 방식 유저가 req를 보내면 서버가 res로 반응한다. http에서 기억해야할 중요한 것은 stateless, 즉 백엔드가 유저를 기억하지 못한다. 유저와 백엔드 사이에 연결이 없다. 서버는 오직 req을 받을 때만 답장을 해준다. Websocket webSocket을 사용해서 연결하고 싶고, 서버가 지원한다면 wss(secure web socket)으로 접속하면 된다. ex) https://nomadcoders.co..

    [BJ] 백준 15591 MooTube (Silver) (JAVA)

    [BJ] 백준 15591 MooTube (Silver) (JAVA)

    문제 https://www.acmicpc.net/problem/15591 풀이 방법 이 문제는 시간초과가 관건인 문제였다. 처음에는 인접 행렬로 풀이를 하려고 했는데 계속해서 시간초과가 발생했다. 그래서 도저히 시간을 단축시킬 방법이 생각이 안나서 찾아봤더니 인접 리스트를 사용하면 풀리는 문제였다. 풀이 과정은 다음과 같다. 1. 인접 리스트를 생성해서 인접한 정점들과 USADO 값을 저장해준다. 2. v번째 정점으로부터 BFS를 시작한다. 3. queue에서 poll를 한 정점(n)과 인접하고(USADO값이 존재) 방문하지 않은 정점들만 탐색 후보가 된다. 4. n번 정점과 탐색 후보 사이의 USADO 값이 k이상인 경우에만 que에 넣어준다. 5. 그리고 cnt도 하나 증가해준다. 왜냐면 visit배..