프로그래밍 언어
-
[JAVA] java.lang.String cannot be cast to java.lang.Integer프로그래밍 언어/에러노트 2022. 11. 14. 14:25
위의 메시지는 주로 Map으로 받아서 가져올 때 발생하는 오류로, Map에 담긴 값의 데이터 타입을 단순히 casting을 (Integer)로 진행하게 되면 발생한다. //에러 int currentPage = (Integer)(paramMap.get("currentPtage")) //정상동작 int currentPage = Integer.parseInt((String)paramMap.get("currentPage")); 위와 같이 Object형의 map의 value 값을 String으로 변환 후 Integer로 변환해도 가능하고 String.valueOfparamMap.get("currentPtage") 와 같이 써도 가능하다.
-
[JavaScript] html과 js 실행 순서, $('document').ready(function(){}) 쓰는 이유프로그래밍 언어/JavaScript 2022. 11. 13. 09:27
html 태그 안에서 js를 html 코드보다 위에 쓰면 js 동작이 적용되지 않는 걸 봤다. 그럼 html,js 등 어떤 방식으로 로딩 되는 걸까? 그 순서를 알아보며 $('document').ready(function(){})를 쓰는 이유도 적어볼까 한다. 📑 $('document').ready(function(){}) 란? $('document').ready(function(){})는 'html 문서의 로딩이 끝나면'을 의미한다. 즉) html 문서가 로딩된 후 해당 함수를 실행시켜라. 라는 의미이다. document는 하나의 html 파일을 나타내는 트리의 루트 노드 객체라고 생각하면 될 것 같다. 그럼 이 코드는 언제 사용되는 걸까? 예제를 통해 알아보려 한다. 📑 js와 html 아래 코드에선..
-
[javaScript] jQuery로 코드 변경해보기 (html, css, class 제어, 이벤트리스너)프로그래밍 언어/JavaScript 2022. 11. 12. 12:53
제이쿼리는 웹사이트에 자바스크립트를 쉽게 활용할 수 있도록 도와주는 오픈소스 기반의 자바스크립트 라이브러리로, “write less, do more(적게 작성하고, 많은 것을 하자)”라는 모토로 2006년 미국의 SW 개발자 존 레식(John Resig)이 발표했다. javaScript보다 코드가 간결하기 때문에 종종 사용되는데 그 사용법을 간단하게 포스팅해보려고 한다. 📑 javascript -> jQuery 변경 기본 자바스크립트를 이용한 코드보다 코드 양이 절반으로 줄은 걸 확인할 수 있다. $는 querySelecctor와 동일하게 사용할 수 있다. 안녕 안녕2 안녕2 물론 css도 변경이 가능하다. css 속성값을 변경하려면 아래와 같다. $('.hello').css('color','red') ..
-
[JavaScript] alert 박스, onclick, function, EventListener 기초프로그래밍 언어/JavaScript 2022. 11. 11. 00:07
📑 자바스크립트로 html 변경 VSCode에서 Live Server 다운 후 코드 입력한 파일 우클릭 하고 아래 사진처럼 클릭 시 브라우저에 입력한 코드 결과 바로 보면서 작업할 수 있다. 자바스크립트를 이용하여 html의 문자를 변경하려고 한다. 어떻게 해야할까? 안녕하세요 위와 같이 html 태그에 id 값을 주고 스크립트 태그 안에서 태그 요소를 가져오고 html 문구를 바꿔주면 된다. 안녕하세요 안녕하세요 위의 예제를 살펴보면 getElementById로 요소의 id값을 가져오는 것은 동일하며, 각각 그 다음 dot(.)뒤에 원하는 작업을 적어주면 된다. 📑 기본적인 UI 만들기 웹 페이지에선 탭, 모달창, 서브메뉴 등 수백개의 동적 UI를 만들 수 있다. UI를 만드는 법은 아래와 같다. 📌 ..
-
[ch14 Stream] 스트림 생성과 연산, Optional<T>프로그래밍 언어/JAVA 2022. 11. 1. 18:07
📑 스트림(Stream) 이란? 지금까지 많은 수의 데이터를 다룰 때, 컬렉션이나 배열에 데이터를 담고 원하는 결과를 얻기 위해 for문과 Iterator를 이용해 코드를 작성해왔다. 그러나 이런 방식으로 작성된 코드는 너무 길고 알아보기 어렵다. 또 문제는 데이터 소스마다 다른 방식으로 다뤄야한다. 예를 들어 List를 정렬할때는 Collection.sort()를 사용해야하고, 배열을 정렬할 때는 Arrays.sort()를 사용해야한다. 이런 문제점들을 해결하기 위해 만든 것이 '스트림(stream)'이다. 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. 데이터 소스를 추상화하였다는 것은, 데이터 소스가 무엇이던 간에 같은 방식으로 다룰 수 있게 되었다는 ..
-
[JAVA] 열거형(enum)이란?프로그래밍 언어/JAVA 2022. 10. 24. 23:16
📑 열거형이란? 열거형은 여러 상수를 선언해야 할 때, 편리하게 선언할 수 있는 방법이다. 일반적으로 상수를 선언할 때 다음과 같이 하는데, 이처럼 상수가 많을 때는 코드가 불필요하게 길어진다. class Card{ static final int CLOVER=0; static final int HEART=1; static final int DIAMOND=2; static final int SPADE=3; static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; final int kind; final int num; Card(int kind, int num) { this.kind = kind; this.num = num..
-
[JAVA] TreeSet과 이진 탐색 트리프로그래밍 언어/JAVA 2022. 10. 15. 14:54
📑 TreeSet이란? TreeSet은 이진 탐색 트리(binary search tree)라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이다. 이진 탐색 트리는 정렬, 검색, 범위검색에 높은 성능을 보이는 자료구조이며 TreeSet은 이진 탐색 트리의 성능을 향상시킨 '레드-블랙-트리'로 구현되어 있다. Set 인터페이스를 구현했으므로 중복된 데이터의 저장을 허용하지 않으며 정렬된 위치에 저장하므로 저장순서를 유지하지도 않는다. 이진 트리는 링크드 리스트처럼 여러 개의 노드가 서로 연결된 구조로, 각 노드에 최대 2개의 노드를 연결할 수 있으며 '루트'라고 불리는 하나의 노드에서부터 시작해 계속 확장해나갈 수 있다. class TreeNode { TreeNode left; //왼쪽 자식 노드 Ob..
-
[JAVA] Object 클래스의 equals()와 hashCode() 재정의프로그래밍 언어/JAVA 2022. 10. 15. 01:15
자바 면접 질문에 equals와 hashcode의 차이점에 대한 문항이 있었다. 그때 hashCode에 대해 글로만 읽어봤었는데 자바 책 공부를 하다 equals와 hashCode를 목적에 맞게 같이 오버라이딩하는 것을 보고 다시 정확히 정리하기 위해 포스팅을 작성한다. 📑 Object 클래스의 메서드 - equals() 매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다. public boolean equals(Object obj) { return (this==obj); } 위의 코드는 Object 클래스의 정의되어 있는 equals 메서드의 실제 내용이다. 위 코드에서 알 수 있듯이 두 객체의 같고 다름을 참조변수의 값으로 판단한다. 그렇기 때문에 서로 ..