포트란?

java 같은 언어로 웹애플리케이션을 제작을 한 뒤 해당 애플리케이션으로 실행을 하면 대부분 이렇게 접속을 한다.

http://localhost:8080

여기서 말하는 localhost는 해당 애플리케이션을 실행한 자신을 말한다. 그리고 포트번호는 옆에 적혀있는 ":8080" 이 부분이다. 즉 해당 프로그램은 localhost의 8080포트로 접속을 하는 것이다.

 

 자기자신의 컴퓨터에서 실행을 하고 '혼자' 사용을 하는 경우에는 위와 같은 방식으로 접속을 해도 아무런 문제도 없다.

하지만 해당 방식으로는 상대방(고객)을 자신이 만든 프로그램으로 데리고 오기에는 곤란한다. 

 

 그래서 상대방도 접속을 할 수 있는 "약속된" 문을 열어두고 그곳에서 자신이 만든 프로그램을 누구나 이용할 수 있도록 한다.

 

포트번호 구분

포트는 크게 세 종류로 구분한다고 한다.

  • 0 ~ 1023번까지 포트를 "잘 알려진 포트"
  • 1024 ~ 49151번까지는 "등록된 포트"
  • 49152 ~ 65535번까지는 "동적 포트"

포트번호같은 경우는 몇개는 이미 사용을 이렇게 하기로 정해져있다.

 

 대표적으로 HTTP는 80, HTTP는 443포트로 이렇게 사용하도록 약속이 되어있다. 또한 80포트와 443포트로 접속을 하게되면 위에서 나온 예시와는 다르게 포트번호가 보이지 않게 된다. 왜 보이지않냐?에 대해서는 크게 의문을 가질 필요는 없다고 생각한다.

 

왜냐하면 규칙이 그렇게 정해져있기 때문이다.

만약 자세한 내용을 찾고싶으면 RFC 2616의 3.2.2 http URL부분에 명시되어 있다.

HTTPS의 문서는 이곳을 참고하면 된다.

 

또한 Mysql의 포트는 3306, 톰캣은 8080 등등.. 프로그램들은 포트번호를 동적으로 가지기도 한다. 

'정보게시판 > ' 카테고리의 다른 글

HTTP : 응답과 요청  (0) 2022.06.26
JWT란?  (1) 2022.06.26
Apple WWDC 개발자 컨퍼런스 소개  (0) 2022.06.26
테스트를 위한 더미 파일 생성하기  (0) 2022.06.18
Base64 인코딩 방법  (0) 2022.06.14

자바스크립트

모던 JavaScript 튜토리얼 : es6이후 새롭게 개편된 자바스크립트 자료

JavaScript 30 : 다양한 실습으로 재밌게 배우는 자바스크립(영어와 회원가입 필요)

소개 · GitBook (typescript-kr.github.io) : 타입스크립트 공식 문서를 번역한 글

 

자바

Learn Java, Pyhton, Spring, Hibernate - HowToDoInJava : 자바의 다양한 기초들이 모여있는 사이트 (영어)

JSP - Standard Tag Library (JSTL) Tutorial : 현재는 잘 사용하지 않는 기술이지만 필요하면 참고

Java 8부터 16까지의 신규 기능들 정리 (oracle.com) :  간단하게 정리된 글로 가볍게 읽어보면 좋음

 

API

Axios | Axios 러닝 가이드 : Axios에 번역 문서

Сurrent weather and forecast - OpenWeatherMap : 날씨 관련된 데이터를 받을 수 있음(API)

 

다양한 지식

REST API 제대로 알고 사용하기 : REST API의 기본적인 지식을 정리

Git을 이용한 버전 관리 【Git의 기본] : Git에 대한 기본적인 이해를 돕는 문서

PYRASIS.COM: 아마존 웹 서비스를 다루는 기술 - 목차 : AWS 이용에 대한 설명서

codechacha : 다양한 언어와 전반적인 기술 모음집

코딩의 시작, TCP School : 다양한 언어들에 대한 학습 사이트

[스프링부트 (11)] SpringBoot YAML 적용하기(properties vs yaml)  : yaml에 대한 설정이 궁금하다면 ㄱ
Introduction to HTTP/2 (web.dev) : 구글이 새롭게 정의한 HTTP/2 버전에 대한 소개글 (영어)

 

기술 블로그

DaddyProgrammer - 아빠프로그래머의 좌충우돌 개발하기! : 주로 자바서버에 대한 다양한 정보들이 있음 (추천)


