사용자 도구

사이트 도구


web:신규서비스

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
web:신규서비스 [2020/11/24 13:22]
kwon37xi [계층간 침범을 하지 말것]
web:신규서비스 [2021/01/11 16:52]
kwon37xi [HTML]
줄 239: 줄 239:
   * Jade/haml류가 안 된다면 가급적 HTML과 구분되는 템플릿 문법에 HTML의 정합성을 깨지 않는 [[java:template_engine|Java HTML Template Engines]]을 사용한다([[:handlebars|Handlebars.js]], [[java:pebble|Pebble]] 등).   * Jade/haml류가 안 된다면 가급적 HTML과 구분되는 템플릿 문법에 HTML의 정합성을 깨지 않는 [[java:template_engine|Java HTML Template Engines]]을 사용한다([[:handlebars|Handlebars.js]], [[java:pebble|Pebble]] 등).
  
 +===== 데이터와 HTML ===== 
 +  * 데이터 저장소는 항상 원천 데이터포맷을 명확히 하고 해당 포맷으로만 저장한다. 
 +  * 원천 데이터 포맷은 Text 라면 데이터 저장소에는 그냥 텍스트로 저장해야 한다. 이를 HTML 로 escape 해서 저장하지 말아야 한다. 
 +  * 예) 원천 데이터가 ''우리는 대박 할인해요 >.< !!'' 라는 데이터가 있을 때 이 데이터의 근본 형식은 TEXT 이다. 
 +  * 그런데, HTML로 외부에 저장할 때 이 Text 의 ''>.<'' 등이나 HTML 태그가 입력될 수 있다고 해서 원천 데이터 저장 자체를 HTML Escape 해서 저장하고자 하는 욕구를 느낄 수 있는데, 절대해서는 안된다. 
 +  * 사용자 측이 항상 HTML Browser 라는 보장도 없고, 검색엔진 등도 색인할 때 원천 데이터의 형식을 Text 로 해야할지 HTML로 해야할지 혼란스럽게 된다. 
 +  * 이로 인해 가끔씩 앱이나 일부 웹 애플리케이션에서 ''&lt;, &gt; &amp;'' 같은 문자열들이 노출되게 된다. 
 +  * HTML escape 의 책임은 데이터 저장소단이 아닌 View 단에서 해야한다.
 ===== 보안 ===== ===== 보안 =====
   * [[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project|OWASP Top 10 숙지]] [[http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010%20Korean.pdf|한국어판]]   * [[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project|OWASP Top 10 숙지]] [[http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010%20Korean.pdf|한국어판]]
줄 365: 줄 372:
   * Sprint 를 1주 단위 정도로 잘게 쪼개는 게 좋다. 목표를 명확히 가시화 한다.   * Sprint 를 1주 단위 정도로 잘게 쪼개는 게 좋다. 목표를 명확히 가시화 한다.
   * 스프린트당 통합 테스트를 목표로 정하는게 좋다. 허접해도 통합해서 뭔가를 보는게 좋다.   * 스프린트당 통합 테스트를 목표로 정하는게 좋다. 허접해도 통합해서 뭔가를 보는게 좋다.
 +
 +===== 신규 개발 조직 구축시 먼저 할 일 =====
 +  * [[https://www.sonatype.com/nexus|nexus]] 같은 의존성 저장소를 구축한다.
 +    * 사내 라이브러리 올리기
 +    * 외부 망에 의존하지 않아서 빠른 속도로 의존 라이브러리 가져오기
 +  * 비슷한 의미로 Docker Registry 도 구축
 +  * 회사가 극초반이 아니라면 https://github.com 같은 외부 저장소는 오픈소스 전용으로 사용하고, 회사 내부용 별도의 git 저장소를 구축한다.
 +    * Github Enterprise
 +    * Gitlab Enterprise 등.
 +  * 이유 : 공개 저장소를 사용하면 항상 보안 문제가 발생한다. 특히 개발자 한명의 실수로 전체 소스코드 유출이 가능해진다.
 +  * 무것보다 소스코드에 DB 접속 정보, 개인정보 등이 있을 때 큰문제가 된다.
 +  * 근본적으로 어딘가의 접속 정보는 소스코드 저장소에 넣지 않는게 제일 좋지만 이걸 안지키는 경우가 지속적으로 발생한다.
  
 ===== 참조 ===== ===== 참조 =====
   * [[http://startupstash.com/|Startup Stash]] 스타트업에 필요한 도구들 소개   * [[http://startupstash.com/|Startup Stash]] 스타트업에 필요한 도구들 소개
  
web/신규서비스.txt · 마지막으로 수정됨: 2024/03/08 11:26 저자 kwon37xi