jack716의 등록된 링크

 jack716로 등록된 네이버 블로그 포스트 수는 65건입니다.

WSL2에서 SNAP을 사용하는 방법 및 패키지 broken 현상 해결 [내부링크]

열심히 구글링을 했다. 그리고 방법을 찾았다.우선 2가지 과정이 필요하다.1. wsl2에서 systemd 사용 가능하도록 해주는 스크립트를 누군가가 만들어서 git에 공유되어 있다.( wsl2는 systemd를 지원하지 않는데, snap을 사용하려면 systemd를 쓸 수 있어야 한다. )https://github.com/DamionGans/ubuntu-wsl2-systemd-script2. 그런데 1의 방법을 해서 snap에서 패키지를 설치하게 되면,, wsl2를 완전 종료 한 후 다시 켠 후snap list 해보면 패키지 상태가 broken으로 변경되어 있는 현상이 생겼었다..당연히 실행도 안되었다..2번 내용 참고사이트 : https://github.com/DamionGans/ubuntu-wsl2-systemd-script/issues/47즉 1번을.......

9일차 - 소멸자, pragma, string, cin [내부링크]

https://docs.microsoft.com/ko-kr/cpp/cpp/cpp-language-reference?view=vs-2017소멸자- 소멸자는 클래스와 이름이 같지만 물결표(~)가 앞에 붙어 있는 함수인수를 받아들이지 않습니다.값을 반환 하지 않습니다 (또는 void).https://docs.microsoft.com/ko-kr/cpp/cpp/destructors-cpp?view=vs-2017pragmaphttp://andyader.blogspot.com/2014/02/pragma-once-pragma-pack.html// STL string#include <string>#include<iostream>using namespace std;void main(){ string 성명1 = "홍길동"; string 성명2 = "홍길동"; cout << 성명1 <&l.......

Quiet on Sleep (소음차단 수면 귀마개) [내부링크]

콰이어트 온 슬립이라는 제품을 직구로 구매했습니다이 제품은 소음을 차단해주는 귀마개입니다특별한 점은ANC 기능이 되는 제품이구요( Active Noise Canceling )ANC에 대해 간단한 설명외부 소음을 수집해서 반대 파동을 만들어서 상쇄시키는파동을 만들어서 소음을 없애는 기술로 알고 있습니다.저는 크리스마스 할인때 구매했구요.기억하기로 관세 합해서 23만원정도에 산 것 같아요.이 제품은 블루투스가 되는 제품이 아닙니다음악 재생도 안됩니다단순하게 노이즈 캔슬링에 특화된 귀마개에요사용중인 소니 WH-1000XM3 과 비교했을때노캔 기능은 많이 부족한게 사실입니다 개인적인 생각으로는헤드폰의 약 50 ~ 60 프.......

30살 첫 해외여행 (파리 5박 6일) [내부링크]

일기처럼 여행했던 기록을 남기고 싶어서 씀작년 30살이 되던 해에 첫 해외 여행을 갔음다들 첫 해외여행은 일본처럼 가까운 나라를 추천했지만...비행기 안에서 있는 것은 똑같으니까 멀리 간다는 체감이 딱히 되지 않아서 ?왠지 좀 더 멀고 근사한데를 가보자 라고 생각했고. 유럽여행하면 떠오르는 파리를 선택다른 후보지로는 우유니 소금사막이 있었지만 비용과 시간이 너무 부족하여 제외 티켓은 직항이 아닌 중국 경유여서 왕복 80만원으로 저렴하게 구매..대신 엄청나게 긴 시간을 공항에서 대기함다음엔 왠만하면 직항으로 살거같음빵집엔 진짜 벌들이 돌아다닌다.맛있는 빵집엔 벌들이 많다고 누가 그랬다. --> 파리에 대.......

사테치 블루투스 리모컨 ( 이북리더기 리모컨 ) [내부링크]

이북리더기 리모컨을 갖고싶어서 찾던 중 가장 디자인이 마음에 드는 것을 발견했다 Satechi 알루미늄 블루투스 리모컨 생각보다 훨씬 작고 아담한 사이즈였고 사용하기 쉽고 편리하다 버튼 누르는 느낌도 마음에 든다

구글 검색어 저장 끄는 법 ( 삼성 인터넷 브라우저 포함 ) [내부링크]

모바일로 구글을 사용하다가 검색어 저장을 끄고 싶어졌다.설정 2가지를 다 해줘야 한다.1. 활동 제어 설정2. 로그아웃 후 검색어 저장 끄기보통 구글 검색하면 1번은 나오는데 2번은 잘 안나와서 작성해본다1. 활동 제어 설정 ( 로그인 한 상태 ) 아래의 사진처럼 일시정지 상태로 만들어준다.2. 로그아웃 후 검색어 저장 끄기 ( 로그아웃 한 상태 )아래처럼 검색설정을 들어가준다.로그아웃을 해야만 보이는 검색 기록 설정이 있다.여기서 검색어 저장 안함 선택위의 설명들은 삼성 브라우저로 설정을 한 것이고모바일에서 크롬브라우저에서는 아래처럼 해주면 된다.로그아웃이 어디있는지.......

비듬 샴푸 성공적 후기 (뉴트로지나 티젤 샴푸 사용기) [내부링크]

비듬이 좀 심해졌을때가 있었다.그래서 두피도 벌겋고 긁게 되어서 자꾸 신경이 쓰였다.계속 놓아두면 탈모에도 악영향을 줄 것 같았다...;위기의식을 느껴서 탈모샴푸를 구글에 검색했다.구글링 결과 베스트 비듬샴푸 BEST 10 목록이 나왔고니조랄, 헤드엔숄더, 뉴트로지나 3개로 후보가 좁혀졌다.니조랄 - 국내에서 제일 사용기를 찾기 어려웠다. 해외 리뷰 특히 아마존에서 평이 가장 좋은 것 같았다.용량대비 가격이 조금 비싼 편 ?헤드엔숄더 스트렝스 - 가장 국내리뷰가 많다. 커뮤니티 사이트에서도 많이 추천해주는 제품이었다. 첨에 이걸 살까 ? 하다가 액체 색상이 굉장히 진해보여서 뭔가 살짝 거부감이 들었다. ;; 가성비가.......

