액티비티 다이어그램? : 객체의 상태가 아닌 처리 로직이나 조건에 따른 처리흐름을 순서에 따라 정의한 다이어그램 특징 1. 처리흐름의 도식화로 프로그램 로직 정의 가능 2. 비즈니스 프로세스 정의 3. usecase의 실현 구성요소 액션 : 더 이상 분해할 수 없는 단일 작업 액티비티 : 액션의 집합 시작 노드 : 액션이나 액티비티의 시작 종료 노드 : 모든 액티비티가 종료 흐름 종료 노드 : 특정 제어 흐름이나 객체 흐름이 종료됨 조건 노드 : 조건에 따라 제어의 흐름이 분리됨, 들어오는 제어 흐름은 한 개, 나가는 제어 흐름은 여러 개 병합 노드 : 여러 경로의 흐름이 하나로 합쳐짐, 들어오는 제어 흐름은 여러 개, 나가는 제어 흐름은 한 개 객체 노드 : 객체 흐름에 연결된 객체 제어 흐름 : 실행..
유스케이스 다이어그램? : 시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현하는 다이어그램 특징 사용자의 기능적 요구사항을 정의하는 직관적인 표현 유스케이스와 액터 간의 관계를 표현 고객과의 의사소통 도구 주로 분석단계에서 수행하여 시스템 개발 전 단계에 영향 구성요소 유스케이스 - 시스템이 제공하는 서비스, actor가 시스템을 통해 하는 행위 Actor - 사용자가 시스템에 대해 수행하는 역할 시스템 - 전체 시스템 구성요소 간 관계 연관 - 유스케이스와 액터의 관계를 표현 확장(Extend) - 사용하려는 유스케이스가 사용되어지는 유스케이스 행위를 선택적으로 포함 포함(Include) - 사용하려는 유스케이스가 사용되어지는 유스케이스 행위를 필수적으로 포함 일반화 - 하..
4+1 view ? 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법 유스케이스 관점 (Usecase view) : 요구사항을 분석해 시스템의 기능을 명세화 (기능 : 사용자에게 제공하는 기능) : usecase diagram 논리적 관점 (Logical view) : 유스케이스 관점에 표현된 요구사항을 시스템의 구조와 행동으로 명세화 : 클래스나 컴포넌트의 종류와 이들의 관계에 초점 : class diagram, object diagram 프로세스 관점 (Process view) : 시스템을 구성하는 프로세스나 그것 간의 동작을 표현 : activity diagram, class diagram 구현 관점 (Implementation view) : 개발 환경 안에..
네트워크 상에서 통신을 할 때 IP를 토대로 해당 서버가 있는 컴퓨터에 접근한다. 그런데 대부분의 경우 하나의 컴퓨터에는 여러 개의 서버가 실행될 수 있다. 컴퓨터에 여러 개의 서버가 실행되고 있다면, 어느 서버에 접속해야 하는지 컴퓨터에게 알려주어야 한다. 이 때 사용되는 것이 포트 번호이다. 프로토콜별 포트 번호 정리 [번호/이름/역할] 20 / FTP / 데이터전송포트 21 / FTP / 제어포트 22 / SSH / ssh,sftp 같은 프로토콜 및 포트 포워딩 23/ Telnet / 암호화 되지 않은 텍스트 통신 25 / SMTP / 이메일 전송 프로토콜 80 / HTTP / 웹 페이지 전송 프로토콜 443 / HTTPS / HTTP에 보안 기능을 추가한 프로토콜 514 / Syslog / 시스템..
[웹 브라우저를 통해 웹 사이트에 접속하여 원하는 웹 페이지를 가져오는 과정을 도식화한 그림] 출처 : http://tcpschool.com/webbasic/works ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ [네트워크 계층] OSI 7 계층 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉜다. TCP/IP OSI는 7단계로 이루어져있는 반면, TCP/IP는 4단계로 이루어져있다. Internet 계층은 addressing, packaging, routing 기능을 제공한다. Application 계층은 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의한다. Transport 계층은 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이..
서버? 컴퓨터네트워크에서 다른 컴퓨터에 서비스를 제공하기 위한 컴퓨터 또는 소프트웨어를 뜻한다. [서버와 클라이언트 관계] - 클라이언트는 서버에게 정해진 규칙에 따라 정보 및 서비스를 요청한다. 서버는 그 요청에 대한 데이터를 만들어서 응답한다. [서버의 구조 - 웹서버, Back-End Language, DB (DBMS)] Back-End Language : java(Spring), JavaScript(Node.js), Django(python) DB: MySql, MongoDB, MariaDB 서버: nginx, apache apache는 월드와이드웹 서버용 소프트웨어이다. 현재, 세계에서 가장 인기있는 웹 서버이다. java는 대표적인 객체지향 프로그래밍 언어이다. spring은 자바 플랫폼을 위..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr # Answer SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID # Comment DAT..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59408 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr # Answer SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL # Comment 동물의 이름이 몇 개인지를 출력하는 문제이며, 추가 조건은 이름이 NULL이면 카운트하지..