분류 전체보기 143

URI와 HTTP의 기본

URI (Uniform Resource Identifier) URL 또는 URN을 하위 분류로 가지는 식별 개념. uniform 은 리소스를 식별하는 통일된 방식, resource 는 자원, 즉 uri로 식별할수 있는 모든 것을, identifier 은 다른 항목과 구분하는데 사용하는 고유의 정보를 의미한다. URL( Unfirom Resource Location) 리소스의 위치를 나타낸다. anchor대신 fragment 라고도 한다. Scheme : http나 https처럼 통신에 사용되는 프로토콜을 나타낸다. Authority : 호스트명이나 ip주소, 사용하는 포트를 나타낸다. 사용자 정보를 기입할수도 있으나 거의 사용하지 않는다. Path : 리소스 경로를 나타내며 계층적 구조를 가진다. Que..

공부/네트워크 2023.09.01

메크로로 코레일 예매하기

이번 추석에 본가에 내려갈 ktx표를 예매하기 위해 간단한 메크로를 만들어 봤다. // 누르고 싶은 버튼 let btn = document.getElementsByName("menu1")[0]; function printTime(date) { let hour = date.getHours(); let min = date.getMinutes(); let sec = date.getSeconds(); let milli = date.getMilliseconds(); if (("" + min).length == 1) { min = "0" + min; } if (("" + sec).length == 1) { sec = "0" + sec; } if (("" + milli).length == 1) { sec = "00"..

카테고리 없음 2023.08.31

1. 인터넷 네트워크

IP(Internet Protocol) 인터넷 프로토콜 패킷을 통해 데이터를 주고받기 위한 통신 규약 통신자들 간의 일종의 주소역할을 하는 IP주소를 부여한 뒤, 패킷을 통해 데이터를 감싼다. 그리고 보내고자 하는 ip주소로 패킷을 전송하는데, 패킷은 곧바로 해당 ip를 찾아가는 것이 아닌, 노드를 떠돌아다니며 자신이 현재 있는 노드에서 관리하는 ip주소 중 수신자 ip가 존재하는지 확인하고, 없다면 다른 노드로 옮겨가기를 반복한다. 세상 사람들이 모두 히키코모리여서 집밖으로 나오지 않고 집안에 틀어박혀 모든 물품을 택배로 주문해서 살아간다고 상상하면 앞으로 나올 개념들을 이해하기 쉽다. 택배는 패킷, 노드는 택배 집하장, ip주소는 집 주소, 받는 사람은 서버, 보내는 사람은 클라이언트에 대응된다. 그..

공부/네트워크 2023.08.25

대강 끝. 완료 보고서

대강 끝났다. 이제 해상도에 따라 망가지는 html작업을 하거나 배포 과정을 좀더 새련되게 바꾸면 될것 같다. 1. 배포 aws ec2와 rds를 이용해서 배포했다. 2. 페이지 정리 바이낸스 코인 같은 경우는 수익률이 상당히 이상한것을 볼수 있다. 그 이유는 바이낸스가 해당 코인의 평균 매입가를 지원해주지 않기에, 처음 해당 서비스를 사용할때 한번에 한하여 사용자가 직접 평균 매수가와 수량을 입력해줘야하는데, 그냥 전부 0으로 적었기에 저런 말도안되는 수치가 나온것이다. 정렬 기준은 매수금액이 높은 순이다. 처음에는 같은 코인은 통합해서 보여주려고 했으나, 거래소마다 코인 가격이 크게 차이가 나는 경우가 있어 나눠서 출력했다. 가장 하단에는 통합 데이터가 나온다. 시간별로 거래기록이 출력된다. 바이낸스..

템플릿 오류

로컬에서는 정상적으로 매핑이 되는 어플이, 배포후 매핑이 안된다. 이에 대해 경험상 return "/뷰이름" 에서 /를 제거해주면 된다는 것을 알고 있었으나, 이미 /가 없는 상태였다. 이 문제를 가지고 한참을 머리를 싸매고 고민했다. 어이 없게도 대, 소문자로 인한 오타였다. 이를 진작 알아차리지 못한 이유는 로컬에서는 소문자 j가 알아서 대문자 J로 변환되서 알맞은 html파일을 찾아왔기 때문이다. 거의 두시간 넘게 날린것 같다.

카테고리 없음 2023.07.18

배포 deploy.sh 문제

의 도움을 받아 배포를 시도하고있다. 배포 코드중 현재 실행중인 jar파일의 프로세스를 찾아오는 PID=$(pgrep -f ${PROJECT_NAME}*.jar) 명령어가 제대로 작동하지 않아 한참을 해맸다. chat GPT와 구글링을 병행한 결과, 아마도 AWS Linux2와 책의 코드간의 호환성? 그런 문제로 추측된다. 확인해볼 방법이 없다. ps -ef | grep -v "grep" | grep "원하는 프로세스 이름" | awk "{print $2}" 해당 명령어로 찾아올수 있었다.

카테고리 없음 2023.07.18

ajax통신 오류

해당 코드는 정상적으로 작동한다. dataType: text로 보내고, 이를 별도의 어노테이션없이 Map형태로 받아오는 것이 가능하다. 그러나 아래의 코드는 작동을 안한다. 브라우져 개발자 도구-네트워크 페이로드에서 정상적으로 데이터가 전송이 되는 것은 확인했으나, 서버측에서는 {} 로 받아온다. 아래 코드와 위의 코드에 차이점이 없어서 더더욱 원인을 파악하지 못하겠다. 결국 Map대신 HttpServeltRequest로 받아왔다. 문제를 해결했다기 보다는 회피한쪽에 가까운것 같다.

html 테이블 문제

내가 원하는 것은 컬럼명인 th단을 제외하고, td만 스크롤이 생기는 것이다. 그러나 이를 적용하면 th단과 td단을 따로 따로 tbody로 묶어줘야만 하는데, 이렇게 구현하면 각기 다른 tbody인 탓인지 th크기가 td크기와 달라진다. 자기 멋대로 커지거나, 작아지거나, 칸이 안맞거나 한다. td나 th에 width를 줘서 조정해보려고도 했지만, 무슨 이윤지 내가 주는 width보다 실제 width가 더 커지면서 여전히 안맞는다. 복창 터져 죽겠다. 하루 종일 온갖 난리부르스를 치고 검색한 결과가 이거다... 이놈의 css는 진짜 나하고 안맞는것 같다. 머리가 아프다.

403오류 해결

옳바르게 post요청을 날리고 post맵핑으로 받아도 계속 오류가 발생했다. 문제는 관리자 도구 -> 네트워크 창에서 test 요청을 더블 클릭 했을때 사진처럼 405 오류가 발생해서 오류의 원인을 찾는데 시간이 걸렸다. application.properties에 디버그 로그를 출력하도록 설정하고 프로그램을 실행시켜본 결과, 아래와 같은 오류 원인을 파악할수 있었다. 결과: csrf토큰을 넣지 않은 post요청이여서 오류가 발생했던 것. csrf토큰을 무력화 시키니 해결됐다. 이 문제를 해결하려고 거의 3시간을 붙잡고 있었네.... 평소에는 항상 프로젝트 시작시 csrf토큰을 disable상태로 만들어놓고 시작해서 전혀 생각도 못하고 있었다. 별것도 아닌 문제에 시간을 이리 소모했다보니 좀 당황스럽다....