분류 전체보기

개발관련/자바스크립트 팁

자바스크립트를 예로 들어서 의존성 역전 원칙(Dependency Inversion Principle, DIP)

의존성 역전 원칙(Dependency Inversion Principle, DIP) 자바스크립트를 예로 들어서 의존성 역전 원칙(Dependency Inversion Principle, DIP)을 설명해드리겠습니다. 가정해봅시다. 우리는 웹 애플리케이션을 개발하고 있으며, 서버에서 데이터를 가져오는 DataFetcher 모듈이 필요합니다. 초기에는 DataFetcher 모듈이 직접 서버와 통신하고 데이터를 가져오는 기능을 가지고 있습니다. class DataFetcher { fetchData(url) { // 서버와 통신하여 데이터를 가져오는 로직 return fetch(url).then((response) => response.json()); } } 이렇게 구현된 DataFetcher 클래스는 외부 의..

개발관련

의존성 역전 원칙(Dependency Inversion Principle, DIP)

의존성 역전 원칙(Dependency Inversion Principle, DIP) 의존성 역전 원칙(Dependency Inversion Principle, DIP)은 추상화된 것은 구체적인 것에 의존해서는 안 된다는 원칙입니다. 이를 통해 시스템의 결합도를 낮추고 유연성과 확장성을 향상시킬 수 있습니다. 이해를 돕기 위해 간단한 예를 들어보겠습니다. 가정해봅시다. 우리는 온라인 쇼핑몰 시스템을 개발하고 있습니다. 이 시스템에는 주문(Order)을 처리하는 Order 클래스와 결제(Payment)을 담당하는 Payment 클래스가 있습니다. Order 클래스는 결제를 위해 Payment 클래스에 의존합니다. 처음에는 Order 클래스가 직접 Payment 클래스를 생성하고 사용할 수 있도록 코드를 작성..

개발관련

SOLID 원칙: 객체 지향 설계의 기반을 이루는 원칙들

안녕하세요! 오늘은 객체 지향 프로그래밍에서 매우 중요한 SOLID 원칙에 대해 알아보겠습니다. SOLID 원칙은 소프트웨어의 설계 품질과 유지 보수성을 향상시키기 위한 가이드라인으로, 객체 지향 프로그래밍에서 일반적으로 사용되는 원칙들의 약어입니다. 이 원칙들은 소프트웨어 시스템의 유연성, 재사용성, 확장성을 높이는 데 도움을 줍니다. 그럼 SOLID 원칙의 각 원칙을 자세히 알아보도록 하겠습니다. 1. 단일 책임 원칙 (Single Responsibility Principle - SRP) 이 원칙은 클래스(자바스크립트는 함수)나 모듈은 단 하나의 책임을 가져야 한다는 것을 의미합니다. 어떤 클래스나 모듈이 여러 개의 책임을 갖게 되면 변경사항이 발생했을 때 다른 책임과 관련된 코드도 함께 변경되어야 ..

개발관련/프론트엔드 지식

OWASP Top 10: 웹 애플리케이션 보안 취약점

OWASP(Open Web Application Security Project)는 웹 애플리케이션 보안을 개선하고 보호하기 위한 비영리 단체입니다. OWASP는 매년 업데이트되는 "OWASP Top 10"이라는 보안 취약점 목록을 제공하여 개발자, 보안 전문가 및 기업들이 웹 애플리케이션에서 가장 주요한 취약점에 대해 인식하고 대응할 수 있도록 돕고 있습니다. 이번 포스팅에서는 OWASP Top 10에 대해 자세히 알아보도록 하겠습니다. 1. 인젝션 (Injection) 인젝션은 악의적인 사용자가 애플리케이션에 악성 코드를 주입하는 공격입니다. 주요한 예로 SQL 인젝션, OS 명령어 인젝션, LDAP 인젝션 등이 있습니다. 2. 인증 및 세션 관리 (Broken Authentication) 약한 인증 ..

개발관련/매일 코딩 테스트 챌린지

구름 코딩 테스트 구름이의 취미 문제 자바스크립트 풀이

https://level.goorm.io/exam/49094/%EA%B5%AC%EB%A6%84%EC%9D%B4%EC%9D%98-%EC%B7%A8%EB%AF%B8/quiz/1 구름LEVEL 구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입 level.goorm.io 솔루션 // Run by Node.js const readline = require('readline'); (async () => { let rl = readline.createInterface({ input: process.stdin }); for await (const line of rl) { con..

개발관련/매일 코딩 테스트 챌린지

구름 코딩테스트 체크 카드 자바스크립트 풀이

구름 코딩테스트 체크 카드 자바스크립트 풀이 https://level.goorm.io/exam/160275/%EC%B2%B4%ED%81%AC-%EC%B9%B4%EB%93%9C/quiz/1 구름LEVEL 구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입 level.goorm.io 솔루션 // Run by Node.js const readline = require('readline'); (async () => { let rl = readline.createInterface({ input: process.stdin }); const data = [] let deposi..

개발관련/매일 코딩 테스트 챌린지

자바스크립트 구름 코딩테스트 문제 구름 숫자

구름 코딩테스트 문제 구름 숫자 https://level.goorm.io/exam/163678/%EA%B5%AC%EB%A6%84-%EC%88%AB%EC%9E%90/quiz/1 구름LEVEL 구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입 level.goorm.io 진짜 짜증 나는 문제였습니다. 솔루션 // Run by Node.js const readline = require('readline'); (async () => { let rl = readline.createInterface({ input: process.stdin }); let data = [] fo..

개발관련/매일 코딩 테스트 챌린지

자바스크립트 코딩테스트 구름 거스름돈

거스름돈 문제 거스름돈 문제 구름LEVEL 구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입 level.goorm.io 솔루션 // Run by Node.js const readline = require('readline'); (async () => { let rl = readline.createInterface({ input: process.stdin }); let value = 0 for await (const line of rl) { value = Number(line) rl.close(); } const coins = [40,20,10,5,1] let co..

개발자 Dane
'분류 전체보기' 카테고리의 글 목록 (4 Page)