코딩/WEB 개발

요약chatGPT는 무료로 제공하는 기능이 제한적이다.Gemini 의 Imagen3 가 chatGPT보다 그림을 잘 그려주더라.Gemini는 무료로 거의 무제한으로 쓸 수 있고, 연동도 아주 간편하다. Why Gemini?개인 프로젝트에서 LLM 연동을 해보고 싶어서 서치를 해보던 중...당연하게도 LLM의 대명사격인 chatGPT를 알아보았다.근데 웬걸? 무료로 거의 사용하지 못하고, 카드 등록을 하고 과금을 해야 뭔가 유의미한 결과를 만들 수 있을 것 같았다... 그래서 요즘 개인적으로도 자주 쓰는 Gemini API를 검색해보았다.근데 웬걸? 무료로 거의 무제한으로 쓸 수 있는 게 아니겠는가?? 그림 실력 비교 chatGPT vs. Gemni그림 그리기 대결도 시켜봤는데,Gemini의 Imagen3..
RestTemplate deprecate?? 구글링을 하다보면 “RestTemplate은 Deprecate될 예정이니 WebClient를 써라”라는 말을 심심치 않게 발견할 수 있다. 실제로 Spring 공식 깃에 들어가서 커밋을 보면 2018년 7월 27일에 rstoyanchev 라는 분이 javadoc에 아래와 같은 내용을 남겼다. future version에 deprecated 될 것이니, 더 modern한 WebClient를 사용해달라는 메세지이다. 하지 만?! 2020년 2월 11일에 다시 본인이 내용을 수정했다. deprecate한단 말은 지우고, maintenance mode가 된다는 말로 수정했다. 이를 두고 토비님은 처음엔 WebClient를 밀어서 RestTemplate을 depreca..
[10분 테코톡] 🔧알트의 XSS 0. XSS란? XSS는 Cross-Site Scripting의 약자이다. XSS 공격은… 가장 널리 알려진 웹 보안 취약점 중 하나. 사이트에 악성 스크립트를 삽입하며 악의적으로 공격하는 것. XSS를 통해 C&C(좀비 PC에 명령을 내리거나 악성 코드를 제어하는 서버)로 리다이렉트하거나, 사용자의 쿠키를 탈취하여 세션 하이재킹 공격을 할 수 있다. 대표적 공격 방식은 아래 세 가지가 있다. Stored XSS Reflected XSS DOM Based XSS 1. 대표적 XSS 공격 방식 (1) Stored XSS 가장 흔히 예시로 소개되는 방법이다. 공격자가 서버에 어떤 스크립트를 저장한다. → 이후 서비스를 제공하는 정상 페이지에서 다른 사용자들에게 이 스크립트가..
WebClient에 대해... WebClient가 단순히 RestTemplate를 대신해서 사용하는 기술이라고 생각하면 나와 같은 문제를 겪을 수 있다… 물론 RestTemplate이 장기적으로 Deprecate될 예정이고, WebClient는 RestTemplate이 제공하지 않는 논블로킹을 지원하기 때문에 WebClient를 사용하는 편이 좋다는 것도 맞다. WebClient의 반환 타입, Mono와 Flux RestTemplate은 바로 Http의 응답인 ResponseEntity를 반환하는 것과는 달리, WebClient의 요청은 Mono 나 Flux를 반환한다. 하지만 RestTempltae의 ResponseEntity를 확인하면(디버거로 체크, 혹은 log로 찍어보면) 응답 값이 잘 나오지만,..
개요 서버 to 서버로 HTTP 요청을 보내는 방법으로 RestTemplate과 WebClient가 있다. Spring 5.0 이전까지는 RestTemplate을 사용했으나, 5.0에서 WebClient가 나왔고, 현재는 WebClient 사용을 권고하고 있다. 대세는 WebClient이고, 추후 RestTemplate의 지원을 중단할지도 모르기 때문에… 현재 대체로 WebClient로 마이그레이션 하고있는 추세라고 한다. WebClient vs RestTemplate 위 글은 RestTemplate과 WebClient에 대해 다루고 있다. 요약: RestTemplate은 아직 사용 가능하다. 단, RestTemplate은 synchronous하고 blocking한 반면, WebClient는 asynch..
@PathVariable은 마지막 “~.com”이 짤린다? 인생 첫 이슈를 받아서(ㅋㅋ) 개발하는 과정에서 @PathVariable로 도메인 문자열을 받아오는데, jsw.com 과 같이 받아오면 디버거에는 jsw만 찍히는 현상이 발견됐다. 알아보니… Spring은 마지막 점 뒤에 있는 모든 것을 파일 확장자로 간주한다고 한다. (단, PathVariable이 가리키는 {무언가}가 URI의 마지막에 있는 경우이다!!) 해결 방법 https://recordsoflife.tistory.com/488 위 포스팅에 따르면 해결 방법은 크게 세 가지가 있다. 1. {변수명:.+} / {변수명:.*} @GetMapping("/init-configuration/{domain:.+}") public boolean ini..
0. 서론 식스펙 HTTP 요청 메서드 - HTTP | MDN HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부 developer.mozilla.org 1. 본론 우선 각 요청에 대해 공통적으로 평가할 기준, Safe 와 Idempotent, Cacheable에 대해 간단히 보za Idempotent는 앞선 포스팅들에서 언급한 바 있다. 멱등성이다. 동일 요청을 한 번 보내는 것과 여러번 보내는 것이 결과가 같고, 서버의 상태를 변화시키지 않는다면 멱등성을 갖는 것이다. Safe, 안전함은, 멱등성의 상위 개념이다. (안전하면 멱등성을 갖지만, 멱등성을 갖는..
HTTP Method의 멱등성 HTTP 메서드의 멱등성(Idempotent)에 대해 알아보자 velog.io 0. 서론 RESTFul한 API를 설계하기 위해 포스팅을 한 적이 있는데 https://seungnong.tistory.com/entry/RESTFul%ED%95%9C-API-%EC%84%A4%EA%B3%84 사실 그냥 URI 규칙만 정리한거지, 실제 적용은 어려운 포스팅인 것 같다. (직접 해보니까 할수록 질문만 생긴다) 앞 포스팅에서 멱등성이 나왔는데, 이번엔 HTTP Method들의 멱등성에 대해 더 알아보ja ja ja ja 1. 멱등성 멱등성(Idempotent)는 수학이나 전산학에서 연산을 여러 번 적용해도 결과가 달라지지 않는 성질을 의미한다. f( f(x) ) = f(x) 와 같이..
0. 서론 HTTP Method를 다루게 된 계기: RESTFul한 API 설계를 하기 위해 프로젝트를 리팩토링하는 과정에서... 요청의 행위를 표현하기 위해 HTTP Method를 잘 활용해야 한다는 점에 주목했다. 때문에 GET, POST, PUT, DELETE를 썼는데, 내용적으로 PUT보다 PATCH가 맞을 것 같다는 피드백이 있어서 이에 대해 조사해보았다. 1. PUT과 PATCH PUT 정의: HTTP PUT 메서드는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체한다. PATCH 정의: HTTP PATCH 메서드는 리소스의 부분적인 수정을 할 때 사용된다. 정의만으로 내가 알던 것과 다르고, 차이점도 드러나는 것 같다. 그래도 더 부연하자면, PUT은..
0. TogeDocs에 대해... 0-1. 개요 SSAFY에서 동시편집 기능을 포함한 프로젝트를 개발한 적이 있다. https://github.com/tmddnrdl333/TogeDocs GitHub - tmddnrdl333/TogeDocs: 개발자를 위한 API 통합 서비스, TogeDocs 개발자를 위한 API 통합 서비스, TogeDocs. Contribute to tmddnrdl333/TogeDocs development by creating an account on GitHub. github.com 프로젝트를 한 마디로 소개하면, 개발자를 위한 API 통합 서비스이고, 주 기능은 API 명세서의 동시편집이었다. 설계 단계에서는 실현 가능성을 따지지 않고 만들고 싶은 주제를 구상하고자 했고, 주제..
승농
'코딩/WEB 개발' 카테고리의 글 목록