첫 시계 SGG-713 구매, 시계 줄 해외직구(watchgecko) 후기 [내부링크]

첫 시계를 SEIKO의 SGG-713으로 고른 이유1. 손목이 얇아서 38mm 시계가 어울릴 것 같았다.2. 쿼츠 : 오토메틱보다 관리가 쉬워서3. 가격 : 10~15만원에 형성된 가격대, 중고나라에서 새상품을 10만원에 샀다.시계 줄 직구사이트 : https://www.watchgecko.com/장점 : 1. 한국 직배송이 된다. DHL 로 선택하여 3 영업일에 배송이 왔다.2. 시계줄이 정말 예쁜게 많았다. 가끔 할인코드가 뜬다. 3. 가입하면 이메일로 10퍼센트 할인코드를 준다.4. 유튜브나 구글에 실사 후기나 제품소개영상이 많이 있다. 제품명으로 검색하면 나온다.(이 가죽스트랩은 watchgecko 자체 유튜브 채널의 제품 홍보영상을 보고 맘에들어서 골랐다.)알아.......

시계 줄 퀵 릴리즈 바로 변경 / 구멍 뚫는 법 [내부링크]

손목시계 가죽 줄을 여러개 구매했었는데.교체툴을 사용해서 시계줄을 바꿔주기 귀찮았다.퀵릴리즈 바를 사용하는 줄이 매우 편해서 다른 줄들도 이렇게 바꿔줄 수 있는지 알아봤고방법을 찾아냈다.1. 퀵 릴리즈 바 구매2. 퀵 릴리즈 바에 맞는 구멍 뚫는 펀치 구매3. 구멍 뚫고 사용우선 구매 했던 링크이다.1. 퀵 릴리즈 바는 검색하면 국내배송도 보이는데 (알리가 더 쌈)펀치는 국내에서는 찾아도 안보여서 알리 익스프레스에서 구매했다.1.5mm에 시계 폭에 맞춰서 선택 (저는 20mm)https://a.aliexpress.com/_dTVr9da2. 가죽 펀치 타원형 모양 펀치 3x1mm세부 옵션은 3x1mm 로 구매하면 된다. https://a.aliexpress.c.......

롤 내전 or 대회 밴픽 (툴 / 사이트) 리뷰 [내부링크]

최근 속한 단체에서 롤 대회를 참가한 적이 있었다대회에서 실제 롤챔스나 롤드컵처럼 진행을 했는데, 그 때 사용한 툴이다. 대충 순서가 각 팀에서 밴을 3개 함 -> 블루팀이 1개 픽 -> 레드팀이 2개 픽 -> 블루팀이 2개 픽 -> 레드팀이 1개 픽각 팀에서 나머지 벤 2개 -> 각 팀이 픽 2개씩방법1. 레드진영과 블루진영을 고르는 것은 사다리타기 등으로 선택을 미리 하고 아래의 사이트에 접속한다.2. 각 팀명을 적는다.3. MATCH NAME에 경기명을 적는다.4. confirm 을 누른다.5. 그러면 각각 블루팀 입장 주소, 레드팀 입장 주소, 관전 주소가 생긴다.각 팀에서 한명씩 블루팀 입장 주소, 레드팀 입장 주소.......

ww shoes 볼륨더비 리뷰 / 착용샷 [내부링크]

구매한 제품 : 볼륨더비구매처 : ww shoes 블로그ww shoes를 어떻게 알게 되었나 ?ww shoes 블로그를 알게 된 것은 다른 패션 커뮤니티 카페에서였다.갖고있는 더비는 금강제화 리갈 201인데, 발가락이 불편하고 발이 아파서 자주 신지 않게 되었었고발이 편한 더비가 없을까 질문을 했는데 여러명에게 추천받은 곳이었다.구매 방식은 ?구매 방식은 블로그 상품 소개글에 댓글을 번호와 남기면 문자가 오고 상담이 진행된다.문자로 상담이 진행됐고, 처음으로 발의 실측을 재어보게 되었다. [발길이 262, 발볼 106]실측 재는 방법 등.. 사진으로 보내주는 설명대로 발길이와 발볼을 쟀다.처음에 270을 주문했는데, 265에 발볼을 넓히도록 권.......

7일차 - linked list (단일연결리스트, 이중연결리스트), 순회자(itorator) [내부링크]

단일연결리스트#include<stdio.h>#include<stdlib.h>// 노드 = 값 + 다음typedef struct tag노드{ int 값; struct tag노드* 다음;}노드;노드 머리;노드 꼬리;void 앞으로노드추가(int 값){//========== 머리와 꼬리 사이에 새로운 노드 삽입 =========== 노드* 전노드 = &머리; 노드* 새노드 = (노드*)malloc(sizeof(노드)); 새노드->값 = 값;// 새노드의 다음 = 전노드의 다음 (q는 p와 같은 곳을 가리킨다) : 새노드를 꼬리를 가리키게 새노드->다음 = 전노드.......

7일차 - 코드 좀 더 완성도있게 고치기, C++코드(객체지향적으로 좀 더 고치기) [내부링크]

#include<stdio.h>#include<stdlib.h>typedef struct tag노드{ int 값; struct tag노드* 이전; struct tag노드* 다음;}노드;typedef struct tag순회자{ 노드* 현재노드;}순회자;typedef struct tag리스트 // 노드를 리스트 구조체에 넣어줌{ 노드 머리; 노드 꼬리;}리스트;void 리스트초기화(리스트* p리스트) // 꼬리와 머리의 상호 가리킴{ p리스트->머리.다음 = &p리스트->꼬리; p리스트->꼬리.이전 = &p리스트->머리;}//{{=================== 리스트용 함수 ===&#x.......

8일차 - 어제 코드 좀 더 고치기 (객체지향, 중첩클래스, namespace, template, new) [내부링크]

