[바미] 심심해서 만들어 본 슬롯머신
·
프로그래밍(Web)/Javascript(TS,Node)
슬롯 머신 7 7 7스핀돈 채우기
[바미] 로또 추첨기(JS)
·
프로그래밍(Web)/Javascript(TS,Node)
Bami`s 로또 추첨기 추첨 시작 추첨 정지 로또 번호: 시도 횟수: 0회 당첨 횟수: 1등: 0회 2등: 0회 3등: 0회 4등: 0회 5등: 0회
[바미] 알고리즘 시간 복잡도 용어 정리
·
프로그래밍(Web)/공부일기
들어가기전에..안녕하세요. 요즘 매일 매일 제가 백준 알고리즘을 푼 것을 '하루 알고리즘'이라는 컨텐츠로 포스팅 하고 있습니다. '하루 알고리즘(JS)' 카테고리의 글 목록안녕하세요. 4년차 백엔드 개발자로 활동하고 있습니다. 코딩과 무관한 것들과 유관한 부분들 모두 공유 합니다. 오타나, 틀린 부분이 있다면 언제든지 지적 환영 입니다.codesk.tistory.com여기서 시간 복잡도 관련 용어들을 정리해보면 좋을 것 같아 이번 글을 포스팅하게 되었습니다. 빅오 표기법?빅오 표기법은 알고리즘의 효율성을 표현하기 위해 사용되는 표기법입니다. 알고리즘의 단계 수는 입력 크기에 따라 달라지기 때문에 '배열에 N개의 원소가 있을 때 N단계가 필요하다'와 같이 표현하는 것이 더 효과적이죠. 컴퓨터 과학자들은 자..
[바미] 트리거는 왜 사용할까?
·
프로그래밍(Web)/공부일기
회사의 Node프로젝트 중 트리거를 사용하는 프로젝트가 있었습니다. 그 트리거들은 특정 작업 전에 동작하거나 특정 작업 후에 처리되는 것들이였기 때문에 그 트리거들을 보면서 미들웨어라는 좋은 게 있는데 왜 트리거를 사용했을까? 라는 생각을 하게 되었습니다. 그러니까 아래와 같이 구성하면 되지 않나? 싶었죠. app.use(async (req, res, next) => { try { const result = await someAsyncTask(); req.customData = result; // 비동기 작업 결과를 요청 객체에 저장 next(); // 다음 미들웨어 함수 호출 } catch (error) { next(error); // 오류 처리를 위해 다음 미들웨어 함수 호출 } }); 그러다 GPT..
[바미] Postgresql 설치 오류 해결하기
·
프로그래밍(Web)
공식 사이트에서 16.1버전을 다운받고, 설치하려는데 위와 같은 에러창이 떴습니다. 처음에는 AppData\Local\Temp경로에 postgresql...디렉토리 문제인 줄 알고 삭제했지만 문제는 여전했습니다. 방법은 아래 페이지에서 구버전을 다운받아 해결했습니다. https://superuser.com/questions/1475822/postgresql-install-fail-in-windows-10-icacls-error-access-denied PostgreSQL Install Fail in Windows 10 (icacls error / access denied) I am getting the following error when trying to install PostgreSQL on my W..
TypeORM vs Sequelize
·
프로그래밍(Web)/공부일기
안녕하세요. 자바스크립트 계열의 언어를 사용하다시는 분들이라면 한 번쯤은 접해봤을 ORM 라이브러리라고 생각합니다. 오늘은 이 둘에 대해 간단하게 비교해보도록 하겠습니다. 차이점 TypeORM TypeScript와의 통합 TypeORM은 TypeScript와의 완벽한 통합을 제공하며, 타입 안정성과 코드의 가독성을 높일 수 있습니다. Active Record 및 Data Mapper 패턴 지원 두 가지 패턴을 지원하여 사용자가 선호하는 방식으로 데이터 모델을 다룰 수 있습니다. 데이터베이스 독립성 다양한 데이터베이스를 지원하며, 데이터베이스 간의 전환을 비교적 쉽게 할 수 있습니다. Migrations 및 Schema 관리 쉬운 마이그레이션 관리 도구를 제공하여 데이터베이스 스키마를 관리하기 쉽습니다. ..
sequelize 사용기
·
프로그래밍(Web)/공부일기
Intro혼자서 프론트부터 백엔드까지 북치고 장구쳤던 프로젝트가 있었다. 그 코드 구조가 프론트에서 ajax로 통신 -> ajax route처리하는 부분에서 호출 url에 맞는 API 함수 호출 -> DB 실행 -> 데이터 return 형태로하나의 파일에서 호출URL에 맞는 함수 호출 부분이 전부 담겨있고, 다른 하나의 파일에선 API 호출하는 함수들을 선언하는 부분들이 담당하는 구조였는데 이 부분을 개선하여  조금 더 REST API 형태에 비슷하게 하도록 sequelize를 사용하여 구조를 변경해 보았다.  각 호출에 필요한 Model을 만들었고, API 호출 구조와 동일하게 디렉토리 안에 index파일을 만들어 API 개발할 때 직관적으로 개발 할 수 있도록 만들어보았다.어떻게 사용했는가?예를 들어..
Git의 다양한 브랜치 병합 방법들
·
프로그래밍(Web)/업무관련
학습 배경 이직한 회사에서 rebase and merge라는 방식의 merge 방법을 채택하고 있었는데 나에겐 rebase and merge라는 개념이 생소하여 학습하게 되었다. Merge 일반적으로 많이 사용되는 병합이며, 커밋 이력을 모두 남길 때 사용한다. 서로 다른 브랜치에서 작업을 했거나, 작업 내용을 합쳐야 하는 경우 merge를 해주면 됨 브랜치 상태 확인 Checkout한 브랜치를 기준으로 —merged, —no-merged 옵션을 사용하여 merge가 된 브랜치인지 아닌지 필터링할 수 있다. git branch --merged git branch --no-merged Merge 하기 ‘현재' 브랜치에서 [브랜치 명]의 변경사항을 병합 예를 들어 master브랜치와 test 브랜치가 있다고..
Node - koa 프레임워크를 사용하며 느낀점
·
프로그래밍(Web)/공부일기
요번에 koa 프레임워크로 개발하게 되어 koa 프레임워크에서 REST API를 처리하는 간단한 코드를 만들어 보았습니다. 예제 코드 const Koa = require('koa'); const Router = require('@koa/router'); const app = new Koa(); const router = new Router(); var userList = []; router.get('/', (ctx) => { ctx.body = 'Hello World!'; }); router.post('/users', (ctx) => { const name = ctx.query.name; if (checkDuplicates(userList, name)) { ctx.body = 'User duplicate..
Bami