Computer Science/Software Engineering

Computer Science/Software Engineering

[Server] SSO(Single Sign-On)와 소셜 로그인(Social Login)

SSO(Single Sign-On) SSO(Single Sign-On)는 한 번의 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 통합 인증 솔루션이다. 최근 간편 로그인 또는 소셜 로그인(Social Login)이라는 이름으로 많은 어플리케이션과 웹 사이트에서 접할 수 있다. SSO의 가장 큰 장점은 하나의 플랫폼에서 인증이 끝나면 그 이후 로그인과 로그아웃을 반복할 필요가 없다는 간편함이다. 이러한 간편함은 사용자 경험을 개선하는 중요한 방법 중 하나가 된다. 뿐만 아니라 서비스를 제공자도 기술적, 관리적 측면에서 아래와 같은 이점이 있다. 암호 보안 강화: 하나의 강력한 비밀번호를 만들도록 권장하여 사용자의 오입력 방지와 함께 기존의 보안 관행에서 어느정도 벗어날 수..

Computer Science/Software Engineering

[Server] CGI, WSGI, ASGI와 Gunicorn, Uvicorn의 관계

규모가 크지 않은 서버를 구현할 때 Python을 이용하는 것은 생산성 측면에서 이득이 있다. 그래서 Flask를 이용하여 종종 API 서버를 구현하곤 했지만 최근 새 프로젝트에 FastAPI를 이용해 직접 API 서버를 구현해 보았다. 이때까지는 wsgi, asgi 등 콘솔창에 찍히는 로그를 별로 신경 안 쓰고 넘어갔었다. 이외에도 gunicorn, uvicorn 등 이제는 알고 넘어가야 할 때인 듯하여 이번 기회에 정리를 해본다. 일반적으로 Python으로 서버를 구현할 때 Nginx와 연동하여 배포한다. 여기서 주의할 점은 파이썬 웹 서버 프레임워크는 웹 서버가 아니라는 것이다. 물론 개발 중에는 Flask나 Django에 내장된 WSGI compatible server를 이용하는 것이 생산성에 도..

Computer Science/Software Engineering

[UI/UX] Radio Buttons vs Drop-Down

사용자에게 제공되는 UI는 기본적으로 어떠한 선택을 하도록 유도하거나 특정 기능들을 사용하기 위한 옵션들을 선택하는 기능들을 내포하고 있다. 가장 심플한 방법이며 GUI 구현을 위한 어떤 개발 언어나 프레임워크를 사용하는가와 관계없이 항상 기본 위젯으로 제공되는 선택 방식인 Radio Button과 Drop-Down 방식의 적절한 사용 방법에 대한 기본적인 몇가지 규칙이 있다. Radio Button 우선 라디오 버튼을 사용하기 적절한 케이스는 아래와 같다. When You Want to Emphasize Options When You Have Less Than 5 Options When Comparison of Options Needs to Make Clear When Visibility and Qui..

Computer Science/Software Engineering

[UI/UX] CTA(Call To Action)의 규칙

CTA(Call To Action) CTA(Call To Action)이란 방문객이 제공되는 UI 내에서 제작자의 의도대로 클릭을 하거나 다른 행동을 하도록 유도하기 위한 버튼 또는 방식들을 의미한다. 이 CTA는 온라인 마케팅에서 성과를 내는 데 아주 중요한 역할을 수행한다. 아무리 좋은 제품, 서비스라도 페이지 내 CTA가 제대로 구성되어 있지 않다면 잠재 고객들은 전환으로 이어지기 전에 해당 페이지를 이탈할 가능성이 높다. 효과적인 CTA를 위한 전략이 필요하다. Marketing Experiments에 따르면 마케터가 자신의 메시지를 빠르고 효과적으로 전달하고 방문자에게 행동을 유도하기 위해 6가지 주요 목표에 집중해야 한다고 말한다. 주의 끌기(Arrest attention) 연결 생성(Buil..

Computer Science/Software Engineering

SDK(Software Development Kit), API(Application Programming Interface), 위젯, 모듈의 차이

개발을 진행하며 파일 구조를 설계할 때 항상 디렉토리 명과 파일 명들을 명명할 때 고민이 되거나 헷갈리는 경우가 있다. 이 때 네이밍에 좀 참고하고자 해당 내용들을 정리해보았다. SDK(Software Development Kit) SDK(Software Development Kit)란 직역하자면 소프트웨어 개발 도구 모음이다. SDK에는 API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티 등 다양한 개발 도구를 포함하고 있다. 또한 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합으로 볼 수 있다. 즉, 어떤 소프트웨어를 만들기 위한 도구 모음을 SDK라고 한다. 그리고 이 도구엔 API도 포함되어 있다. 예를 들어 iOS SDK를 다운로드하면 개발자에게 iOS 애플리케..

Computer Science/Software Engineering

[QA 전략] 화면 흐름도(Screen Flow Diagram)와 정보 구조도(Information Architecture, IA)

화면 흐름도(Screen Flow Diagram) 화면 흐름도(Screen Flow Diagram)란 화면과 기능 단위로 유저의 사용 흐름을 도식화한 문서이다. 사용자의 입장에서 앱을 사용할 때 어떤 방식으로 구동되는지와 행동에 대한 출력 화면들을 순서도로 만든 것이다. 뿐만 아니라 개발자가 DB설계 및 프로그램 로직 설계할 때 이용할 수 있다. 앞서 언급한 것처럼 이미지로 보기 쉽게 도식화가 되어있어 개발 지식이 부족한 기획자와의 소통의 도구로도 사용할 수 있다. 장단점을 정리하자면 아래와 같다. 장점 - 도식화되어 이해가 월등히 높다. - 구현자가 아닌 경영자도 쉽게 파악할 수 있다. - 화살표 하나로 화면 이동을 쉽게 표현할 수 있다. 단점 - 프로젝트 일정, 파트별 진행 여부를 파악하기 위해, 프..

AlienCoder
'Computer Science/Software Engineering' 카테고리의 글 목록
loading