#include<stdio.h>struct 학생 // 객체 정의{ int 번호; void 공부하다(){};};void main(){ 학생 철수; // 객체 준비, 정적으로 준비 (main 함수 종료시 자동 해제됨) 학생* 순이 = new 학생; // 동적으로 준비 (c에서는 malloc으로 C++에서는 new가 생김) // 동적으로 준비하면 지워줘야함 // 객체 이용 순이.번호 = 1; 순이.공부하다(); // 객체 정리 delete 순이;}========================= 코드 좀 더 고치기 =========.......

8일차 - 전형적인 코드로 변경, 모던 C++(auto), 연산자 재정의, reference(참조), const, 생성자 [내부링크]

#include<iostream>#include<list> // 리스트void main(){ std::list<int> list1; // std namespace에 있는 리스트(탬플릿 리스트) list1.push_front(1); // 앞으로추가하다 list1.push_front(2); list1.push_front(3); std::list<int>::iterator 시작순회자=list1.begin(); // 순회자(iterator), begin() : 첫번째 노드를 줘 std::list<int>::iterator 마지막순회자=list1.end(); for( ; 시작순회자 != 마지막순회자; 시작순회자++) // 시작순회자++ : 다음 노드로 { std::cout << *시작순회자 << std::endl; // *시작순회자 : 시작순회자가 가리키는 노드의 값 // cout : 콘솔로 출.......

9일차 - 객체지향( 상속, 다형성, 가상함수 override, 접근제한자) [내부링크]

#include<iostream>using namespace std;class A{public: int v1; void g() { cout << v1 << endl; };};class B:public A // 상속{};void main(){ A A1; A1.v1=9; A1.g(); B B1; B1.v1=7; // B도 A의 것을 사용 가능 B1.g(); // B도 A의 것을 사용 가능};// 다형성// 포함을 통해, 여러 형태를 가진다.// 주민이 생산캐릭터로써, 공격캐릭터로써 상속을 받고 다양한 형태를 갖는다.class 생산캐릭터{public: void 생산하다(){};};class 공격캐릭터{public: void 공격하다(){};};class 주민:public 생산캐릭터, public 공격캐릭터{public: void 주민을늘린다(){};};void main(.......

9일차 - 콜론초기화, default parameter (c++) , 함수뒤에 붙는 const, include [내부링크]

============== 콜론초기화 ===============#include<iostream>using namespace std;class A{public:A(int v) // 생성자{cout << "A" << v << endl;};};class B : public A{public:B():A(3) // 콜론초기화 B의 생성자를 작동시키기 전에 A()를 작동시켜라{cout << "B" << endl;};};void main(){B B1; // A3// B 출력};#include<iostream>using namespace std;class A{public:A(int v) // 생성자{cout <&.......

4일차 - 전화번호부 [내부링크]

배열명은 첫 요소의 주소다#include<stdio.h>void main(){ int a[2]; int* p; //p = &a[0]; p = a; // 배열명은 첫 요소의 주소다 printf("%d \n", p);}// 어제 연락처 예제 다시 돌아보기#include<stdio.h>#include<string.h>// 한 연락처 == char[40], 50개의 연락처char 연락처들[50][40];void main(){ char (*빈연락처)[40] = 연락처들; // 배열명은 첫 요소의 위치 printf("성명을 입력하세요 \n"); char 입력성명[20]; fflush(stdin); scanf("%s", 입력성명); // 입력성명은 첫요소의 위치 strcpy(*빈연락처, 입력성명); printf("%.......

5일차 - 구조체 [내부링크]

함수의 parameter는 단일형만 가능parameter는 복사가 일어남복사가 일어나는 것은 단일형만pass by pointer--> 포인터를 함수의 parameter로 사용값 --- > int g( )값 --- > int* g( ) 영역 --- > &int g( )g(int v) --> 영역을 준비하다g(int* v) --> 영역을 준비하다g(&int v) --> 영역이 들어온다 (C++에서만 사용, 참조라고 부름)구조체#include<stdio.h>//정보struct 좌표{ int x; //항목 int y; //스칼라};void main(){ int a; //준비 struct 좌표 점1; struct 좌표 점2 = {1, 2}; //생성시에는 값 입력 가능 struct 좌표 점3 = 점1; // 복사 생성 점1.x &.......

5일차 - 포인터배열, 동적할당 적용한 전화번호부 [내부링크]

동적 할당#include<stdio.h>#include<stdlib.h> // malloc 사용// 동적할당int* g(){ int *p = (int*)malloc(4); return p;}int* a[3];void main(){ a[0] = g(); a[1] = g(); a[2] = g(); *a[0] = 1; *a[1] = 2; *a[2] = 3; printf("%d \n", *a[0]); printf("%d \n", *a[1]); free(a[2]); printf("%d \n", *a[2]); //-572662307 해제한 메모리를 보려할때}연락처 목록을 포인터배열을 통해관리하도록 만들어보자#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h> // malloc 사용#d.......

6일차 [내부링크]

void (*p);보이드 포인터 : 알 수 없는 타입의 위치값 // 그래서 단일형만. 배열은 나올 수 없다. 형을 모르니.void * p;*p = 3.14 // 어떤 형인지 몰라서 안된다.#include<stdio.h>void main(){ void* p; int a = 7; p = &a; printf("%d \n", *(int*)p); // p를 형변환 후 그 영역에 있는 값}======================전화번호부 지우기 기능 포함= =================.......

6일차 - 함수포인터, auto, static, include, register, 재귀호출 [내부링크]

int a;void g(){ int b;}void main(){ int c; g();} main::c g::b stack(auto) malloc/free heap값 a static----------------------------------------------------------코드 main g#include<stdio.h>int g(int a){ printf("g\n"); return a;}void main(){ printf("%d \n", g); // 함수의 이름도 위치값 int (*p)(int) = g; // 함수를 가리키는 포인터 : 함수포인터 printf("%d \n", p(7));}#include<stdio.h>int g(int a, float b){ printf("g\n"); return a;}void h(int(*q)(int, float)){ q(7, 3.1);}void main(){.......