뉴렉처 - YouTube : 자바와 DB등 다양한 공부를 배울 수 있음 (추천)

코지 코더 Kossie Coder - YouTube : SPA에 대한 기본적인 실습을 할  수 있음

메타코딩 - YouTube : 직접 따라하면서 배울 수 있는 다양한 자바 예제등이 있음

edwith: 다양한 공부들을 무료로 들을 수 있는 사이트


LeetCode : 유명한 IT 기업 예제들이 많은 알고리즘 사이트

Learn to Program (stanford.edu) : 스탠포드에서 제작한 프로그래밍 게임 (추천)

SW Expert Academy : 삼성에서 운영중인 알고리즘 사이트 (회원가입 필수)

구름LEVEL (goorm.io) : 난이도별로 공부할 수 있는 알고리즘 사이트

'정보게시판 > 사이트 공유' 카테고리의 다른 글

보안 취약점 정보 제공 사이트 CVE  (0) 2022.11.09
정규표현식 사이트, Regexr  (0) 2022.07.18

애플의 글로벌 개발자 컨퍼런스가 2022년 6월 7일을 기준으로 열리며, 많은 내용들이 소개되었습니다. 

 

이 중 웹 개발자들에게 중요한 소식들을 모아둔 영상이 있어

 

함께 공개하며 내용을 요약하여 정리해 보겠습니다. 

 

1. 애플의 PWA 푸시알림 지원 발표 

 

PWA는 Progressive Web Application, "주기적 백그라운드 동기화 API"로 웹 페이지를 앱처럼 사용할 수 있게 만드는 기술입니다. 

 

안드로이드는 PWA를 적극 지원하였으나, IOS는 앱스토어 수수료 문제때문에 기능을 제한한 점이 많았는데 2023년에 푸시알람을 구현할 수 있는 api 제작을 선언하며 PWA를 지원하기로 하였습니다. 

 

이제 어플리케이션 개발에서도 웹 개발자의 수요가 더더욱 늘어날 것으로 생각됩니다. 

 

2. FIDO 지원을 통한 비밀번호 없는 세상 

 

FIDO는 비밀번호를 대체할 수 있도록 만들어진 인증방법의 표준을 정하기 위한 협의회입니다. 

 

이 표준에 따라서 애플 역시 password가 아닌 Passkey 방식으로 바뀌어 나갈 것이라고 합니다. 

 

이 기술은 다른 앱( 특히 스마트폰 ) 과 연동되어 인증을 관리하기 때문에 

 

메인 DB정보가 유출된다고 해도 사용자의 인증정보가 유출될 염려가 없고 

 

특히 애플은 프록시 기반으로 컴퓨터와 휴대폰을 블루투스로 연결하여 인증을 진행하도록 하여 

 

인증정보 중간에 개입할 여지를 최소화한다고 합니다. 

 

또 가짜 웹사이트를 이용하여 비밀번호를 탈취할 수 있던 password에서 

 

FIDO를 이용하면 웹 도메인 별로 다른 암호화가 적용되기 때문에 파싱사이트가 인증을 성공시킨다 하더라도 

 

그 인증은 실제 도메인 ( EX, Naver )에서 사용할 수 없는, 오로지 파싱사이트에서만 작동하는 인증이라고 합니다. 

 

기존의 비밀번호가 가지고 있던 요청 개입, 파싱 웹사이트 위험, DB 인증정보 유출 등에서 벗어날 수 있는 방법으로써 

 

다른 대기업들도 널리 지원할 예정이고, 애플도 이에 협력하기로 했다고 합니다. 

 

 

FIDO는 Private key와 Public Key를 이용하여 각 기기간의 과제를 내고

 

그걸 푼 기기만을 통과시키는 방법을 사용한다고 하는데, SSH의 인증방식과도 상당히 닮아있는 것 같습니다. 

 

참고한 영상 및 사이트를 올리며 이만 마치겠습니다. 

 

애플의 2022년 6월 개발자 컨퍼런스, 꼭 한번 확인해보시길 바랍니다. 

 

참고 자료 

 

 

FIDO Alliance 공식 webSite

 

FIDO Alliance - Open Authentication Standards More Secure than Passwords

FIDO Alliance is focused on providing open and free authentication standards to help reduce the world’s reliance on passwords, using UAF, U2F and FIDO2.

fidoalliance.org

 

 

 

노마드 코더 : 웹 개발자들 무조건 보세요! 애플의 큰 그림!

 

