프로그래밍

프로그래밍/기타

[딥러닝] 퍼셉트론과 신경망

딥러닝은 사람의 신경망을 모방하여 구현한다. 신경망에 대해 알아보기 전에 더 단순한 퍼셉트론부터 알아보자. 퍼셉트론이란? 퍼셉트론은 다수의 신호를 받아서 하나의 신호를 출력하는 알고리즘이다. 출력하는 신호는 0 혹은 1이다. (이진 출력) 아래 그림은 2개의 신호를 받는 퍼셉트론의 예다. 가중치 입력 신호와 가중치를 이용하여 출력을 내는데, 이때 사용되는 함수를 활성함수라고 한다. 퍼셉트론의 활성함수는 아래와 같다. 가중치가 큰 신호일수록 출력 신호에 주는 영향도 클 것이다. 즉, 가중치는 입력 신호의 중요도를 결정한다. 편향 하지만 실제 구현에서는 가중치 외에도 편향이라는 값을 사용한다. 위 식에서는 θ가 편향에 해당한다. 편향을 좌변으로 옮기면 -θ가 되는데, b라는 변수로 치환하여 아래와 같이 표..

프로그래밍/발생한 에러들

[Flutter] CERTIFICATE_VERIFY_FAILED 에러

플러터에서 개인 서버와 https 통신중에 에러가 발생했다. 에러 내용을 보면 unable to get local isser certificate 라고 한다. 이 에러는 요청하는 서버의 인증서가 유효하지 않다는 것이다. 처음에는 인증서 자체가 잘못된 줄 알았다. 하지만 Postman으로 요청 보내면 문제 없이 잘 되더라... 스택오버플로우나 구글링을 해보면 아래와 같은 코드를 본 경우도 있을 것이다.class MyHttpOverrides extends HttpOverrides{ @override HttpClient createHttpClient(SecurityContext? context){ return super.createHttpClient(context) ..badCertificateCallback..

프로그래밍/기타

사이드 프로젝트에 사용하기 좋은 서비스

요즘 사이드 프로젝트를 진행하고 있다. 일도 바쁘고 시간이 지날수록 자꾸 늘어져서... 개발 속도가 점점 늦어지고 있다. 리프레쉬 겸 상용 서버에서 사용할 인프라좀 찾아보고 있다. 사이드 프로젝트에서 배포를 고려할 때 가장 큰 문제는 역시 비용이다. 나 역시 비용을 고려하며 쓸만한 서비스가 있나 찾아보았다. 오늘은 내가 찾아본 정보들을 정리해보려 한다. 최대한 간단하게 적을 것이므로 대략 이런 서비스가 있구나 하고 훑어보면 좋을 것 같다. 어차피 프리티어 혹은 바로 윗 단계의 비용을 지불할 가능성이 높다고 생각하기에 비용 정책은 따로 설명하지 않겠다. Firebase, Vercel과 같이 널리 알려진 서비스는 제외하고 서술한다. Server Supabase Supabase | The Open Source..

프로그래밍/git

git push 취소하기 (push한 커밋 되돌리기)

가끔 협업하다가 브랜치 따는걸 깜빡하고 main에 push하는 경우가 있다. 시간을 되돌려 과거로 돌아가보자. 아래 명령어를 이용하면 push하기 직전의 커밋으로 돌아갈 수 있다. git reset --mixed HEAD^ git push --force 이제 브랜치를 생성해서 git add부터 다시 진행하자. 1. 만약 커밋 변경 내역까지 싹 날리고 싶으면 위의 명령어에서 --mixed => --hard 로 바꾸던가 하면 된다. 2. 커밋 히스토리를 1개가 아닌 2개 이전으로 날리고 싶으면 HEAD^ => HEAD~2 로 바꾸면 된다. (3커밋 전으로 가고싶으면 HEAD~3)

프로그래밍/발생한 에러들

java.lang.NoClassDefFoundError: javax/persistence/Entity

Spring에서 querydsl 세팅하다가 이러한 에러가 발생했다. 해결 방법 (build.gradle.kts를 사용하여 groovy gradle과 코드 포맷이 다를 수 있습니다.) 1. gradle에 annotationProcessor 추가 여기서 안되면 2번 방법까지 해야한다. implementation("com.querydsl:querydsl-jpa:5.0.0") annotationProcessor("com.querydsl:querydsl-apt:5.0.0:jpa") // 아래 두줄 추가 annotationProcessor("jakarta.persistence:jakarta.persistence-api") annotationProcessor("jakarta.annotation:jakarta.anno..

프로그래밍/발생한 에러들

[NestJS] SELECT시 DTO에 OmitType 적용 안되는 이슈

만들어놓은 모델에 OmitType으로 특정 property를 제거하고 데이터를 리턴해주려고 했다. 하지만 계속해서 제거하려는 데이터가 api response에 찍혔고... 왜 이런지 보아하니 insert, update, delete시에만 class-transformer의 PickType, OmitType 등을 사용하는게 맞는듯 하다. select 시에는 직접 Exclude 데코레이터를 이용해서 특정 property를 제외시킨다고 명시해주자.

프로그래밍/후기

GDG 썸머 해커톤 2022 : 오프티벌 후기

6월 25~26일 주말동안 GDG Campus Korea에서 주최한 여름 해커톤에 참여했다. 작년까지는 온라인으로 진행했었지만 코로나가 끝나가기에 오프라인으로 전환했다고 한다. 총 100명을 선발하여 프론트엔드 2명, 백엔드 2명 디자이너 1명으로 팀 구성을 하되, 행사 전날까지 함께할 팀원들이 누군지 알려주지 않는다. 정말로 팀원들 얼굴 보자마자 즉석에서 시작해야 하는 것이다. 주제는 행사에 가서 오리엔테이션을 진행하면서 사회문제, 환경 등 각자 주제를 선택하여 서비스를 만드는 방식으로 진행되었다. 결론부터 말하자면 정말 재밌었다. 같이 지원한 친구가 있었는데 그 친구는 떨어져서 아쉬웠다. 같은 팀은 못하더라도 같이 밤새면 재밌었을텐데... 해커톤을 시작하며 위에서 말했듯이 팀 구성은 5명이다. 해커톤..

프로그래밍/발생한 에러들

[jest] ReferenceError: React is not defined

jest가 리액트 컴포넌트를 읽지 못하는 이슈가 있었다. 해결 방법은 매우 간단하다. // .babelrc.json { "presets": [ ["@babel/preset-react", { "runtime": "automatic" }], ] } 위와 같이 @babel/preset-react에 { "runtime": "automatic" } 을 추가해준다.

프로그래밍/기타

깃허브 블로그에 댓글 기능 추가하기 (feat. Utterances, Disqus) (+ react, vue)

깃허브 블로그에 댓글 기능 추가하기 | 기원's Study(ing) 깃허브 블로그에 댓글 기능 추가하기 깃허브 블로그에 댓글 기능을 추가할 수 있다. giscus라는 댓글 플랫폼에 관해 글을 작성할 예정인데, 방법은 여러가지가 있는데 대표적인 몇 가지를 일단 소 giwonn.github.io (위의 사이트에서 보시면 더 쾌적하게 보실 수 있습니다.) 깃허브 블로그와 같은 개인 블로그를 사용하시는 분들은 utterances나 disqus를 많이 사용할 것입니다. 이번엔 Github Discussions 기반으로 작동하는 giscus라는 댓글 플랫폼에 대해 작성하려고 합니다. Utterances vs Disqus vs Giscus Disqus 구글링을 하며 블로그나 여러 사이트들을 들어가보면 위와 같은 댓글..

프로그래밍/기타

차근차근 해보는 Docker 개발환경 세팅 방법

원래는 도커를 제대로 공부해보고 그 다음에 사용해보려 했었다. 근데 노트북 데탑을 왔다갔다하면서 개발할때마다 자꾸 에러를 뿜는다.... 홧김에 세팅해보았다. 일단 미리 말하자면 나는 도커이미지로 개발환경 세팅만 해놓고 이미지 내부에 구현코드는 존재하지 않게 만들었다. 준비된 개발환경은 다음과 같다. node + vite + vue 이번에 할 것은 1. Dockerfile 작성 2. docker compose 파일 작성 3. 핫 리로딩 개선 이 정도를 해보려고 한다. 배포환경 세팅은 다음에 따로 글을 작성해야겠다. 1. Dockerfile 작성 프로젝트 경로 최상단에 Dockerfile을 작성해준다. # 만들려고 하는 image의 베이스가 되는 image FROM node:lts-alpine # base ..

프로그래밍/기타

[Vue.js] click 이벤트 submit 새로고침 방지

@keyup.enter를 사용하면 새로고침이 된다. .prevent를 뒤에 붙여봐도 소용이 없다. 그럴 때는 keydown.enter.prevent를 사용해보자. 새로고침 없이 잘 된다.

프로그래밍/기타

Vue 2에서 vue-cli 대신 Vite 사용하기

Vite는 Vue 3 를 기반으로 작동합니다. 그러므로 Vue 3를 사용하면 별다른 설정 없이 사용할 수 있습니다만... Vue 2는 설정을 좀 만져줘야 합니다. 저와 같이 Vue 2에서 Vite를 사용하고 싶은 분들을 위해 이 글을 바칩니다... Vite 프로젝트를 생성해보신분들은 프로젝트 생성 부분은 건너뛰시면 됩니다. Vite 프로젝트 생성 방법 방법은 아주 간단합니다. 일단 Vite 설치부터 진행하겠습니다. 프로젝트 폴더를 만들 경로에서 아래 명령어를 입력하면 됩니다. ex) abc 라는 폴더 내부에 프로젝트 폴더를 생성할 경우 abc 폴더에서 아래 명령어를 실행하면 됩니다. npm npm init vite@latest Yarn yarn create vite 이후에는 프롬프트 창에 출력된 메시지를..

Giwonnnnnnn
'프로그래밍' 카테고리의 글 목록