프런트엔드/프로젝트 관리 8

Self-XSS: 개발자 콘솔을 사용한 공격 (ft. SNS 해킹)

안녕하세요. 웹 개발 지식을 알려드리는 조드래곤나인입니다. 인스타그램과 같은 SNS에서 개발자 도구를 열면 Self-XSS 경고가 나오는 것을 보신 적 있으실 겁니다. Self-XSS 공격을 당하면 SNS 계정을 해킹 당할 수 있어서 경고하는 건데요. 오늘은 Self-XSS, SNS 해킹에 대해서 알아보겠습니다. 목차 Self-XSS란? 공격 방법 피해 범위 Self-XSS란? Self-XSS(Self Cross-Site Scripting)는 사용자가 자신을 공격한다는 의미의 "Self"와 Cross-Site Scripting의 약어인 "XSS"의 합성어입니다. 공격자가 웹 사이트의 취약점을 찾아서 공격하는 XSS 공격과 달리 Self-XSS는 사용자가 직접 코드를 실행하게 해서 공격하는 방식입니다. 공..

모노레포 사례 알아보기

모노레포는 여러 개의 서브 프로젝트를 한 개의 레포지토리에서 관리하는 운영 방식입니다. 카카오 FE 개발자로 있을 때는 Lerna를 사용해서 모노레포를 구성했는데요. Documentation | Lerna Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository. lerna.js.org 요세는 Turborepo를 많이 활용하는 것 같습니다. Turbo Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in R..

명세 기반 테스트 간단 정리

명세 기반 테스트란 요구사항 정의서, 설계서와 같은 명세서를 바탕하며, 테스트 케이스를 도출 및 실행하여 결함이 없는 것을 보장하는 기법입니다. 다음과 같이 5가지 방법으로 테스트 케이스를 작성할 수 있습니다. 1 동등 분할 명세 기반 테스트 대상의 데이터 구간을 일정 간격으로 분할하여 테스트 케이스를 구성하는 방법입니다. 보통 데이터의 구간의 중간값을 대푯값으로 사용합니다. 2 경곗값 분석 명세 기반 테스트 대상의 데이터에서 반복 구문의 경곗값을 기준으로 케이스를 구성하는 방법입니다. 예를 들어 최솟값, 최솟값 + 1, 중간값, 최댓값, 최댓값 - 1 의 값을 사용합니다. 3 결정 테이블 명세 기반 테스트 입력값과 결괏값을 테이블로 구성하여 테스트 케이스 및 절차를 구성하는 방법입니다. 애플리케이션 수..

소프트웨어 생명주기 간단 정리

소프트웨어 생명주기 간단 정리 소프트웨어를 만들 때는 규모를 불문하고 소프트웨어 생명주기 순서로 업무를 진행하는 것을 지향한다. 생명주기 순서로 진행하게 되면 효율적으로 시간을 활용할 수 있다. 1. 정의 단계 계획 분석: 요구사항이 무엇인지 정의 2. 개발 단계 설계: 요구사항을 어떻게 구현할지 개발: 요구사항을 시스템이 이해할 수 있는 언어로 변환하는 과정 테스트: 요구사항이 제대로 구현되었는지 검증하고 확인하는 과정 3. 지원 단계 운영: 소프트웨어 배포 후 버그 수정 및 기능 추가 모델 폭포수 모델 계획 -> 분석 -> 설계 -> 개발 -> 테스트를 순서대로 진행한다. 제조업 같은 하드웨어와 밀접한 소프트웨어에서 사용되기도 한다. 반복형 모델 계획 -> 분석 -> 설계 -> 개발 -> 테스트를 반..

효율적인 회의를 위한 퍼실리테이션