WWDC 2022 - 6월 7일 | Apple 

 

'정보게시판 > ' 카테고리의 다른 글

JWT란?  (1) 2022.06.26
네트워크 통신의 포트(Port)  (1) 2022.06.26
테스트를 위한 더미 파일 생성하기  (0) 2022.06.18
Base64 인코딩 방법  (0) 2022.06.14
Redis, 인메모리 데이터베이스(In-Memory Database)  (0) 2022.06.13

 

 

파일 업로드나 뷰어 기능을 테스트 할 때 다양한 종류의 파일들이 필요한 경우가 있습니다.

 

가령, 확장자 제한 기능은 Jpg, png, jar 파일 등 제한되는 확장자 파일이 필요하고

 

압축, 압축해제 기능은 ZIP파일, 용량 제한 기능은 대용량 파일( 1GB 등 )을 준비하지 않으면

 

용량 초과를 테스트하기 위해서 같은 파일을 여러번 올리는 일을 반복해야 합니다.

 

777번, 7777번과 같은 정밀한 숫자로 업로드 갯수를 테스트한다면 파일을 복사해서 갯수를 맞추는 것도 쉽지 않습니다.

 

또한 이미지 파일의 미리보기 기능처럼 실제로 해당 확장자가 쓰이는 기능일 테스트할 경우,

 

단순히 용량만 많은 것이 아니라 실제로 정상적으로 출력되는지를 확인할 수 있는 고용량 이미지 파일이 필요합니다.

 

 

이렇게 특수한 테스트 파일이 필요한 상황을 위한 파일 생성-변경 방법 세 가지를 소개합니다.

*이 글은 window 운영체제 기준으로 작성되었습니다.

 

1. 이름, 확장자, 용량을 지정해 더미파일 생성하기

windows에서는 CMD(Command Prompt), 혹은 PowerShell을 사용하여

파일 이름, 확장자, 용량을 지정한 더미파일을 생성할 수 있습니다.

 

먼저, CMD를 관리자 권한으로 실행합니다.

 

 

 

 

이후 CMD에 파일을 만들고 싶은 경로에 cd [경로] 커멘드로 이동합니다.

 

저는 cd C:\ 커멘드를 입력하여 C드라이브로 이동하였습니다.

 

 

더미파일을 생성하기 위해 다음과 같은 커멘드를 입력합니다.

*주의, 관리자 권한으로 실행해야 파일을 생성할 수 있습니다.

 

:: 파일 용량과 확장자, 이름을 생성하는 코드입니다. 
:: fsutil file createnew [파일이름] [파일사이즈] 

:: ex) 이름이 10MBFILE, 확장자가 txt이고 용량이 10MB인 파일을 생성합니다.

fsutil file createnew 10MBFILE.txt 10485760 

 

 

이후 위의 사진과 같이 “10MBFILE.txt 파일 작성” 이라는 알림이 뜨면 성공입니다.

 

실제 C드라이브 경로에 가면, 지정된 이름, 확장자, 용량의 파일이 생성되어 있는 것을 확인하실 수 있습니다

 

 

2. 텍스트 파일을 원하는 갯수만큼 복사하기

 

 

windows에서는 batch 파일이라고 하는 .bat 확장자의 파일을 이용하여 단순한 작업을 반복할 수 있습니다.

 

즉, 파일 복사라고 하는 반복작업을 Java의 for문을 활용하는 것처럼 자동화시킬 수 있습니다.

 

이 방법을 통해서 777개의 더미 텍스트 파일을 만드는 등, 원하는 갯수만큼 파일을 생성할 수 있습니다.

 

이전에 만들어 둔 10MBFILE이 있으므로, 이를 활용하여 자동복사를 진행해 보겠습니다.

 

먼저 txt 파일을 만들어 다음과 같은 내용을 붙여넣습니다.

 

:: 텍스트 파일을 원하는 수만큼 복사하는 배치 로직입니다. (주석) 

@echo off
:: 작업 시, 결과만을 출력하라는 명령입니다. 

SET i=0
:loop
SET /A i=i+1
:: 반복문과 반복문에 사용할 i를 선언합니다. 

if %i% GEQ 10 goto QUIT
:: i가 10에 도달하면 :QUIT 줄의 명령을 실행하도록 조건을 붙입니다. 

echo %i%
copy c:\\10MBFILE.txt c:\\file%i%.txt
Goto loop
:: copy 라는 명령을 통해서 원하는 경로의 파일을 원하는 경로에 반복문이 도는 
:: 횟수만큼 붙여넣을 수 있습니다. 

