본문 바로가기

전체 글

(24)
[Web] 세션(Session) 이해하기 업무를 하면서 세션에 대해 파악할 일이 있었다. 웹 개발을 하면서 필수적으로 이해해야 할 내용이지만 어렴풋이 알고 있기 때문에 제대로 정리해보기로 했다! 일단 이걸 사용하는 이유를 알아야겠다. 세션이 왜 필요한 건데?! HTTP 프로토콜 특성을 이해하면 답을 알 수 있었다. 비연결성(Connectionless) : 서버가 클라이언트 요청에 응답을 완료하면 연결을 끊어버림 무상태(Stateless) : 연결을 끊은 뒤 클라이언트 상태를 저장하지 않음 사용자가 웹페이지에 접속하면 정해진 화면을 보여준 뒤 연결이 끝난다는 단순한 내용이다. 심플하지만 웹이 빠르고 가볍게 사용될 수 있는 이유인 것 같다. 하지만 위의 특성은 단점도 있다. 요청과 응답 한 번으로 연결이 끊기고 상태도 저장이 안 된다면.. 단순히 ..
[jQuery] is(':checked'), prop('checked') 비교해보기 최근 개발업무 중에 체크박스 컨트롤하는 일이 많아졌다. 체크박스 제어는 단순하지만 깔끔하고 효율적인 소스를 고민하다 보니 은근히 어렵다! 소스를 보던 중 같은 기능을 다른 형태로 사용하는 걸 발견해서 알아보기로 했다. 오늘의 주제는 체크 여부를 확인 할 수 있는 is(':checked')와 prop('checked')이다. 간략하게 input 태그만 있는 예제를 사용해보았다. // 1개의 checkbox 체크 여부 $("#chkAll").is(":checked"); $("#chkAll").prop("checked"); // 여러개의 checkbox 체크 여부 $("input[name=chk]").is(":checked"); $("input[name=chk]").prop("checked"); id로 che..
[jQuery] $().each, $.each 차이 알아보기 제이쿼리로 DOM을 다룰 때.. 객체나 배열 등 반복이 필요할 때 주로 쓰는 each() 에 대해 알아봤다. 주의 깊게 봤던 부분은 $. each()와 $("selector").each() 두 가지 표현법이다. 하나만 쓰면 되지 왜 두 개일까.. 차이점을 찾아봤다! 우선 기본적인 사용법은 $("li").each(function(i, e) { // li 요소를 반복함 }); 제이쿼리의 selector로 요소를 가져와서 반복문을 처리한다. Type: Function( Integer index, Element element ) A function to execute for each matched element. 반복을 돌 때마다 받아 올 수 있는 파라미터는 index와 element이다. A B C $("li..
[jQuery] click(), trigger('click') 차이 알아보기 js소스를 보다가 또 헷갈리는 부분을 찾았다. 바로 클릭 이벤트..! $("#btn").on("click", function() { // click event }); $("#btn").click(); $("#btn").trigger("click"); id가 btn인 요소에 click 이벤트를 바인딩한 예제이다. click()과 trigger('click') 둘 다 바인딩된 click 이벤트를 수행한다. 도대체 다른 게 뭘까? click : Bind an event handler to the "click" JavaScript event, or trigger that event on an element. trigger : Execute all handlers and behaviors attached to t..
[jQuery] attr(), prop() 차이 알아보기 제이쿼리를 쓰면서 헷갈리는 점이 항상 있다. 버튼을 비활성화(disabled)하거나 체크박스를 선택(checked)하는 작업이 필요할 때..! // 버튼 비활성화 $("#btn").attr("disabled", true); $("#btn").prop("disabled", true); // 체크박스 선택 $("#chk").attr("checked", true); $("#chk").prop("checked", true); 둘 다 잘 되는데 뭘 써야 하는 걸까? 알아보기 전에 기본적인 사용법을 파악해보자! attr(attributeName) : 속성의 값을 가져온다. attr(attributeName, value) : 속성의 값을 설정한다. (value type : String or Number or null..
[JAVA] indexOf() 분석해보기 소스 분석 중에 신기한 코드를 보게 되었다. 이걸 이렇게 쓴다고..? 경험이 부족해서 그런 건지 새로운 사용법이 신기할 따름이었다. 나중에 참고하기 위해 제대로 분석해보기로 했다! 오늘의 주제는 indexOf String 클래스의 특정 문자를 찾아서 index를 반환해주는 메서드이다. String str = "abcd"; str.indexOf("a") // 0 str.indexOf("b") // 1 str.indexOf("z") // -1 특정 문자가 있으면 해당 index 위치를 반환, 없으면 -1을 반환한다. String code = "A01"; // code = A01, A02, B01, B02 if(code.indexOf("A") != -1) { // A코드일때 처리 } 일반적으로 실무에서는 이런..
[JAVA] 문자열 비교 equals 와 == 의 차이점 이번 주제는 문자열 비교 시 == 와 equals 의 차이점! equals에 대한 내용을 좀 더 추가해보려고 한다. 자바스크립트 하던 습관으로 문자열 비교는 자연스럽게 == 연산자를 사용한다. 근데 자바로는 하면 안되는 이유가 뭔데?! 살펴보자.. 자바를 잘 모른다면 "문자열 같음" 이 출력된다고 생각할 수 있다! 하지만.. 결과는 "문자열 다름" !! a와 b의 주소값은 다른것을 확인했다. 주소값이 같으면 어찌될까? 이 예시로 알 수 있는점은 == 연산자는 객체의 주소를 비교하는 것! 문자열 비교로 사용 할 순 없었다. 그렇다면 equals 는? 주소가 다르더라도 문자열이 같으면 true로 반환된다. 간단한 예시로 문자열 비교 시 == 와 equals의 차이점을 알아봤다!
[JAVA] 문자열 비교 equals() 제대로 사용하기 이직 후 첫 업무를 맡게 되었다! 특정 코드에 대해서 분기 처리하여 알맞은 문구를 보여주는 것이었다. 단순한 분기 처리여서 너무 쉬운데..? // String code = ? if(code.equals("AB01")) { // 문구 처리 } else { // 문구 처리 } 이렇게 하고 혼자 뿌듯해하고 있었다. 그런데 지나가던 팀장님이 한마디 해주셨다. "이거 ~~ 해야 하지 않나?" 앗! 오랜만의 자바라서 헷갈렸나 보다ㅠㅠ 팀장님의 말씀으로 나의 실수를 인지하고 그 이후에 수정한 줄 알았다.. 하지만 그대로 진행해버려서 시스템에 의해서 다시 한번 문제점을 지적받게 되었다! (바보) 뭐가 문제였을까? 만약 code 값이 null 이라면 어떻게 될까? null에는 equals도 없고.. 아무것도 없다 ㅠㅠ ..