본문 바로가기

IT KNOWLEDGE189

Vert.x는? 안녕하세요 항상 웃음이 나는 픠식팀 입니다 :) Vert.x는 NodeJS와 같은 비동기 소켓 서버 프레임워크이고 JVM 위에서 동작한다. 기존의 동기식 소켓 서버에는 일반적으로 각 클라이언트의 연결에 전용 스레드가 할당이 되는데 이러한 모델, 방식은 동시에 수천 개의 스레드를 실행하게 되면 운영체제의 부하를 증가시키므로 성능과 확장성이 제한이되기 때문에 서비스의 규모와 용량이 커짐에 따라 연결이 많은 경우 비효율적이다 반면에 비동기 프레임워크는 메커니즘을 사용하여 차단 없이 I/O 작업을 수행한다. Vert.x는 어떤 API 호출 스레드를 차단하지 않는다. 결과를 즉시 제공할 수 있으면 즉시 반환하고, 그렇지 않으면 일반적으로 이벤트를 수신하는 핸들러를 통해 처리한다. 스레드를 차단하지 않기 때문에 적.. 2023. 8. 25.
DevOps란? 베하~! 인사통 인사드립니다. 오늘은 IT에서 핫한 키워드중 하나인 DevOps에 대해서 알아보는 시간을 가지도록 해요! DevOps란 무엇인가? DevOps는 Dev(개발)과 Ops(운영)이 합쳐진 용어입니다! DevOps의 기본 개념은 간단히 말하면 개발과 운영의 경계를 허물고 통합한다고 할 수 있습니다. DevOps의 정의 DevOps 를 정의하는 다양한 표현이 있어요! 그 중 아래 5가지 단어들을 이용하여 이야기 하는게 가장 쉽고 이해하기 쉬운 표현인 것 같습니다. DevOps는 아래 5가지 철학/방법을 지향하여 프로세스를 만들고, 문화를 만들어나가는 철학입니다. 문화(Culture) 자동화(Automation) 측정(Measurement) 공유(Sharing) 축적(File up and Pile.. 2023. 8. 18.
클라우드 네이티브 애플리케이션 개발의 기본 원칙과 실제 적용 사례 1. 클라우드 네이티브의 정의: 클라우드 네이티브는 클라우드 환경에 최적화된 애플리케이션 개발과 운영 방식을 의미합니다. 이 방식은 확장성, 탄력성, 복원력을 중시하며, 클라우드의 자원을 효율적으로 사용하려는 접근 방식입니다. 확장성: 클라우드 환경은 수요에 따라 자원을 쉽게 확장할 수 있는 특징을 가지고 있습니다. 탄력성: 부하의 증가나 감소에 따라 자동으로 자원을 조절합니다. 복원력: 장애 발생 시 자동 복구 기능을 제공하여 서비스의 지속성을 보장합니다. 2. 마이크로서비스 아키텍처: 모노리식 아키텍처는 전체 시스템이 한 개의 애플리케이션으로 구성된 반면, 마이크로서비스는 작은 기능 단위로 나누어진 독립적인 서비스로 구성됩니다. 이 구조는 다음과 같은 이점을 제공합니다: 독립적인 배포와 확장: 서비스.. 2023. 8. 18.
람다식(Lambda Expressions) 베하! 안녕하세요 여러분, 일단고입니다. 여름 휴가는 잘 다녀오셨나요? 오늘은 개발하면서 알게된 ‘람다 캡처링’에 대해서 알아보겠습니다. 요즘은 소스 관리와 협업의 필요성 때문이라도 람다식을 이용한 선언형 프로그래밍이 유행 혹은 지향하는 조직들이 많이 있습니다. 각종 개발 언어를 가리지 않는 이 람다식에 대해 먼저 알아볼게요! 람다식이란 람다식이란(Lambda Expressions) 메서드를 하나의 식으로 표현한 것입니다. 즉 함수의 식별자와 반환값 없이 함수를 구현하기 때문에 익명함수(anonymous function)라고 부르기도 합니다. 람다식은 java언어에서는 하나의 익명 클래스로 분류됩니다. 메서드는 클래스안에서 선언되고 객체에 의해 사용되기 때문에 클래스로 봐야 합니다. 쉽게 얘기해서 람다식.. 2023. 8. 18.
RBAC과 ABAC 안녕하세요 항상 웃음이 나는 픠식팀 입니다. :) 이번에는 RBAC과 ABAC에 대해서 한 번 알아보겠습니다. RBAC(Role-Based Access Control) 역할 기반 접근 제어는 컴퓨터 시스템에서 권한이 있는 사용자들에게 시스템 접근을 통제하는 방법 중 하나 입니다. 권한을 사용자나, 사용자가 속한 그룹에다 역할을 할당하여 접근을 제어하는 방식을 말하는데 즉 사용자가 해당하는 역할에 따라서 자원에 대한 접근을 제어한다. 임의적 접근 제어(DAC)와 강제적 접근 제어(MAC)의 단점을 보완한 방식으로써 사용자에게 정적 혹은 동적으로 역할 그룹을 할당할 수 있다. 예를 들어서 사용자에게 admin 역할을 할당 해주게 되면 해당 사용자는 관리자의 권한을 가지게되어서 관리자가 할 수 있는 모든 행동.. 2023. 8. 18.
[Youtube API] YouTube Data API로 동영상 ID 추출하기 베하~!! 안녕하세요 1-Tier 팀 입니다!! 이번에는YouTube Data API로 사용자에게 검색어를 받아 해당 유튜브 동영상을 검색하고 동영상의 고유 ID를 추출해 보도록 하겠습니다. YouTube의 동영상들은 각각의 고유 ID가 있습니다. 해당 ID를 활용하여 특정 동영상을 실행, 추출 등 핸들링을 할 수 있는데 먼저 YouTube Data API v3를 사용하여 유튜브 동영상의 고유 ID 값을 추출해 보고 DB에 저장해 봅시다. import requests import json import pymysql import youtube_config login = youtube_config.conn key = login['key'] search_url = 'https://www.googleapis.c.. 2023. 8. 17.
정렬 알고리즘 개념 베하! 안녕하세요 여러분, 일단고입니다. 8월 중반이네요. 다가올 가을이 기대됩니다. 오늘은 정렬 알고리즘의 종류엔 무엇이 있고 어떤 장단점이 있는지 알아봅시다! 정렬 알고리즘 정렬 알고리즘은 컴퓨터 공학에서 중요시되는 문제 중 하나로, 어떤 데이터셋이 주어졌을 때 이를 정해진 순서대로 나열하여 재배치하는 방법을 말합니다. 선택 정렬, 삽입 정렬, 버블 정렬, 병합 정렬, 힙 정렬, 퀵 정렬, 기수 정렬이 있습니다. 어떤 알고리즘이 가장 좋다고는 말할 수 없습니다. 상황에 따라서 적절한 알고리즘을 사용하는 것이 가장 중요합니다. 알고리즘 선택 시 고려해야 할 사항은 다음과 같습니다. 정렬할 데이터의 양 데이터와 메모리 기존의 정렬된 정도 필요한 추가 메모리 양 안정성 그럼 정렬 알고리즘을 하나하나 알아봅.. 2023. 8. 14.
SSO, OAuth, OIDC 그리고 SAML 안녕하세요 항상 웃음이 나는 픠식팀입니다 :) SSO Single Sign-On(SSO)는 1회 사용자 인증으로 다수의 애플리케이션 및 웹 사이트에 대한 사용자 로그인을 허용하는 인증 솔루션입니다. SSO는 한 번 자격 증명이 검증된 사용자에게는 반복되는 로그인 없이 모든 암호 보호 리소스에 액세스 하도록 하여 보안과 사용자 경험을 모두 충족할 수 있다. SSO의 구축 유형 인증 대행 모델(Delegation) 인증 방식을 변경하기 어려울 경우, 많이 사용 시스템 접근 시, 통합 Agent가 인증 작업을 대행 2. 인증 정보 전달 모델 웹 기반의 시스템에서 주로 사용 미리 인증된 토큰(Cookie 기능 이용)을 받아서 각 시스템 접근 시, 자동으로 전달한다. 쿠키를 이용한 SSO 구현시 보안 주의사항 데.. 2023. 8. 4.