본문 바로가기

Programming/일반

(10)
메타버스 개념 및 저작권 이슈 메타버스와 저작권 이슈 추상을 의미하는 메타(Meta), 현실세계를 의미하는 유니버스(Universe)의 합성어로, 가상 세계와 현실세계의 경계가 허물어진 3차원 가상 세계 메타버스는 인공지능이 장착되어 스스로 플랫폼이 제공한 픽셀들을 조합하여 여러가지 가상 아이템을 제작할 수 있는 기능이 있습니다. 메타버스 내 캐릭터도 사람의 사상과 감정을 시각적으로 표현한 것으로, 독창성이 있으면 미술 저작물로서 창작자에게 저작권이 발생합니다. 하지만, 메타버스 내 캐릭터는 플랫폼이 제공하는 픽셀이나 팔, 다리, 얼굴, 머리, 피부 등 개별 신체 요소들의 조합의 결과물로서 이에 대한 창작성 인정 여부와 이용자와 플랫폼 중 누구를 저작자로 볼 지가 문제가 될 수 있습니다. 플랫폼이 픽셀과 개별 신체 요소들에 대한 저작..
블록체인이란? 블록체인이란? 블록체인은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다. 이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 블록체인 기술은 비트코인을 비롯한 대부분의 암호화폐 거래에 사용된다. 암호화폐의 거래과정은 탈중화된 전자장부에 쓰이기 때문에 블록체인 소프트웨어를 실행하는 많은 사용자들의 각 컴퓨터에서 서버가 운영되어 중앙에 존재하는 은행 없이 개인 간..
XSS(Cross Site Scripting) 공격 및 대응 방법 크로스 사이트 스크립트(XSS) 공격 XSS 공격이란? 웹 페이지에 악의적인 스크립트를 포함해 사용자 측에서 실행되게 유도할 수 있는 공격 기법 ① 공격자가 악성 스크립트 파일을 웹 서버에 설치 ② 클라이언트에서 악성 스크립트가 설치되어 있는 웹 브라우저 실행 ③ 웹 서버의 악성 스크립트 실행되어 클라이언트(사용자) 감염, 감염 후 개인 정보 등 공격자에게 유출 XSS 공격의 시큐어 코딩 구현 외부 입출력값에 스크립트가 삽입되지 못하도록 & " ' / ( ) 등에 대해 문자열 치환 함수를 구현한다. XSS의 3가지 공격방법으로 Reflected XSS, Stored XSS, DOM XSS가 있다. 구분 코드 및 설명 조치 전 ----- ① 검색결과 : ${m.content} ----- ② ① 외부 입력값..
블랙박스 테스트/화이트박스 테스트 화이트박스 테스트 프로그램 내부 로직을 보면서 수행하는 테스트 화이트 박스 테스트는 내부 구조를 기반으로 문장 검증, 경로 검증 등을 수행한다. 유형 설명 제어구조 테스트 소프트웨어의 논리적 복잡도 측정 후 수행 경로들의 집합을 정의하는 테스트 루프 테스트 프로그램의 루프 구조에 국한해서 실시하는 테스트 화이트박스 테스트는 구조 테스트라고도 하며 구문 커버리지, 결정 커버리지, 조건 커버리지, 조건/결정 커버리지, 변경 조건/결정 커버리지, 다중 조건 커버리지 테스트를 포함한다. 블랙박스 테스트 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트 유형 사례 설명 동등 분할 테스트 입력 데이터의 영역을 유사한 도메인별로 유효 값/무효 값을 그룹핑하여 대표값 테스트 케이스를 도출하여 테스트하는 기..
JSON 이란? 1. JSON(JavaScript Object Notation) 개념 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 을 위해, 넓게는 XML을 대체하는 주요 데이터 포맷이다. 2. JSON의 사용 이유 JSON은 네트워크 연결을 통해 데이터를 주고 받을 때 직렬화하여 전송할 수 있고 브라우저를 포함한 Javascript기반 응용 프로그램을 개발할 때 사용됩니다. 또한 Web서비스 또는 Open API에서 공개데이터를 제공할 때 JSON을 사용합니다. 3. JSON(JavaScript Object Notation) 형식 3.1 name-value 형식의 쌍 - 여러 가지 언들에서 obje..
WSDL / SOAP / UDDI 개념 WSDL(Web Services Description Language) 웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다. SOAP(Simple Object Access Protocl) 일반적으로 널리 알려진 HTTP, HTTPS, SMTP등을 사용하여 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜이다. SOAP는 XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계되어 있다. 헤더는 선택사항으로 반복이나 보안 및 트랜젝션을 정보로 하는 메타 정보를 가지고 있다. 바디 부분은 주요한 정보인 정보를 가지고 있다. UDDI(Universal des..
GET방식 POST방식 비교 및 차이 사용자가 어떤 홈페이지로 이동하기 위해서 URL을 브라우저 주소창에 작성하고 엔터를 누르면 원하는 페이지로 이동합니다. 사용자는 단순히 URL(Uniform Resource Locator)을 입력하였을 뿐이지만 서버 내부에서는 클라이언트의 요청에 응답(웹페이지로 표현)하기 위해서 처리를 해주어야 합니다. 여기서 클라이언트가 서버로 요청을 보내는 방법인 HTTP Method에는 크게 2가지 방식이 있는데, 그것이 바로 오늘의 주인공인 GET방식과 POST방식입니다. 오늘인 이 두 방식에 대해서 비교하며 장, 단점 및 차이점에 대해서 알아보도록 하겠습니다! 1. GET 방식 먼저 GET 방식에 대해서 알아보도록 하겠습니다. 영어 Get이라는 단어는 가져오다라는 뜻을 가진 단어인데요, 이를 활용해서 이해하면 ..
클린코드(Clean Code) 나는 우아하고 효율적인 코드를 좋아한다. 논리가 간단해야 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. 성능을 최적으로 유지해야 사람들이 원칙 없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다. -비야네 스트롭스트룹(C++창시자) 클린코드는 한 가지를 제대로 한다. 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 짠다. 클린코드는 단순하고 직접적이다. 특정 목적을 달성하는 방법은 하나만 제공한다.클린코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다.코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 클린코드라 불러도 되겠다. 소프트웨어 대가들이 정의한 클린코드를 살펴보면, 공통적으로 지적하는 것이 있다.코드를 작성한 의도..