안녕하세요! 11기 SSAFYcial입니다.😁 감사하게도 특화 프로젝트에서 저희 팀이 우수팀으로 선정되었는데요!본선 발표 리허설을 위해 리허설장에 갔더니,.. 엥 다 아는 사람들?1학기에 같은 반이었던 언니오빠들이!!우수팀 결과 나오고 보니 1학기 반 전원이 1~3등 안에 들었더라구용. 12반 최고👍특화 프로젝트 1, 2등 팀에게 인터뷰를 요청해 봤습니다! 😎 인터뷰이📒 시간이 NULL NULL 팀의 Echo Note📰 3성전자01재용 팀의 뉴쓱📈 선빵7조 팀의 뮤탈리스크Q. 프로젝트 주제와 목표는 무엇인가요?📒 시간이 NULL NULL - Echo Note강의 녹음과 필기를 결합한 음성 AI 기반 학습 지원 서비스입니다. 단순한 필기 앱을 넘어, AI 기술을 활용해 사용자의 효율적인 복습을..
전체 글
콩 심은 데 콩 난다PWA에서 다운로드 버튼을 클릭하면 사용자의 갤러리에 이미지가 저장되도록 하는 것이 구현 목표이다.일반적인 웹에서의 다운로드 링크로는 한계가 있었다. 💾 이미지 다운 구현1. Blob 객체로 이미지 데이터 처리현재 나는 백엔드에서 받은 이미지 url을 가지고 있는 상황이다.이미지 url을 Blob으로 변환한다. 2. 패키지 설치file-saver 라이브러리를 활용해 Blob을 png로 변환한다.나 같은 경우는 파일명에 .png로 지정해 주어 png로 저장되지만, .jpg로 지정하면 jpg로 저장된다.yarn add file-saver 3. 파일 저장 구현const handleDownload = async () => { try { const response = await fetch(imageUrl..
🚨 문제 상황import {useMutation, useQueryClient} from '@tanstack/react-query';import {deleteMedication} from '@/apis/medication/deleteMedication';export const useDeleteMedication = () => { const queryClient = useQueryClient(); return useMutation({ mutationFn: deleteMedication, onSuccess: () => { queryClient.invalidateQueries(['medicationList']); }, onError: (error: Error) => { ..
🚨 문제 상황svgr을 쓰기 위해 환경세팅을 하고 있었다. global.d.tsdeclare module '*.svg' { import * as React from 'react'; export const ReactComponent: React.FC>; const src: string; export default src;} 위 파일의 마지막 src 부분에서 계속 아래와 같은 에러가 뜬다. 이름을 계속 바꿔봤는데 계속 안된다..저기서 중복되었다는 client.d.ts로 들어가 봤다.C:\\S11P12A808\\front-end\\node_modules\\vite\\client.d.ts 여기서 이미 선언되었다고 나온다.global.d.ts 내용이 덮어 써지는 건 줄 알았는데 아닌가 보다..일단..
💻 Problem한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다.다음 예는 22 × 22 크기의 배열을 방문한 순서이다.N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오.다음은 N=3일 때의 예이다. 💡 Approach2차원 배열의 영역을 4분할한다.Z 순서대로 왼쪽 위(0), 오른쪽 위(1), 왼쪽 아래(2), 오른쪽 아래(3)이동 횟수는 0으로 시작한다.4개의 영역 중 타겟 좌표가 어디에 위치하는지 찾는다.타겟 좌표가 위치하는 영역..
💻 Problem문제 바로가기 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다.한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다.쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다.이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다.아래 그림은 원판이 5개인 경우의 예시이다. 💡 Approach이전에 풀어봤던 문제지만 알고리즘을 오래 안 하면서 다 까먹어서 다시 풀어봤다.하노이탑 규칙은 어렸을 때 많이 해봐서 이해하고 있었지만, 이를 어떻게 구현해야 할지 감이 안 왔다.하노이..
📒 반복(Iteration)과 재귀(Recursion)반복과 재귀는 유사한 작업을 수행할 수 있다반복은 수행하는 작업이 완료될 때까지 계속 반복루프 (for/while, do~while 구조)재귀는 주어진 문제의 해를 구하기 위해 동일하면서 더 작은 문제의 해를 이용하는 방법어떠한 개념이나 문제에 대한 정의를 그 개념이나 문제를 포함하는 작은 개념이나 문제로 나타내고 그 작은 개념, 부문 문제들에 동일하게 적용더 이상 작은 개념 부분 문제가 없을 때 ⇒ 재귀의 끝하나의 큰 문제를 해결할 수 있는 (해결하기 쉬운) 더 작은 문제로 쪼개고 결과들을 결합한다재귀 함수로 구현 📒 재귀 함수 (recursive function)함수 내부에서 직접 혹은 간접적으로 자기 자신을 호출하는 함수일반적으로 재귀적 정의..
🤝 Smart Contract디지털 형식으로 명시된 서약(commitment)들의 집합불변의 컴퓨터 프로그램불변(immutable): 한 번 배포되면 변경 불가결정적(deterministic): 실행한 결과가 모두 같음EVM 위에서 동작탈중앙화된 World Computer, 동일한 상태를 유지 🎧 RemixRemix - Ethereum IDEsolidity compilercontracts/artifacts 폴더가 생성됨Storage_metadata.json - ABIStorage.json - Bytecode 📱 DAppDecentralized Application탈중앙화된 P2P 네트워크 상에 백엔드 로직이 구동되는 응용 프로그램블록체인 상의 스마트 컨트랙트가 기존의 중앙화된 서버에 의해 서비스를 ..