TIL 23.10.24

ν™©μ€ν•˜Β·2023λ…„ 10μ›” 24일
0

TIL

λͺ©λ‘ 보기
104/146

πŸ“ŒToday I Learned

Memo test

μƒˆ ν”„λ‘œμ νŠΈ

  • New > Dynamic Web Project > "Memo" > Next > Next > Context root: "memo"
    > Generate web.xml 체크(o)
  1. 주제 > λ©”λͺ¨μž₯

  2. 업무 > CRUD

    • λ©”λͺ¨ μ“°κΈ°(C)
    • λ©”λͺ¨ λͺ©λ‘(R)
    • λ©”λͺ¨ 읽기(R)
    • λ©”λͺ¨ μˆ˜μ •(U)
    • λ©”λͺ¨ μ‚­μ œ(D)
  3. DB

    • Memo > "script.sql"
  4. 파일

    • 곡톡 파일
      - webapp > WEB-INF > "views" > "inc" > "header.jsp"
      > "asset.jsp"

    • λ©”λͺ¨ μ“°κΈ°
      - "com.test.memo" > "Add.java"
      > "AddOk.java"
      - webapp > WEB-INF > "views" > "add.jsp"
      > "addok.jsp"

    • λ©”λͺ¨ λͺ©λ‘
      - "com.test.memo" > "List.java"
      > "list.jsp"

    • λ©”λͺ¨ 읽기
      - "com.test.memo" > "View.java"
      - webapp > WEB-INF > "views" > "view.jsp"

    • λ©”λͺ¨ μˆ˜μ •
      - "com.test.memo" > "Edit.java"

      					  > "EditOk.java"	
      	- webapp > WEB-INF > "views" > "edit.jsp"			
      								 \> "editok.jsp"			
    • λ©”λͺ¨ μ‚­μ œ
      - "com.test.memo" > "Del.java"

      					  > "DelOk.java"	
      	- webapp > WEB-INF > "views" > "del.jsp"			
      								 \> "delok.jsp"	
    • ν…œν”Œλ¦Ώ
      - com.test.memo > "Template.java"
      - views > "template.jsp"

    • JDBC
      - com.test.memo > DBUtil.java 볡사
      - WEB-INF > lib > ojdbc6.jar 볡사

    • DB λ‹΄λ‹Ήμž
      - "com.test.memo.persist" λ˜λŠ”
      - "com.test.memo.dao" λ˜λŠ”
      - "com.test.memo.repository" > "MemoDAO.java"


      - "com.test.memo.dto" λ˜λŠ”
      - "com.test.memo.model" > "MemoDTO.java"

    • jstl μ„€μΉ˜
      - WEB-INF > lib > jstl-1.2.jar 볡사

      						 								 					 

Auth test

μƒˆ ν”„λ‘œμ νŠΈ

  • New > Dynamic Web Project > "AuthTest" > Next > Next > Context root: "auth"
    > Generate web.xml 체크(o)

인증, Authentication

  • ν˜„μž¬ μ ‘μ†μžκ°€ ν•΄λ‹Ή μ‚¬μ΄νŠΈμ˜ ꡬ성원인지 ν™•μΈν•˜λŠ” μž‘μ—…
  • 둜그인(Sign in), λ‘œκ·Έμ•„μ›ƒ(Sign out)
  • ν•΄λ‹Ή μ ‘μ†μžκ°€ ꡬ성원인지 확인 μž‘μ—…(아이디, μ•”ν˜Έ) > 인증 ν‹°μΌ“ λ°œκΈ‰
    > μ‚¬μ΄νŠΈ λ‚΄μ—μ„œ 자유둭게 이동 + 인증 ν‹°μΌ“(증λͺ…)

ν—ˆκ°€, Authorization

  • νŠΉμ • 행동을 ν•  λ•Œ κΆŒν•œμ΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” μž‘μ—…

μ›Ή λ³΄μ•ˆ = 인증 + ν—ˆκ°€
= μ„Έμ…˜ 기반 인증(O)
= μΏ ν‚€ 기반 인증

파일

  • AuthTest > "script.sql"

  • WEB-INF > lib > ojdbc6.jar 볡사

  • "com.test.auth" > "DBUtil.java" 볡사

  • webapp > "index.jsp" //μ‹œμž‘ νŽ˜μ΄μ§€
    > "auth" > "login.jsp" //둜그인 폼 νŽ˜μ΄μ§€
    > "loginok.jsp" //둜그인 처리 νŽ˜μ΄μ§€(+인증 μž‘μ—…)
    > "logoutok.jsp" //λ‘œκ·Έμ•„μ›ƒ 처리 νŽ˜μ΄μ§€
    > "member" > "member.jsp" //νšŒμ› μ „μš© νŽ˜μ΄μ§€(+ ν—ˆκ°€ μž‘μ—…)
    > "admin" > "admin.jsp" //κ΄€λ¦¬μž μ „μš© νŽ˜μ΄μ§€(+ ν—ˆκ°€ μž‘μ—…)


Crawling test

μƒˆ ν”„λ‘œμ νŠΈ

  • New > Dynamic Web Project > "CrawlingTest" > Next > Next > Context root: "crawling"
    	> Generate web.xml 체크(o)

μ›Ή 크둀링(Crawling), μ›Ή μŠ€ν¬λž˜ν•‘(Scraping)

  • μ›Ή μ‚¬μ΄νŠΈ(μ›Ή νŽ˜μ΄μ§€)μ—μ„œ 데이터λ₯Ό μˆ˜μ§‘ν•˜λŠ” ν–‰μœ„

a. μƒλŒ€λ°©(μ›Ήμ‚¬μ΄νŠΈ)이 λ‚˜μ—κ²Œ DB κΆŒν•œμ„ μ€€λ‹€λ©΄... > κ°€μž₯ 쒋은 방법 > λΆˆκ°€λŠ₯
b. μƒλŒ€λ°©μ΄ 외뢀에 OpenAPI 곡개 > JSON, XML > μ œν•œμ  > λ¬΄λ‚œν•œ 방법
c. μ›Ή νŽ˜μ΄μ§€μ˜ μ†ŒμŠ€λ₯Ό κΈμ–΄μ„œ μ›ν•˜λŠ” 데이터λ₯Ό μΆ”μΆœ > ν”„λ‘œκ·Έλž¨

크둀링 주의점!!

  • ν—ˆκ°€ 문제, μ €μž‘κΆŒ 문제
  • 정도껏~ > κΈμ–΄μ˜€λŠ” μž‘μ—… > ν”„λ‘œκ·Έλž¨ > 속도 빠름!! & 횟수 많음!! > μ„œλ²„ μž…μž₯ > μ„œλ²„ λΉ„μš© & νŠΈλž˜ν”½ 증가

크둀링 사전 지식

  1. HTML 이해
  2. CSS μ„ νƒμž 이해, JavaScript 이해
  3. Java 이해
  • "com.test.java" > "Ex01.java"
  1. Jsoup
    > 정적 νŽ˜μ΄μ§€(μžλ°” μŠ€ν¬λ¦½νŠΈκ°€ κ°œμž…λ˜μ§€ μ•Šμ€ νŽ˜μ΄μ§€), 미인증 νŽ˜μ΄μ§€(둜그인 X)
    > 속도 빠름
  2. Selenium
    > λͺ¨λ“  νŽ˜μ΄μ§€(둜그인O, μžλ°”μŠ€ν¬λ¦½νŠΈ 동적 컨텐츠)
    > 속도 느림
profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

0개의 λŒ“κΈ€