728x90
반응형
728x90
반응형
한줄요약 : 혹시 jQuery의 slim을 사용하고 있다면 slim이 없는 script로 교체 자 첫번째 빡침은 일단 Jquery 스크립트 코드를 넣었는데도 불구하고 ajax의 반응조차 안오던 것. 심지어 오류코드를 사용했는데도 반응이 정말 순식간에 지나가서 보지도 못했다. 그래서 윈도우상 캡처를 사용해서 배속으로 느리게 돌려본 결과 아래와 같은 쌩뚱맞은? 결과를 찾았다. 아니 ajax가 function이 아니라고?!???? 그럼 뭐란거지;; 일단 빡침을 뒤로두고 집단지성의 집합체인 Google의 도움을 빌리러 갔다. 그랬더니 어떤 스마트한 분이 답변하시길 jQuery slim에는 ajax가 포함이 안되있어서 작동이 안된다는거 ㅠㅜㅜ 감사합니다.. https://memostack.tistory.com/1..
JSON으로 alert 받은 후에 return false로 주면 세션 값을 다시 가져오는 것이 불가능 함 따라서 alert를 띄운 후에 location.href로 브라우저 초기 시작 값을 다시 넣어줘서 페이지를 reload시켜야 다음부터 정상적으로 작동이 됨 빡친다. $.ajax({ //. 붙이는 거 잊지말고 url:'/DemoPractice2_LogInCRUD/login',//데이터 주고받을 파일 주소 입력 = cmd와 id pw값을 다 가져가서 분석해야되니까 service인 login페이지에 갖다주고 method:'post', // 보내는 거니까 post로 쓰고 cashe:false, //캐쉬 저장 안되게 false로 바꾸고 data: serData, //데이터 보내는 거 serData dataTyp..
데몬쓰레드 - Daemon thread 데몬쓰레드란 메인쓰레드 옆에서 보조를 담당하는 쓰레드이다. 보조쓰레드이기 때문에 항시 옆에서 동작하다가 메인쓰레드가 종료되면 같이 종료된다. 예시로 워드의 자동저장이나 GC가 있다. 데몬쓰레드 선언 아래의 코드처럼 데몬쓰레드를 선언할 때는 아래의 사항을 고려해야한다. setDaemon을 사용하여 데몬쓰레드를 생성하고 start전에 실행해줘야 데몬쓰레드로 적용된다. 데몬쓰레드는 항시 동작하고 메인쓰레드가 종료되면 동시에 종료되기 때문에 무한반복문으로 생성한다. 아래의 코드 순서: 쓰레드를 runnaable로 받아온 후에 Thread 클래스로 할당한다. 받은 쓰레드를 setDaemon으로 데몬쓰레드로 정의한 후에 만든 데몬쓰레드를 실행한다. 데몬쓰레드가 실행됨가 동시에..
멀티스레드 스레드란 한개의 프로세스에서 작동되는 실행 작동 장치이다. 즉, 멀티스레드의 의미는 한개의 프로세스에서 여러가지 작업을 하는 실행 작동 장치이다. 멀티스레드를 쓰는 것이 여러모로 좋지만, 아래의 사항에 주의해야한다. 동기화를 주의해야한다. 각 스레드가 효율적으로 고르게 실행되게 작성해야한다. 스레드의 구현과 실행 두가지의 방법을 사용할 수 있다. Thread 클래스를 상속 Runnable 인터페이스를 구현 Thread는 extends를 사용하여 클래스를 상속받고, Runnable의 경우에는 implements를 사용하여 Runnable 인터페이스를 상속받는다. public class ThreadRunnable{ public static void main(String[] args) { Nthre..
열거형 - Enum 관련된 상수들을 같이 묶어놓은 것 타입과 값을 둘다 체크함으로써 안전한 열거형을 제공 아래의 예시를 보면 ETH 가격과 XRP가격이 같더라도 다른 종류이기 때문에 false를 출력하는 것이 논리적으로 맞지만, 실행 시 true가 실행된다 Coin c = new Coin(); System.out.println(c.ETHPrice == c.XRPPrice) } } class Coin{ String BTC; String ETH; String XRP; int ETHPrice = 100; int XRPPrice = 100; } 열겨형 선언 따라서 열겨형을 선언하여 종류를 구분한다음 값을 비교를 하면 논리적으로 생각한대로 false가 출력이 된다. 1. 일단 먼저 enum을 선언하는 방법을 알아..
와일드 카드 일반적으로 지네릭스를 선언하면 대입된 타입이 일치해야 하는데, 와일드 카드를 사용하면 대입 변수가 불일치하여도 컴파일 오류가 발생하지 않는다. 대표적으로 아래와 같이 선언한다. : 모든 Object 타입 가능, Object / E / T를 직접 선언한 것과 같음 1. : 전부 선언가능 ArrayList arr7 = new ArrayList(); } } class nature{} class plant2 extends nature{} class basil2 extends plant2{} class rose extends plant2{} 지네릭스 형변환 지네릭스가 선언된 타입을 지네릭타입이라 하고 선언되지 않은 클래스 타입을 원시 타입이라 부른다. 원시타입을 지네릭타입으로 형변환이 가능할까? 컴파..
지네릭스 Collection 클래스의 타입체크를 해주는 기능을 가지고 있다. 아래의 예시처럼 지네릭스를 써주지 않으면 컴파일러가 arr.get(0)의 인덱스 자리의 값을 확인할 수 없기 때문에 일일이 형변환을 해주어야 컴파일오류가 나지 않는다. ArrayList arr = new ArrayList(); arr.add(1); arr.add(1); arr.add(1); int i = (Integer) arr.get(0); 지네릭스를 아래와 같이 지정해주면 컴파일러에게 새로운 기준을 넣어준 것이기 때문에 형변환을 하지 않아도 컴파일오류가 발생되지 않는다. 단 지정타입을 제외한 타입을 저장하게 될 경우 컴파일 오류 발생 ArrayList arr = new ArrayList(); arr.add(1); arr.ad..
Collections Collection 클래스를 위한 static 메서드를 제공한다. Math클래스와 동일한 방식으로 사용할 수 있다. Math.random, Math.abs 등 1. fill, copy, binearysearch, sort등 Arrays메서드와 동일한 메서드 보유 2. 동기화 전용 메서드를 보유 - synchronized Vector는 동기화가 되어있지만 ArrayList는 동기화를 안하게 되어있다. 필요할 때만 동기화된 클래스를 사용 기능적으로 효율적인 코드 아래의 형식처럼 Collections.synchronized로 동기화를 ArrayList에 적용하면 Vector클래스를 사용하는 것과 동일하다. List list = new ArrayList(); Collections.synch..