절대경로 상대경로 [내부링크]

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><a href="/hello/html/index.html">INDEX - 절대경로 - 루트부터 가는 경로</a></body></html> 절대경로 : 루트에서부터 대상까지의 경로 여기서 루트 = http://localhost:8080(생략)/ <- 톰캣의 루트 /hello/ <- 여기서 루트가 WebContent폴더를 말한다. /가 루트라고 보면 됨... 톰켓의 루트에서 hello라는 웹어플리케이션을 선택하고 그 hello의 루트는 WebCo.......

IIS 기본 홈페이지 보기 (루트의 위치) [내부링크]

루트의 위치는 위와 같다. 80포트를 사용하고 있다. 로컬호스트로 주소창에 치면 위와 같이 루트에 있던 페이지가 호출된다. IIS의 루트를 eclipse에서 작업한 html페이지를 호출하려면루트를 webcontent 까지 설정한 다음에 페이지를 호출해보면된다. iis는 jsp는 해석하지 못한다.

HTML 기초적 ol ul [내부링크]

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <h2>순서없는 목록</h2> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> <hr> <h2>순서있는 목록</h2> <ol type="1"> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> </body></html>

html 컬럼, 로우 합치기 (colspan, rowspan) [내부링크]

<h1>2개의 컬럼(td) 합치기</h1><table border="1"> <tr> <th>Name</th> <th colspan="3">Tell1</th> </tr> <tr> <td>Bill Gates</td> <td>555 77 845</td> <td>555 77 845</td> <td>555 77 845</td> </tr></table> <h1>2개의 로우(td) 합치기</h1><table border="1"> <tr> <th>Name</th> <th>Bill Gates</th> </tr> <tr> <td rowspan="2">Tel</td> <td>555 77 845</td> </tr> <tr> <td>555 77 845</td&g.......

MP3 파일 일괄 편집. 일괄 자르기. [내부링크]

MP3 파일 600개 정도를 앞부분 10초 뒷부분 10초를 잘라서 써야 할 일이 생겼다. 그런데 아무리 검색해도 잘 안나오다가... GOLD WAVE라는 편집툴 발견... 많은 시도 끝에 이 툴의 기능중에서 일괄적으로 편집을 가능하게 해주는 기능을 발견했다. 골드웨이브 공식 홈페이지에서 다운로드 ! 무료 툴이기에 최신버전을 받으면 된다 ! 메뉴 : FILE -> Batch Processing Source에 폴더 경로를 넣든지, 파일들을 넣던지... 하고 Destination에서 변경된 파일이 새로 생겨날 경로를 설정한다. 그리고 Convert에서 이렇게 설정해줬다.

1일차 (2019-2-23) [내부링크]

visual c++ express edition 2008 설치구글검색집에서는 2017설치강의 목표 : 자료구조를 배우기 위한 수준까지선생님 블로그 : http://blog.daum.net/celab/53개발환경 : http://blog.daum.net/celab/302툴 셋팅 초기화-> tool -> import and Export ...-> 리셋 올세팅값의 유형일상값위치값값 표현 3가지상수값행동값영역값#include<stdio.h>void main(){int a; //영역이름으로 영역을 준비해달라int b;a = 7; //영역의 값이 7이 되게해달라b = a;int *p; int *q;p = &a; //p는 a의 위치를 가리킨다q = p; //q는 p와 같은곳을 가리킨다printf("%d \n".......

2일차 [내부링크]

#include<stdio.h>void main(){int a[3] = {1,2,3};printf("%d \n", &a); //16120832 배열의 위치값printf("%d \n", &a[0]); //16120832printf("%d \n", &a[1]); //16120836 4증가printf("%d \n", a); //16120832 배열이름으로 찾아도 위치값 // 요소값들이 쭉 나열되는게 아니네 ?printf("%d \n", a[0]); //1 a의 1번째 요소값int b = 1;printf("%d \n", b); //1int (*p)[3];p = &a;printf("%d \n", p); //16120832 a의 위치값printf("%d \n", p[0]); //16120832 a[0]의 위치값printf("%d \n", *.......

3일차 [내부링크]

함수의 입력값으로 포인터 사용- 함수 영역내에서 정의되지 않은 영역값에 접근하기 위해서 포인터를 사용P = &aP[1] : p의 두번째 요소라고 안읽고, p가 가리키는 곳에서 1떨어진 위치의 영역이라고 읽는다return은 단일형만 된다. 값의 복사가 일어나야 하는데, 단일형만 복사가 된다.집합형은 집합의 위치값(포인터)을 리턴하면 된다.#include<stdio.h>typedef int(*ZZ)[3]; // ZZ 대신 int(*)[3] 로 읽어줘 (예약어) 원래 이런느낌 : int(*)[3] ZZ;int a[3];ZZ g() //int(*)[3] g(){ int(*p)[3]; p = &a; return p;}void main(){ int(*p)[3]; p = g(); printf("%d \n", p);}.......

자습 ( 에러페이지 설정 ) [내부링크]

web.xml <!-- 에러페이지 설정 --> <error-page> <error-code>400</error-code> <location>/WEB-INF/views/errorpage/errorpage.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/WEB-INF/views/errorpage/errorpage.jsp</location> </error-page> <error-page> <error-code>405</error-code> <location>/WEB-INF/views/errorpage/errorpage.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/views/errorpage/erro.......

자습 ( ajax로 요청시 data에 배열값 넣어서 넘기기 ) [내부링크]

$.ajaxSettings.traditional = true; $.ajax({ method : 'GET or POST', url : '요청주소', data : { '키' : 값(배열도가능) }, error : function(request, status, error) { alert("code: "+request.status+"\n"+"message: "+request.responseText+"\n"+"error: "+error); }, success : function(msg) { console.log(msg); }}); 배열값을 넘기려면 ajax의 셋팅을 변경해줘야 한다.$.ajaxSettings.traditional = true;

자습 ( 부트스트랩 datetimepicker 사용 (한글화) 예제 ) [내부링크]

부트스트랩에서 제공하는 datetimepicker이다. https://eonasdan.github.io/bootstrap-datetimepicker/ 이곳에 들어가보면 예제들이 있다. 사용해본 예제 추가해준 CDN 주소. <!-- 부트스트랩 dateTimePicker --><!-- moment.js = 날짜형태에 관한api // locale/ko.js = 한글화 // jquery는 2.2.4버전 이상은 안될수도있음 --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.0/moment.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.0/locale/.......

