전체 글
-
Appsmith 도입기카테고리 없음 2023. 6. 28. 00:01
Appsmith란? 오픈소스 로우코드 소프트웨어입니다. 미리 빌드된 UI 위젯을 활용하여 API 및 데이터베이스에 연결할 수 있습니다. 리툴(retool)과 같이 프런트엔드단을 만들 수 있는 툴 정도로 이해하면 좋습니다. 목표 QA분들을 위해 Database 조회기능과 토큰생성기능을 제공한다 New 버튼 눌러 생성 워크스페이스에 새로운 애플리케이션을 생성합니다. 왼쪽의 Widgets 코너에 원하는 위젯을 끌어서 가운데의 Drag and drop a widget here 캔버스에 놓음으로써 화면을 만들 수 있습니다. 데이터베이스 연결 좌측에 Datasources를 통해 데이터베이스를 연결할 수 있습니다. 데이터베이스의 Host, port, name, username, password만 입력하면 손쉽게 연결..
-
docker에서 postgresql table 확인CS/데이터베이스 2023. 6. 27. 00:01
docker-compose.yaml version: '3.8' services: postgresql: image: postgres:14.6 # volumes: # - ~/volumes/jhipster/jhip_api_first/postgresql/:/var/lib/postgresql/data/ environment: - POSTGRES_DB=postgresdb - POSTGRES_USER=admin - POSTGRES_PASSWORD=psltest - POSTGRES_HOST_AUTH_METHOD=trust # If you want to expose these ports outside your dev PC, # remove the "127.0.0.1:" prefix ports: - 127.0.0.1:54..
-
10만 유저 동시 접속 가능하게 하기CS/네트워크 2023. 6. 26. 00:01
개요 동시 접속에 대해 이곳저곳 물어보다가 특정 아티클을 추천받게 되었고 이를 읽어보면서 나만의 이해로 다시 정리해보고자 합니다. https://shdkej.com/blog/100k_concurrent_server/ 10만 유저 동시 접속 가능하게 하기 ⚠️ 이 글은 의식의 흐름대로 작성되었습니다. 한 대의 PC로 10만 접속자 유지가 가능한가 (에코 서버의 경우) 안된다면 최소 몇대의 PC가 필요한가 (사양) 왜 10만인가 토트넘 경기 SPOTV 유튜브 동 shdkej.com 소켓, 포트, 커넥션 너는 무엇인가? 포트는 tcp connection spec에서 16bit으로 정의되어 있기 때문에 0~65535까지 열릴 수 있습니다. 커넥션은 발신지 IP:PORT와 수신지 IP:PORT를 가진것을 말합니다..
-
CLOSE_WAIT 과 TIME_WAITCS/네트워크 2023. 6. 25. 00:01
개요 서버의 CPU 등 리소스와는 별개로 LB, Nginx 등을 사용하다 보면 클라이언트단에서 문제가 발생하는 경우가 있을 수 있다는 것을 깨닫고 CLOSE_WAIT과 TIME_WAIT에 대해 알아보고자 합니다. TCP Connection 위의 다이어그램에서는 Server가 CLOSE_WAIT를 보냅니다. 다만 서버가 먼저 종료하겠다고 FIN을 보내는 경우에는 클라이언트에서 CLOSE_WAIT을 가지게 됩니다. CLOSE_WAIT을 벗어나려면 애플리케이션에 명시적으로 프로세스를 종료하는방법밖에 없습니다. 실제 서버에서 CLOSE_WAIT이 발생하는 원인 JVM의 THhread Dumps를 분석한 결과, 대부분의 쓰레드가 검색 결과를 받아오지 못하고 WAITING중이었습니다. 해당 결과는 로컬에서 받아와야..
-
WebSocket Scale Out - 이론편프로젝트/WebSocket 2023. 6. 24. 00:01
개요 webSocket을 흔히 전이중통신이라 말합니다. 웹소켓의 경우에는 끊어지지 전까지 TCP Connection이 계속이 지속되어야 하는데, 그러면 Port를 붙잡고 있는 건지 궁금해졌습니다. 글의 주제가 Scale Out인데 TCP Connection과 Port이야기를 하는 이유는 만약 서버의 포트가 모두 TCP Connection에 의해 연결되면 신규 클라이언트는 연결할 수 없으니 자연스럽게 Scale Out이 필요하게 됩니다. 따라서 먼저 이에대한 궁금증을 해결하고 Scale Out 하는 방법에 대해 알아봅니다. Websocket은 어떤방식으로 Connection 연결을 유지할까? 80번 포트 혹은 443포트로 핸드셰이크과정을 거칩니다. (클라이언트의 무작위의 포트, 서버는 80 혹은 443 포..
-
TCP Socket vs WebSocket프로젝트/WebSocket 2023. 6. 23. 00:01
TCP Socket이란? 네트워크상 서버와 클라이언트 두 개의 프로그램이 특정 포트를 통해 양뱡향 통신이 가능하도록 만들어주는 소프트웨어 장치입니다. intranet 바운더리(조직 내 네트워크)에서 작업하는 경우에는 해당 네트워크의 컴퓨터를 제어하고 TCP 연결에 적합한 포트를 열 수 있기 때문에 TCP 소켓을 통해 통신하는 것이 더 쉽습니다. WebSocket이란? 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜입니다. HTTP나 HTTPS 위에서 동작하도록 설계되었으며 포트를 80번 443번 사용합니다. 이에 따라 HTTP를 통해 연결을 시작하되 TCP 소켓과 유사한 통신 stream을 허용합니다. 둘은 무엇이 다를까? 위의 둘은 서로 상반되는 개념이 아닙니다. 다만 소켓 통신..
-
3장 - 단위 테스트 구조테스트코드(Test Code)/단위테스트 - 생산성과품질을위한 단위테스트원칙과패턴 2023. 6. 22. 00:01
3장에서 다루는 내용 단위 테스트 구조 좋은 단위 테스트 명명법 매개변수화된 테스트 작성 AAA 패턴 AAA 패턴은 준비, 실행, 검증 부분으로 나누어 테스트를 작성합니다. 흔히 알고 있는 given, when, then 패턴과 굉장히 유사합니다. 여러 개의 준비, 실행, 구절 피하기 때로는 준비 -> 실행 -> 검증 -> 좀 더 실행 -> 다시 검증과 같은 테스트를 만날 수 있습니다. 실제로 종종 이런 테스트구조를 만들곤 했으며 여러 테스트는 오히려 soft copy처럼 보이고 귀찮으니.. 하지만 이렇게 되면 더 이상 단위 테스트가 아닌 통합 테스트입니다. 일련의 실행과 검증이 포함된 테스트를 보면 각 동작은 고유한 테스트로 분리하는 것이 좋습니다. 테스트 내 if문 피하기 if문이 발생하는것 자체가 ..
-
키보드 중복입력 현상해결 - UnshakyMac OS 2023. 6. 21. 00:01
개요 코딩을 하다가 키보드가 자꾸 연속으로 입력되어 불편함을 해결하고자 합니다. 근본원인 해결 무상으로 서비스센터에서 수리를 받아야 하지만, 사내 업무용이기 때문에 소프트웨어로 해결하고자 합니다. Unshaky 키 입력의 지연시간을 설정하고, 빠르게 입력되는 키 입력을 무시해 줌으로써 중복입력을 막습니다. 즉, 물리적인 오류를 소프트웨어적으로 해결합니다. 다운로드받기 링크에서 .zip 파일 다운로드를 합니다. https://github.com/aahung/Unshaky/releases Releases · aahung/Unshaky A software attempt to address the "double key press" issue on Apple's butterfly keyboard [not acti..