내 시간을 효율적으로 관리하는 것은 스스로가 제어 가능하므로 쉬운 일이다. 하지만 회의를 할 때 상대방의 시간을 효율적으로 사용하는 것은 어려운 일이다. 회의 시간이 길다고 좋은 결과를 도출하는 것이 아니다. 회의 참석자가 많다고 해서 좋은 아이디어가 나오는 것이 아니다. 결국, 적절한 시간과 참여가 좋은 결과를 도출할 수 있다. 회의를 효율적으로 하고 참여를 유도할 수 있는 기능이 퍼실리테이션이다. 소모적인 시간이 아닌 의미 있는 회의를 하기 위해 퍼실리테이션은 중요하다. 그래서 퍼실리테이션을 정리했다. 글에 비유적인 표현이 많이 사용되기 때문에 상황에 적절히 활용하는 것을 권한다. 퍼실리테이션 퍼실리테이션이란 퍼실리테이션은 사전적으로 "쉽게 하다" "용이하게 하다"라고 한다. 퍼실리테이션은 여러 사람..

서비스의 리스크를 대비하는 위험관리

글의 목적프로젝트 초기에 위험 식별 활동을 수행하는 것은 중요하다. 위험 식별 활동은 기획서 검토를 통해 장애물을 식별하고 대응 방안을 마련하는 것이다. 그리고 프로젝트 진행 중 발견된 위험을 빠르게 보고해야 하고 의사결정이 필요하다. 의사결정이 빠르게 진행될수록 최소한의 비용으로 위험을 해결할 수 있다. 이러한 위험관리는 프로젝트를 이끄는 리더뿐만 아니라 프로젝트의 구성원들에게도 중요하다. 이 포스트는 위험관리란 무엇이고 어떻게 하는 것인지 정리한 포스트이다. 목차위험관리란 무엇인가 위험관리를 수행하는 조직이 많지 않은 이유 위험관리는 어떻게 할까 위험관리란 무엇인가위험이란 아직 결함으로 발생하지는 않았지만, 결함이 될 수 있는 잠재적 가능성을 말한다. 결함이란 사람의 실수가 소프트웨어에 전이된 것으로..

배포 어디까지 알고 있나요?

2019년 4월 25일에 작성한 포스트입니다. 글의 목적 서비스 배포 과정과 안정화 기간에 대한 일렬의 과정은 안전한 서비스 운영을 위해서 중요하다. 하지만 이러한 지식은 현업에서 경험하는 방법외는 얻기 힘들다. 서비스 개발 및 운영을 하는 엔지니어들에게 도움을 주고자 작성을 했다. 배포와 관련된 지식들 배포 프로세스 소프트웨어를 배포하기 위해서는 프로세스가 존재한다. 나는 프런트를 담당하고 있는 데, 프런트에는 일반적으로 백엔드 배포에 의존성이 있다. 의존성이 있는 소프트웨어가 있으면 협업부서간의 명확하게 순서를 정의해야 한다. 배포 과정중에 일시적으로 서비스를 사용하지 못하는 경우가 있다. 이럴때는 사용자들이 소프트웨어를 사용하지 못하도록 공지사항과 같은 장치를 둔다. 롤백 플랜 롤백 플랜이란 배포 ..

개발 일정산정 방법 한장에 정리!

글의 목적 기능을 개발하기 앞서 선작업이 필요한 것은 개발에 소요되는 일정을 산정하는 것이다. 서비스에 필요로하는 기능은 많지만 현실적으로 모두 구현한다는 것은 힘들기 때문에 우선순위 조정이 필요했다. 그래서 일정산정에 대한 정확한 과정을 알아보기로 하였다. 용어정의 Feature : 요구 사항, 스펙과 같은 기능 하나를 의미합니다. MD : Man Day 약자로 한사람이 하루를 작업한 것을 의미합니다. 즉, 8시간입니다. 일정산정 과정 User Story => Feature List => Estimation 일정산정의 과정은 기획서를 참고하여 사용자 스토리를 작성하고, 사용자 스토리를 기반으로 기능 리스트를 작성한다. 그리고 마지막으로 기능 리스트를 통해 일정산정하게 된다. User Story 사용자 ..

728x90