Web25 레거시 스프링 프레임워크에서 환경변수를 주입받아서 properties를 관리하는 방법 스프링부트에서 지원하는 환경분리의 개념을 레거시에도 도입하기 위함.그래서 환경변수를 이용하려고 함. # tomcat이 설치된 폴더 # ex> /usr/local/tomcat/bincd /usr/local/tomcat/binvi setenv.sh 해당 파일 내용에 아래와 같은 내용 추가#!/bin/bashJAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dspring.profiles.active=prod"CATALINA_OPTS="$CATALINA_OPTS -Xms8g -Xmx24g" 개발툴인 Intellij에서는 아래처럼.. 일단 위는 환경변수를 주입하는 과정이다. 이제부터는 이 환경변수를 받아서 처리하는 부분을 적으려고 함. 프로젝트에서 ApplicationInitia.. 2024. 7. 23. 그누보드가 탈 php를 하고 python의 옷으로 새롭게 갈아입다. (feat. 그누보드6) '그누보드'라고하면 php의 대표적인 웹 프레임워크라고 할 수 있었다. 하지만, 그누보드6가 출시되면서 과감하게 php의 옷을 벗고 python의 옷으로 새롭게 나타났다. 개인적으로 그누보드를 좋아하지 않기 때문에, php를 할 때도 CodeIgniter를 사용하였었다. 하지만, python으로 언어가 바뀜에 따라 조금 관심은 생겼다. - 그누보드 커뮤니티를 보면 기대반 걱정반인 듯 하다. 사실 익숙해진 사람들은 언어가 바뀌어버렸기 때문에 회의적인 사람들도 보였고, 기대하는 사람들도 보였다. FastAPI 기반이며, Python 3.8 ~ 3.12까지 지원한다고 한다. (FastAPI이므로 uvicorn (https://www.uvicorn.org/) 를 사용한다.) 일단 python은 매우 무궁무진한 .. 2024. 2. 1. 한국 사이트 해킹 예고 중국 해커, 숙명여대 공격 ShellShock(CVE-2014-6271) https://m.boannews.com/html/detail.html?idx=126188 한국 사이트 해킹 예고 중국 해커, 숙명여대·순천향대 등 교육·기관 무차별 공격 중국 해커 니옌이 국내 교육기관과 국내 정부 사이트를 타깃으로 무차별 공격을 예고한 가운데, 이번에는 숙명여자대학교 사이트를 타깃으로 취약점 공격을 실행한 정황이 포착됐다. m.boannews.com 한국사이트를 해킹 예고를 하고 해킹을 한 해커가 숙명여대 등 교육기관을 대상으로 삼았는데.. 중요한건 숙명여대가.. 사실 숙명여대는 작년(2023년) 6월경에도 해킹으로 2015·2016·2018년 수시모집 지원자 이름, 주민등록번호, 수험번호, 지원 전형명, 지원 모집단위, 출신고교명, 졸업(예정)년도가 유출되었었다... https://.. 2024. 1. 30. Custom Search Site Restricted JSON API 종료 예정. (Vertex AI Search로 대체 예정) 프로그래밍 검색 엔진 고객님께, 2024년 12월 18일에 Custom Search Site Restricted JSON API 엔드포인트에서 트래픽 제공이 중단될 예정입니다. 2023년 12월 18일부터 모든 Custom Search Site Restricted JSON API 고객은 사이트 검색 기능에 대한 액세스 권한을 유지하려면 Google Cloud의 Vertex AI Search로 전환을 시작해야 합니다. Google Cloud Vertex AI Search로 전환하는 이유는 무엇인가요? Google Cloud는 올해 여러 AI 제품을 새로 출시했으며, 새로운 AI 기능을 통해 기존 제품을 개선하기 위해 꾸준히 노력하는 중입니다. 새로운 Vertex AI Search 제품은 Custom Sea.. 2024. 1. 4. OpenAI API (ChatGPT) 응답결과를 채팅처럼 가공해보자. https://mitw.tistory.com/75 ChatGPT를 사용해보자. OpenAI API java 예제 일단은 사용하기에 앞서 몇가지 짚고 넘어가야하는 부분이 있다. 바로 API 옵션이다. 옵션이야 상당히 많지만, 좀 필수적으로 보이는 부분만 간략하게 정리하였다. 아래는 옵션 설정이다. //* Open mitw.tistory.com 먼저 앞선 예제를 이은 내용임. 질문 : mitw.tistory.com이라는 블로거는 누군가? 일 때, 답변은 아래와 같다. 위 Json을 https://jsonlint.com/로 깔끔하게 정리하면, { "id": "cmpl-8co7FOJBZDdUN8Wq7bg6hNkmBGAlL", "object": "text_completion", "created": 17042598.. 2024. 1. 3. atlassian / jira software webhook setting. (지라 웹훅) atlassian의 소프트웨어인 jira에서 이벤트가 발생 시 실시간으로 해당 정보에 대한 내용을 공유받기 위한, webhook을 설정하려고함. * 참고로 jira 7.12.0 버전이라서 프로젝트안에서 automation으로 webhook을 구현하는 방식이 여기엔 없다. 일단 jira에 대한 관리 권한이 필요하다. 시스템 - 좌측 메뉴 제일 하단 고급탭 - 웹훅 웹훅 만들기를 진행하면 아래와 같은 화면을 얻을 수 있다. 웹훅의 이름, url, 설명 그리고 어떤 이벤트를 받을 것인가에 대한 상세 설정. url에서는 추가로 매개변수를 GET 방식으로 받을 수 있다. 웹훅 리스너를 생성하였다. 이제 웹훅을 받을 url 측에서 필요한 작업이 필요하다. 작업에 앞서, 공식 가이드에 의하면 webhook paylo.. 2023. 11. 9. Google Programmable Search Engine는 퍼블리싱이 어디까지 커스텀될까? 가이드에서는 아래와 같이 정의되어 있다. 표준 동일한 에 표시되는 검색창 및 검색결과 즉 모든 요소를 구글 디자인으로 쓴다. 2단 및 한쪽에는 검색결과가, 다른 한쪽에는 검색창이 있는 2열 레이아웃 웹페이지에서 두 열 모드로 여러 요소를 삽입하려면 gname 속성을 사용하여 검색창을 검색결과 블록과 페어링할 수 있습니다. 검색창과 검색결과를 구글 디자인으로 쓰되, 영역을 분리시킬 수 있다. 검색창 전용 독립형 검색창입니다. 검색창만 표시하고 검색 이후 구글 디자인으로 뿌려준다. 검색결과만 검색결과의 독립형 블록입니다. 검색결과만 구글 디자인으로 뿌려준다. 이 항목이 좀 강력해보인다. 결론적으로 검색창을 자유롭게 꾸며서 구글꺼로 받으면 될 것 같다. 먼저, 어느 정도의 프리셋은 얻을 수 있다. https:.. 2023. 9. 15. video 태그에서 썸네일이 나오지 않는 증상 (feat. 아이폰(ios) 계열에서만) Your browser does not support the video tag. 자 위와 같이 video 태그를 선언하였는데... 다른 곳에서는 다 이미지가 잘 나오는데. 아이폰에서만 나오지 않는다? 그 이유는.. 답은 바로 video 태그에서 poster 속성에 있다. 데스크탑, 안드로이드에서 Edge, Chrome, Safari, Opera 등 모두 확인해보았고, iMAC의 Chrome, Safari에서도 잘보이는 부분을 확인하였다. 하지만, 아이폰의 기본브라우저(Safari)에서만 보이지 않는다. 기본적으로 poster 속성이 없으면 브라우저에서 동영상의 첫 프레임의 화면을 썸네일로 사용한다. 하지만, Safari가 문법에 매우 엄격한 편이라서 안나오는 경우가 있을 것이라고 판단하였다. 일반적인 데.. 2023. 9. 14. 구글 커스텀 서치 (Google Custom Search JSON API, Custom Search Site Restricted JSON API ) 사용하기. JS로드방식 샘플제공. 페이지네이션구현. 자세한 설명이 필요있겠는가.. 샘플을 원하는 것 다 알고 있네.. 여기.. 방식을 설명하자면, Google Custom Search JSON API를 JS 로드 방식으로 구현하였다. 검색을 하였을 경우 JS를 동적으로 로드하여 검색하고 결과를 가져온다. 하루 100개 제한이므로, 리스트에 10개 항목씩 보여지고, 페이지는 5페이지씩 노출된다. 기본적으로 API에서는 pervPage, nextPage만 제공되므로, 페이지 이동이 자유롭도록 페이지네이션을 구현하였다. 기본적인 디자인은 음따............... (API 호출은 REST API형식을 따라서 하는게 가장 깔끔할 듯 하다..) Mitw Google Custom Search Api 검색 위를 이용하면 다음과 같은 화면을 얻을 수 있다. 너무 .. 2023. 9. 14. 구글 커스텀 서치 (Google Custom Search JSON API, Custom Search Site Restricted JSON API ) 설정하기. Google Custom Search > Programmable Search Engine를 이용하여 웹을 구성하면 매우 간단하게 구성되지만, 디자인을 커스텀할 수 없다.. > Google Custom Search 를 이용하면 디자인을 커스텀할 수 있다! > 단점은.. 하루에 100 쿼리가 제한이고, 유료 전환 시 1000 쿼리당 $5다... > 게다가 Google Custom Search JSON API는 유료모드에서도 하루 10000쿼리 제한이 있다. > 단, 사이트의 제한이 있는 Custom Search Site Restricted JSON API는 유료모드 시 쿼리 제한이 없다. 먼저, Google Custom Search를 구성하려면 Programmable Search Engine을 구성해야 한다.. 2023. 9. 14. Javascript- html2canvas (현재 웹화면을 스크린샷 찍어서 서버로?) (feat. java spring) 먼저.. 공식 사이트 https://html2canvas.hertzen.com/ html2canvas - Screenshots with JavaScript Try out html2canvas Test out html2canvas by rendering the viewport from the current page. Capture html2canvas.hertzen.com function screenshot() { return new Promise((resolve, reject) => { html2canvas(document.querySelector('#capture_element')).then((canvas) => { resolve(canvas.toDataURL()); }).catch((error) =>.. 2023. 7. 12. javascript - F12, 마우스우클릭, Ctrl+Shift+I 방어 개발하다보면 몇번쯤은 사용하게 되는 부분.. 하지만.. 크롬에서 주소창 맨 우측 점 3개 버튼 > 도구 더보기 > 개발자 도구는 막을 수 없다.. 2023. 5. 22. 이전 1 2 3 다음