목록IT/Web (9)
잡동사니
안녕하세요. yeTi입니다. 오늘은 WEB2-Domain Name System (생활코딩) 을 완주한 후기를 기록하려고 합니다. 강의 수강 계기 현재 제가 블로그에 사용하는 이미지 파일들을 저장하기 위해 개인 나스를 사용하고 있는데요. HTTP로 도메인을 제공해줘서 잘 사용하고 있었습니다. 그런데 2021년 1월에 출시한 Chrome 88 부터는 모든 혼합 콘텐츠(Mixed Content) 다운로드를 차단하면서 HTTP로 제공하는 제 이미지 파일들이 크롬에서 안나오기 시작한것이죠.ㅜ 그래서 어떻게하면 HTTP로 사용하고 있는 도메인을 URL 변경없이 HTTPS로 적용할 수 있을지에 대해 고민하는중에 DNS에 대해서 먼저 알아야겠다는 생각이 들어서 강의를 정주행하게 됐습니다. 배운점 IP와 Host 인터넷..
안녕하세요. yeTi입니다. 오늘은 한국정보보호센터에서 제공하는 Web Java 시큐어코딩 교육을 수강한 후기를 공유하려고 합니다. 수강 계기 회사 프로젝트의 주관사 요구사항으로 수강하게 되었습니다. 강의 정보 기관 : (주)한국정보보호교육센터 교육명 : Web Java 시큐어코딩 강사 : 전상민 수석연구원 기간 : 2022년 01월 19일 ~ 2022년 01월 21일 10:00 ~ 17:00 (18h) 배운점 최신 개발보안 사고 핵심 키워드 웹사이트 해킹 웹사이트를 직접적으로 공격하는 방식 공급망 해킹 개념 : 서비스를 직접적으로 공격하는것이 아니라 제공자 개발자의 PC나 패치파일을 감염시킴으로써 서비스에 영향을 주게하는 방식 해결책 예시 jar파일을 내려줄때 해시검증으로 신뢰성을 얻는 방법 사례 위즈..
안녕하세요. yeTi입니다. 오늘은 HTTP(Hypertext Transfer Protocol)에 대해 알아보려고 합니다. HTTP - 위키백과에 따르면 HTTP는 WWW상에서 정보를 주고받을 수 있는 Request-Response 프로토콜로, 주로 HTML 문서를 주고받는데 사용됩니다. 현재 주로 사용하는 HTTP/1.1의 표준은 공식적으로 1997년 1월에 출시되었고, HTTP/2는 2015년 5월에 출시되었다. HTTP/1.1 RFC 2068에 따르면, HTTP는 Application-level 프로토콜로 Generic, Stateless, Object-oriented의 특성을 가지며 다양한 환경에서 사용가능하다. 첫 버전인 HTTP/0.9는 raw data를 전송하기 위한 단순한 프로토콜이었는데,..
안녕하세요. yeTi입니다.오늘은 Tomcat에서 keytool과 OpenSSL을 사용하여 SSL을 설정하는 방법에 대해서 알아보겠습니다. 사전 준비 - JDK - Window용 OpenSSL (http://slproweb.com/products/Win32OpenSSL.html) CMD 창에서 다음을 실행합니다. - keystore 파일 생성 D:\dev\Java\x64\jdk1.8.0_101\bin> keytool -genkey -alias tomcat -keyalg RSA -keypass [키 비밀번호] -storepass [스토어 비밀번호] -keystore C:/OpenSSL-Win64/bin/.keystore -dname "CN=localhost, OU=OrgUnit, O=MyCompany, C..
안녕하세요. yeTi입니다.오늘은 window.onload를 사용하면서 발생할 수 있는 실수를 확인해보고자 합니다. 아래는 샘플 예제입니다. 첨부파일 : 위 코드의 화면입니다.보시면 아시겠지만 간단히 설명하면 아래와 같습니다. testOut 버튼은 전역으로 정의한 함수를 html에서 호출합니다.windowOnload 버튼은 window.onload함수 내에서 정의한 함수를 html에서 호출합니다.javascriptEvent 버튼은 window.onload함수 내에서 input 아이디를 가진 html 요소에 click 이벤트에 정의한 함수를 html에서 호출합니다. 결과는 testOut과 javascriptEvent 버튼은 동작을 하지만windowOnload 버튼은 'ReferenceError: is no..
개요 : 별칭을 사용하여 익명의 여러사람과 채팅을 할 수 있는 서비스 개발 특의 사항 - 웹 서버와 웹 소켓 활용 - 메세지 내용을 DB에 저장하지 않음 - Route가 변경되면 소켓에 저장한 내용이 사라짐(socket.set()의 내용이 공유되지 않음) 서비스 URL : (환경설정 중)
이번 하이마트 G-CRM 서비스(Spring기반)를 개발하면서 가장 아쉬운 부분이 유지보수의 용이성입니다. 그 동안 개발을 하면서 느낀거지만 DB중심의 서비스 구조를 가져다면 개발이 직관적이라 편해서 초기 구축의 생산성이 높아지는 장점이 있는 반면 실제 서비스단의 설계는 고려되지 않아 서비스의 규모가 커지거나 유지보수시 생산성이 떨어지는 단점이 있습니다. 물론 서비스단의 설계를 하면 되지만 프로젝트의 비용과 시간과 스스로의 능력 부족으로 설계하여 수행하기가 버겁다는것을 느낍니다. 이번에 문득 유지보수가 용이한 웹 어플리케이션의 설계는 어떤식으로 하면 좋을지에 대해 생각하면서 공통코드를 관리방법에 대해 정리한 부분을 남깁니다. 유지보수가 용이한 웹 어플이케이션의 가장 중요한 항목은 종속성의 제거라고 ..
웹 서비스를 만들다보면 현재 내 문서에 다른 문서들을 삽입하고 싶은 경우가 있을 것입니다.가령 다른 서비스 페이지를 호출한다든가, 유투브 영상을 삽입한는것들 입니다. 이럴 경우 사용할 수 있는 HTML 태그가 iframe 입니다. iframe은 하나의 독립적인 Document를 생성하게 되므로 iframe을 호출한 Document와는 완전 별개의 서비스로 동작하게 됩니다.따라서 개발시 페이지를 구성할때 iframe상에 컨텐츠를 올려서 구성하게 될 경우에 유지보수측면에서 상당한 비용이 들것라고 예상됩니다.예를들어 각 iframe 페이지마다 리소스를 다시 로드해야하는데 운영중 발생한 문제를 해결하고 이를 페이지에 반영하기 위해선다시 각 iframe 페이지에 적용을 해줘야하기 때문입니다. 따라서 개인적으로 많..
AngularJS에서 Directive와 Controller를 활용하여 객체화하며 사용하던 중동일한 성격의 태그인데 동작이 조금씩 다른 태그가 필요한 문제가 발생했습니다. 이럴경우라면 공통 함수를 Root단으로 묶고 함수를 오버라이드해서 사용할 수 있도록상속이라는 개념을 이용하면 유용할거 같아서 구글링을 하던 중 유익한 자료를 발견하여 공유하려고 합니다. 기본적으로 Angular에서는 scope라는 개념을 사용합니다.scope란 컨트롤러가 영향을 주는 영역을 의미하는데컨트롤러를 등록한 돔을 기준으로 모든 자식 Element들은 해당 scope의 영역내에 존재하게 됩니다.따라서 1번 컨트롤러 하위에 1-1번 컨트롤러를 등록하면 1-1번 컨트롤러는 1번 컨트롤러의 scope에 있는 변수나 함수를 사용할 수 ..