:QUIT

:: 반복문이 끝나면 :QUIT 이후로 진행됩니다. 아무런 커멘드가 없으므로 종료됩니다. 

 

 

이 파일의 핵심은 “copy c:\10MBFILE.txt c:\file%i%.txt” 명령어입니다.

 

이 명령어는 두 단락으로, c:\10MBFILE.txt라는 파일을 똑같은 경로 c드라이브에 10번 순서대로 붙여넣겠다는 명령입니다.

 

이 “복사기능”을 for문으로 정해진 횟수만큼 실행하는 간단한 반복문이라고 할 수 있습니다.

 

이후 파일 이름 변경을 통해 확장자를 .bat 으로 변경합니다.

 

 

 

 

 

bat 파일을 더블클릭하여 실행시키거나, CMD 커맨드에 파일 경로로 가서 이름을 입력하여 실행합니다.

 

 

 

 

이후 C드라이브에서 확인해 보시면 파일이 정상적으로 복사된 것을 확인하실 수 있습니다.

 

파일 갯수가 많아질 경우에는 새 폴더 경로를 만들어 시도해보시기 바랍니다.

 

 

3. 고용량 이미지 파일을 크기별로 제작하기

 

 

window의 기본 기능인 그림판(Painting)은 크기조정 기능을 제공합니다.

 

이 기능을 활용하면 원하는 이미지 파일의 용량을 조작할 수 있습니다.

 

최대 90MB의 용량을 가진 이미지를 만들기 위해서는 5-7MB정도의 이미지가 필요합니다.

 

6.7MB의 이미지를 사용하여 기능을 활용 해보도록 하겠습니다.

 

마우스 오른쪽 클릭 후 이미지를 그림판으로 엽니다.

 

 

 

 

크기 조정에서 백분율, 혹은 픽셀을 조절하여 크기를 바꾸면 용량을 늘리거나 줄인 이미지를 얻을 수 있습니다.

*픽셀크기가 16384 x 16384를 넘을 경우 오버플로우되며 생성 불가 처리되므로 주의하세요

 

 

 

 

 

500%로 지정한 이후 저장하면, 크기가 90MB로 늘어난 것을 보실 수 있습니다.

 

 

 

 

 

이처럼 배율을 조절하여 5MB 기준 최대 90MB까지 대용량 이미지파일을 제작할 수 있습니다.

 

 

4. 실습용 파일 첨부

 

마지막으로 앞서 소개한 세 가지 기능의 실습을 위해서

2번의 .bat파일, 3번의 실습용 6.7MB 이미지 파일을 압축 파일로 첨부하여 제공해 드립니다.

 

더미데이터 종합 ZIP 파일이 세 가지 windows 기능을 활용한다면

대규모-대용량 업로드 등의 기능처리를 더 빠르고 쉽게 테스트 할 수 있습니다.

 

시간이 되신다면 파일을 받아 실습해 보시기 바랍니다. 감사합니다.

 

fileControlPractice.zip
6.71MB

참고자료

widow fsutil file Document ( fsutil file createnew command 문서 ) : fsutil file

 

fsutil file

사용자 이름으로 파일을 찾고, 파일에 대해 할당된 범위를 쿼리하거나, 파일의 짧은 이름을 설정하거나, 파일의 유효한 데이터 길이를 설정하거나, 파일에 대한 데이터를 0으로 설정하거나, 새

docs.microsoft.com

도스 .bat 파일에서 @echo off 의미 : 도스(DOS)/윈도우의, 배치 파일에서 echo off 란?

 

도스(DOS)/윈도우의, 배치 파일에서 echo off 란?

배치파일(Batch File)의 첫 부분에는 거의 모두 @echo off 이런 부분이 있습니다. @echo off 는, 배치 파일이 명령들을 쓸데없이 '복창'하지 않도록 만들어서, 화면을 간결하게 하기 위한 명령입니다. 가

mwultong.blogspot.com

윈도우 배치 파일 : 배치 파일 - 위키백과, 우리 모두의 백과사전

 

배치 파일 - 위키백과, 우리 모두의 백과사전

이 문서는 MS-DOS 스크립트에 관한 것입니다. 다른 종류의 배치 프로그래밍에 대해서는 셸 스크립트 문서를 참고하십시오. MS-DOS, OS/2, 윈도우에서 쓰이는 배치 파일(batch file)은 명령 인터프리터에

ko.wikipedia.org

 

+ Recent posts