자습 ( JSTL 에서 함수 사용 ) [내부링크]

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <img src="${pageContext.request.contextPath}/resources/files/${fn:substringAfter(fundingAndComAndMile[0].posterImg, 'files')}"> 우선 태그립을 추가해준다. 아래처럼 substringAfter함수 등등을 사용할 수 있다. fn:contains(string, sbustring) string이 substring을 포함하면 return True fn:containsIgnoreCase(string, sbustring) 대소문자 관계없이 string이 substring을 포함하면 return True fn:endsWith(string, suffix) string이 suffix로 끝나면 return True fn:escapeXml(string) stting에 XML과 HTML에서 특별한 의미를 가진 문자들이.......

자습 ( ajax 요청 처리 // jsp페이지로 미리 만들어서 데이터 받는 방법 ) [내부링크]

ajax를 요청하면 json 데이터로 response받아서 또는 jackson api를 통해서 json타입의 객체로 받아서그것을 자바스크립터에서 처리해줬다. ajax를 사용하지 않을때엔,페이지를 요청할때 컨트롤러쪽에 데이터를 저장소에 저장해서 jstl로 화면에서 사용했다. 그런데 ajax를 사용하면서 json 타입이 아닌 저장소에 저장해서 jstl로 화면에 사용한 그 페이지 자체를ajax 응답값으로 받아서 처리해줄 수 있다. jsp 모듈을 미리 만들어둔다. 화면에 글 리스트를 뿌려주려 할때에,fundingviewpage.jsp가 있으면 fundinglist.jsp를 만들어준다.리스트목록 부분만 jsp파일로 따로 만들어준 것이다. <table class="table table-striped table-bordered.......

자습 ( jstl // eq empty ne // 조건문에서 비교할때에 ) [내부링크]

// eq or ==<c:if test="${name eq '이름'}"><c:if test="${name eq null}"><c:if test="${age eq 20}"> // ne or !=<c:if test="${name ne '이름'}"><c:if test="${name ne null}"><c:if test="${age ne 20}"> 기본적으로 변수에 담겨있는 값을 비교할때는 == 또는 != 를 많이 사용한다. 그런데 empty는 list나 map 객체 빈배열 빈컬랙션 등의 경우에 사용한다.즉 객체는 있는데 배열이 [] 이렇게 비어있을때엔,empty 를 사용해준다. or !empty <c:if test="${empty fundingAndComAndMile[0].mileStoneList}"> <tr> <td colspan="6">마일스톤데이터가 없습니다</td> </tr>&l.......

자습 ( 로그인할때 다시 원래 페이지로 돌아가는 기능 구현 ) [내부링크]

스프링 시큐리티를 사용하면 이 기능이 있다고 하는데,, 프로젝트에서 세션을 사용했기 때문에 이 기능을 만들어봤다. ////////////////////////////////// 인터셉터 //////////////////////////////// // 로그인이 필요한 요청은 로그인페이지로 리다이렉트 해줌String whereredirect = "/pineapple/login.user"; // 로그인이 필요한 페이지에서 로그인 페이지로 이동될때 이전 페이지의 정보를 저장해서 => 로그인 후 다시 그 페이지로 가도록 해줄 것. log.debug("=================CommonInterceptor 요청한페이지의 getHeader중 Referer================= : "+request.getHeader("Referer"));// 최초 실행에 메인페이지로 왔을때 헤더에.......

자습 ( 마이바티스 insert 쿼리 하나로 여러번 insert 하기 ) [내부링크]

먼져 DAO 쪽을 보자. 특정펀딩에 투자한 모든 투자자들에게 메세지를 보내려고 한다.메세지 테이블이 있고 이곳에 투자자들 id의 리스트로 받는 아이디만 다르게 같은 내용의 메세지를 insert를 여러번 해주면 된다. // 모든 투자자들에게 공지보내기 @Override public int sendMessageAllInvestors(MessageAndFd messageandfd) { List<String> idList = new ArrayList<String>(); HashMap<String, Object> map = new HashMap<>(); // 펀딩코드로 모든 투자자들의 아이디를 가져옴 idList.addAll(sqlSessionTemplate.selectList("com.pineapple.funding.service.FundingMapper.getIdListForSendMessageAllInvestors", me.......

ajax 요청의 응답을 javascript에서 받을때 한글깨짐 (한글이 물음표로 나옴) [내부링크]

컨트롤러 (RestController) // 모든 투자자들에게 공지보내기@RequestMapping(value="/sendmessageallinvestors.pms", method = RequestMethod.POST) public String sendMessageAllInvestors(Model model, Locale locale, MessageAndFd messageandfd) throws UnsupportedEncodingException { log.debug("FundingRestController의 sendMessageAllInvestors호출 성공"); log.debug("essageandfd : "+messageandfd); String result ="메세지 보내기 "; result += String.valueOf(service.sendMessageAllInvestors(messageandfd))+"명 성공"; log.debug("컨트롤러의 sendMessageAllInvestors 최종 result 결과물 : "+result); return result; } ajax요.......

부트스트랩 모달 창 hide 했을때 검은화면 남고 완전히 안사라질때 [내부링크]

$('#myModal').hide();위의 코드처럼 했을때는 완전히 안사라지고 검은 화면이 남았었다. $('#myModal').modal('hide');이렇게 하니 완전히 사라졌다.

자습 (JNDI활용 // 호스팅사이트 메인페이지에서 Mysql 연결 예제 ) [내부링크]

호스팅 사이트 cafe24의 폴더구조를 보면 tomcat/conf/ 하위에 context.xmlserver.xmlweb.xml 3가지가 있다. 여기서 DB에 접속할 수 있도록 해주는 데이터소스를 설정해주고index.jsp에서 직접 DB에 연결하여 처리해주는 것을 추가해주려 한다. 호스팅 사이트에 몇명이 방문하고 있는지 궁금하기도 하고이런 JNDI 방식이 예전에 쓰이던 방식인데 한번 실제로 사용해보고 싶었다. context.xml에서 ResourceLink 부분을 추가해준다.리소스명을 jdbc/jack716으로 server.xml에 직접 만들 것이다.<Context> <!-- Default set of monitored resources. If one of these changes, the --> <!-- web application will be reloaded. --&gt.......

The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)". [내부링크]

The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)". 마이바티스 mybatis // collection 사용시 // 위와 같은 문구가 생기는 빨간줄이 생기고 에러가 나온다 // 이상태에서는 빨간줄이 뜬다. <resultMap type="com.pineapple.funding.service.InfomationForPmsMainViewOfCompanyUser" id="InfomationForPmsMainViewOfCompanyUser"> <collection property="comList" ofType="com.pineapple.user.service.Company"> <id property="comCode" column="comCode"/> <result property="comName" column="comName"/> <result property="comNumber" c.......

호스팅 배포시,, (장시간 접속안하다가) 처음 접속시 DB접속 오류나던 것 [내부링크]

여러가지 방법이 있는데그중에서 jdbc커넥션풀 dbcp를 사용하는 경우에 해결법을 썻다. servlet-context.xml 에 들어가면 dbcp의 커넥션 풀에 대한 설정이 있다. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <!-- war배포할때에 localhost // 원격 작업할때는 jack716.cafe24.com --> <!-- <property name="url" value="jdbc:mysql://localhost:3306/jack716?useUnicode=true&characterEncoding=utf8"/> --> <property name="url" value="jdbc:mysql://jack716.cafe24.com:3306/jack716?useUnicode=tr.......

mysql 조건문이 들어가는 쿼리 CASE WHEN THEN ELSE END [내부링크]

funding 테이블에서 상태가 각각 다른 펀딩의 COUNT를 SELECT 하려 한다.이런식으로 조건을 달아줄 수 있다. SELECT COUNT(*) totalFundingCount , COUNT(CASE when fdStatus="모집중" OR fdStatus="결제모집중" then 1 end) totalRecruitingFundingCount , COUNT(CASE when fdStatus="개설요청" then 1 end) totalRequestFundingCount , COUNT(CASE when fdStatus="진행중" then 1 end) totalProceedingFundingCount FROM funding then 1 이라고 해줬다. (1,2,3 상관없다. 그저 하나의 문자로써의 1이기 때문. 합산하는 경우랑은 다르다 )then 은 앞의 when 조건이 맞다면 값을 1로 해준다 then null 로 한다면COUNT 결과가 0 이 된다.즉 COUNT .......

자습 ( 스프링 스케줄러 사용 // 주기적으로 자동으로 메서드 실행되게 해주는 것 ) [내부링크]

여러 방법이 있지만 지금 테스트 해본 것 중 성공한 것 예제. servlet.context.xml 의 namespaces 설정에서 task를 체크해준다.그 후 <task:annotation-driven/> 을 추가해주면 <task> 태그를 사용할 수 있다. <task:annotation-driven/> <!-- 스케줄러설정 --> <task:scheduler id="scheduler" pool-size="3"/> <task:scheduled-tasks scheduler="scheduler" > <task:scheduled ref="Scheduler" method="doJob" cron="0/4 * * * * ?" /> </task:scheduled-tasks> <bean id="Scheduler" class="com.pineapple.util.scheduler.Scheduler"> </bean> 스케줄러 설정. 빈은 스케줄러 메.......

MYSQL 오류 (1093) You can't specify target table '테이블' for update in FROM clause [내부링크]

MYSQL은 오라클과 달리 같은 테이블을 불러와서 같은 테이블에서 업데이트(UPDATE), 삭제(DELETE)를 못한다. //업데이트 하려는것도 funding 테이블, SELECT의 위치도 funding 테이블 UPDATE fundingSET fdStatus='결제모집중'WHERE fdCode = ANY ( SELECT fdCode FROM funding WHERE fdStatus = '모집중') sub Query를 하나 더 넣어서 임시테이블을 만들면 된다. 아래와 같이 고쳐주면 실행됨. UPDATE fundingSET fdStatus='결제모집중'WHERE fdCode = ANY (SELECT fdCode FROM( SELECT fdCode FROM funding WHERE fdStatus = '모집중')tmp);

자습 쿼리 ( mysql에서 특정 값에 종속된 그룹별로 SUM을 구하는 법 ) [내부링크]

SELECT f.펀딩코드, SUM(i.주식구입수)FROM 펀딩 f INNER JOIN 투자 iON f.펀딩코드 = i.투자펀딩코드WHERE f.펀딩상태 = '결제모집중'GROUP BY f.펀딩코드 특정 펀딩에 대하여 투자자들이 투자사전예약을 할때예약된 주식구입수량이 있을 것이다. 현재 얼마나 사전예약 % 가 찼는지 확인해줄때...펀딩별로 구입주식수를 합산해줘야 한다. 투자자들의 투자는 펀딩코드에 종속되어있기 때문에,, GROUP BY 를 써주고 SUM을 해주면 그룹별로 이런식으로 나온다. 위의 사진은 쿼리와 조금 다름..

The content of elements must consist of well-formed character data or markup. [내부링크]

마이바티스에서 맵퍼파일안에 쿼리에다가 비교연산자를 넣게 되면 이렇게 에러가난다. The content of elements must consist of well-formed character data or markup.이런 문장이 나오는데,, 해결법은<![CDATA[ ]]> 이것으로 감싸주면 된다. <update id="fundingUpdateSchedule" parameterType="String"> <![CDATA[ UPDATE funding SET fdStatus='결제모집중' WHERE fdCode= ANY (SELECT fdCode FROM(SELECT p.fdCode FROM (SELECT f.fdCode, f.numberOfShares n, SUM(i.purchaseShares) s FROM funding f INNER JOIN investment i ON f.fdCode = i.investFdCode WHERE f.fdStatus = '모집중' GROUP BY f.fdCode) p WHERE p.n .......

자습 ( 스프링에서 페이징 <더보기 버튼> 방식 게시물 10개씩 불러오는 것 예제 // 동적쿼리사용 ) [내부링크]

자바스크립트 코드와 jsp쪽 <script> // ajax 성공시 매개변수 msg로 펀딩 리스트를 받아서 뿌려줌 ( 최초 화면 로드시에 ) // 펀딩리스트 뿌려줌 for(var i=0; i<msg[2].length; i++){ $('#adminFdList').append( '<tr>' +'<td>'+msg[2][i].fdCode+'</td>' +'<td>'+msg[2][i].fdStatus+'</td>' +'<td>'+msg[2][i].fdTitle+'</td>' +'<td>' +'<div class="progress">' +'<div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="60"' +'aria-valuemin="0" aria-valuemax="100" style="width:' +msg[2][i].total/msg[2][i].n.......

에러 코드 종류 [내부링크]

<h1>error-code</h1><h3>2xx (성공) 요청(request)을 성공적으로 처리했음</h3><h5>200 : 요청이 정상적으로 처리됨</h5><hr> <h3>3xx (리다이렉션 완료) 응답(response)가 미완료됨</h3><h5>307 : 임시로 페이지가 리다이렉트됨</h5><hr> <h3>4xx (요청 오류) 요청시 문제가 생김</h3><h5>400 : 클라이언트 요청이 잘못된 구문으로 구성됨</h5><h5>401 : 접근이 제한(서버측 로그인을 요구)</h5><h5>403 : 접근 허용 안 함(401로 로그인 실패시 접근 막음)</h5><h5>404 : 지정된 URL 처리하기 위한 페이지가 없.......

자습 ( github 사용시 pom.properties 충돌 문제 등 해결 ignore파일 활용 ) [내부링크]

github를 사용하다보면 pull 과 push를 할때에 pom.properties의 내용이 바뀌게 되어 자꾸 충돌이 생긴다. pom.properties에 현재시간이 기록되기 때문에 시간이 계속 바뀌므로 파일은 계속 변할 수 밖에 없다. 이런 것들이나 혹은 아얘 처음부터 변동사항을 무시해줄 것들을 설정을 해줄 수 있다. 깃허브에 보면 직접 파일을 만들어서 올릴 수 있다.프로젝트내의 최상위 경로에 .gitignore라는 파일을 만들어서 올려주면 되는 것이다.create new file클릭 누르면 파일명을 써주고 파일확장자를 선택해준다.java파일로 만들어준다. 그리고 내용은 어떤 것을 추가할지 정해서 하면 된다.java, log등등 나와있는 것들은 구글링해서 넣어본 것인데,,.......

알리익스프레스 <보너스 파트너 / 20달러 쿠폰> [내부링크]

알리 익스프레스에서 20달러 쿠폰을 받을 수 있는 보너스파트너 라는 것을 봤다.하는법1. 링크를 들어간다. 들어가서 본인 링크를 생성한다.생성하면 2만원이 되어있다.즉 3800 포인트만 얻으면 쿠폰을 받을 수 있다.2. 포인트는 랜덤으로 준다.지금까지 받아본 것은 84 ~ 681로 폭이 조금 크다.잘 되면 10명 안으로 끝 날 것 같다.3. 포인트는 다른사람 링크를 눌러도 들어오고 단사람이 내 링크를 눌러도 들어온다.최대한 많은 사람 것을 눌러주면 좋다.4. 24시간 안에 채우는 것..!금방금방오른다.<제 추천링크입니다> - 이 링크는 24시간 까지만 유지될 것으로 보인다.,,https://a.aliexpress.com/_mLGNEQ3현재까지 모은.......

[간식 리뷰] 진저본 생강젤리 [내부링크]

간식으로 먹을게 뭐 없을까 찾아보다가 찾게 되었다.원래 생강편 같은 것도 잘 먹는 사람인지라.. 이런쪽 입맛이 당겨서 찾게 된 제품이다.뭔가 젤리라고 하면 말랑말랑한 것을 연상할 수 있지만,이건 약간 마이쮸 정도의 씹는감을 가진 젤리다.그리고 맛도 이정도면 호불호가 거의 없지 않을까 싶다.적당히 생강의 맛을 내주고 단맛도 너무 많지도 적지도 않다.한 박스를 구매했는데, 지금 4봉지 째를 먹고 있지만 딱히 질린다는 생각도 들지 않는 신기한 녀석이다.저렇게 낱개로 포장되어있다.가격대비 굉장히 양이 많고, 생강을 좋아하는 사람이라면 추천해주고 싶다.진저본 생강젤리 자세한 정보는 아래에 링크.......

귀멸의 칼날 [내부링크]

그림출처 : https://natalie.mu/comic/news/345709종류 : 만화책완결여부 : 미완결별점 : 귀멸의 칼날을 보게 된 계기- 유튜브 알고리즘에 의해서 추천영상에 뜬 귀멸의 칼날 내에서 강한 케릭터 순위 영상을 보고- 영상을 보고 케릭터들이 매력있게 느껴졌는데 나무위키를 검색해보니 탄탄한 스토리를 가진 것 같았다- 내비치는 세계, 물의 호흡, 불의 호흡 등의 설정. 이런 경지?의 설정은 고전 판타지를 연상케 했다- 요리이치, 무잔 같은 극강의 케릭터의 묘사에 끌렸다느낀점- 평소에 만화책을 잘 안보는데 몰입감이 굉장했다.- 주인공 탄지로와 여동생 네즈코 사이에서 일어나는 일, 귀살대 지주들.......

카라마조프가의 형제들 [영화] 리뷰 [내부링크]

보게된 계기- 도스토옙스키의 장편소설인 카라마조프가의 형제들을 영화화 한 작품이 있다고 해서 보게 되었다.- 책은 아직 안읽었으나, 유튜브에 영상이 있어서 보게 되었다. 느낀점영상은 총 2부로 되어 있었다.책으로는 예전부터 많이 들어온 작품이다. 인생에 대한 통찰을 담은 책 중에서도 손에 꼽힌다고..만약 한국 드라마였으면 이런 막장중에 막장이 없었을 것이다.아버지의 연인과 아들이 사랑을 하고, 아들에게 아버지가 살해당하는 등의 스토리는 절대 드라마로는 나올 수 없겠지 ?그런데 전체 줄거리의 표면적인 부분 보다 인물들의 감정이나 생각들에 집중해서 보게 되는게 또 사람인 것 같다. 가장 기억에 남는 장면은 두.......

아이허브 시리얼 / 네이쳐스패스 / 그래놀라 다크초콜릿 딸기 [내부링크]

iHerb 에 있는 이 제품을 확인해 보세요 https://kr.iherb.com/pr/Nature-s-Path-Love-Crunch-Premium-Organic-Granola-Dark-Chocolate-Red-Berries-11-5-oz-325-g/61777?rcode=FQE9988맛있는거!쿠팡에서도 살 수 있지만아이허브가 더 싸다..무료배송 받으려면 5개 이상 구매해야함그래고 유통기한은 1년이니 괜찮음할인코드 : FQE9988

다만 악에서 구하소서를 보고 [내부링크]

정말 오랫만에 영화를 보고왔다평소엔 영화를 보고싶단 생각을 못했는데, 이정재, 황정민이라는 배우에 이끌려서 보고왔다.레이(이정재님) 역할은 지독한 편집증적인 악인으로 나온다. 물론 인남(황정민님)도 악인이라면 악인이다. 살인청부업을 했으니..사람답지 못한 악인들이니 죽일 수 있는 명분이 있다 하더라도이미 검은 물이 든 인생이었던 것이다.그러나 그를 구원한 것은 딸에 대한 사랑이었다.인남이 밀항 할 배를 기다리면서 딸과 포옹하는 씬이 기억에 남는다.그는 팔을 벌리고 안아달라고 하는 딸을 보면서 구원처럼 느끼지 않았을까 생각해본다.. 딸의 순수함. 딸이 팔을 벌리자. 자기 자신도 아버지가 될 수 있고 누군가에게.......

조성진님의 Nocturne in C minor Op. 48 No. 1을 듣고 [내부링크]

https://www.youtube.com/watch?v=tSAwZP8e-zQ쇼팽의 녹턴 중 13 번 48-1과 15번 55-1을 많이 들었는데, 이 곡을 라이브로 연주 한게 있을까 해서유튜브를 검색해 봤다. 다행히 둘 다 영상이 있었다. 그 중에서 48-1은 여러 연주자들이 있었는데, 조성진님이 연주하신 영상이 가장 마음에 들었다.원래 이 곡을 듣게 된 것은 까칠한 클래식이라는 저작권이 만료된 클래식 음원을 무료로 제공하는 사이트에서 받아서 듣게 된 음악이었다.http://www.kkacl.com/처음 들었던 곡의 연주자는 Artur Rubinstein 이라는 연주자였다.아래에서 음원을 다운받을 수 있다.http://www.kkacl.com/mdp/13246조성진님의 연주를 들었을때, 굉장히.......

조병철대단해 001234 [내부링크]

조병철대단해 001234

움치기청바지들 31956509 [내부링크]

움치기청바지들 31956509

자습 ( 스프링에서 파일 업로드에 이미지일때 썸네일로 만들어주는 코드 추가 ) [내부링크]

전에 파일업로드 예제에서 만들어준 util 파일에다가 코드를 추가했다.package com.pineapple.util; import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.util.UUID; import javax.imageio.ImageIO; import org.apache.log4j.Logger;import org.springframework.stereotype.Component;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest; @Componentpublic class FileUtil {private Logger log .......

자습 ( 스프링 메이븐 프로젝트에서 junit4 사용해서 테스트하기 (mybatis사용)) [내부링크]

간단하게 DB에 있는 리스트를 불러오는 테스트를 해볼것이다.junit4는 스프링 프로젝트를 생성하면 디팬던시에에 기본적으로 추가되어있는데,spring-test라는 것도 추가해줘야 한다.그리고 두개의 버전이 맞아야 작동한다. 스프링 버전 4.3.9 에서는 junit 4.12 이상부터가 적용된다. pom.xml에 추가해야 할 것 <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</.......

프로젝트의 context root 를 서버 설정할때마다 매번 설정해줘야 했던 것 해결. [내부링크]

프로젝트에서 서버를 지우고 다시 설정할 일이 생길때에path 쪽이 패키지명의 끝자리였던 funding으로 바뀌어있었다. 그것을 매번 pineapple로 다시 설정해주려고 서버를 더블클릭해서 이곳에서 설정했었다. 그런데,, 그렇게 할 필요 없이 프로젝트 우클릭 -> 프로퍼티즈 -> 웹 프로젝트 셋팅 -> 여기서 아얘 context root를 바꿔주면된다. 주의할점..github로 하고 있었는데, 도중에 이 설정으로 바꾸고 pull을 받고 push를 하니 잠깐 실행이 되지 않았다.아마 다른 사람의 프로젝트 설정과 충돌을 한 것 같다. 그래서 다시 프로젝트를 삭제하고 import 받았다. 실행이 잘 되었다.이런셋팅은 팀프로젝트시 초반에 세팅하면 좋을 것 같.......

자습 ( 이미지 업로드 전에 썸네일로 미리보기 기능 javascript ) [내부링크]

jsp 파일에서 ajax 통신을 통해 모달안에 폼을 append로 추가해주는 코드가 위에 있고,,코드가 생략되어있다. 간략히 폼이 있고,이미지를 업로드 할 것이다.그리고 아래의 자바스크립트( jquery ) 코드가 썸네일을 만들어서 이미지 태그에 넣어서 보여주는 코드이다. <form action="/pineapple/modifyfundingimage.pms" method="post" enctype="multipart/form-data">' +'<input type="hidden" name="fdCode" value="'+msg[i].fdCode+'">' +'<img src="" alt="미리보기"><br><br>' +'<input type="file" class="getfile" accept="image/*" name="uploadimage"><br>' +'<button type="submit" class.......

발표내용 메모 ( 스프링 시큐리티 ) [내부링크]

다른조에서 스프링 시큐리티에 대해서 발표했다. 우리조는 세션을 사용했고 시큐리티를 적용하지 않았지만, 배워두면 좋을 것 같다. pom.xml <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core --><dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>4.2.3.RELEASE</version></dependency> <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web --><dependency> <groupId>org.springframework.security</gro.......