전체 글
[TIL] Java 타입 변환, 연산자, 조건문, 반복문, 배열
✍ Today I Learned [타입 변환 Type Conversion] Casting이란? 데이터 타입을 변환하는 것이다. 형식과 크기가 다르기 때문에 변환이 필요할 때가 있다. 자바에는 2가지 유형의 Casting이 있다. Widening Casting (automatically) - 더 작은 유형을 더 큰 유형 크기로 변환(묵시적 형 변환) byte -> short -> (char) -> int -> long -> float -> double Narrowing Casting (manually) - 큰 유형을 작은 크기 유형으로 변환(명시적 형 변환) double -> float -> long -> int -> char -> short -> byte int num1 = 1, num2 = 4; dou..
[TIL] Java 개발 환경 설정, 데이터 타입, 입출력
✍ Today I Learned 자바로 개발하기 위해서는 통합개발환경이 필요하다. (이클립스, 안드로이드 스튜디오) 통합개발환경에는 자바 컴파일이 포함되어 있지 않으므로 JDK라는 별도의 개발 도구를 설치해야 한다. JDK란? Java SDK(Software Development Kit)의 줄임말로 자바 개발 도구 모음을 의미한다. (자바 라이브러리, 컴파일러, JRE(JVM, Java Plugin, 유틸리티) 등을 포함) JVM이란? Java Virtual Machine의 줄임말로 자바 바이트코드를 해석하고 실행한다. 자바는 WORA(Write Once Run Anywhere)를 구현하기 위해 물리적인 머신과 별개의 가상 머신을 기반으로 동작하도록 설계되었다. 따라서 자바 바이트코드를 실행하고자 하는 ..
[TIL] JS 제이쿼리 기본 문법
✍ Today I Learned 제이쿼리(jQuery)란? 자바스크립트 언어를 간편하게 사용할 수 있도록 단순화시킨 오픈 소스 기반의 자바스크립트 라이브러리이다. “write less, do more!” 자바스크립트의 코드를 간결하게 표현할 수 있어 굉장히 많이 사용되던 라이브러리지만 수행 속도 등의 문제로 현재는 걷어내는 추세이다. 제이쿼리를 적용하는 방법에는 2가지이다. CDN(Content Delivery Network)을 이용하는 방법 직접 다운받는 방법 Production version - 압축되어 있는 웹사이트용 Development version - 테스트 및 개발용 Slim version - 가볍지만 ajax 기능 없음 주로 head 태그 안쪽에 작성하거나, body 태그 안쪽 script..
[TIL] JS 숫자 야구 게임 with 서버
✍ Today I Learned 브라우저에서만 저장되던 숫자 야구 게임을 fetch 함수로 비동기 서버 통신을 이용해 데이터베이스에 저장해보았다. 이전에는 Map 객체를 이용하여 유저의 데이터를 저장하였는데 접근성을 생각하며 Array + Object 조합으로 변경하였다. 서버에 전달할 유저의 객체 데이터는 다음과 같이 가공하였다. userObj = { name: 닉네임, description: 등급, price: 기록, category_id: 시도횟수, created: 게임종료시간 }; 닉네임은 게임 시작 전 사용자에게 입력받는다. 등급은 시도 횟수를 기준으로 1회 - S등급, 2~3회 - A등급, 4~5회 - B등급, 6~7회 C등급, 이후는 D등급으로 나누었다. 기록을 받는 price의 타입이 in..
[TIL] JS fetch 비동기 통신을 이용한 CRUD
✍ Today I Learned [Read] 서버와 통신하여 가져오는 데이터의 개수를 알 수 없기 때문에 html의 item card를 미리 만들어 놓는 것이 아니라 1개의 card를 데이터 개수만큼 찍어내야 한다. 대략적인 흐름 [클라이언트가 서버에 데이터 요청 -> 서버가 데이터베이스에서 요청된 데이터를 받아옴 -> 그걸 string으로 클라이언트에게 보냄 -> 프론트에서 데이터의 개수만큼 html을 생성 -> 화면단에 출력] button 타입이 submit 일 경우 자동으로 페이지 이동이 되기 때문에 preventDefault() 메서드를 이용해 기본 속성을 막아주어야 한다. [Read - Detail] 비표준 속성(Non-Standard Attribute)이란? html 태그의 속성이 제한적이므로..
[TIL] JS 콜백, 비동기, Promise, fetch, 서버 세팅
✍ Today I Learned 콜백 함수(Callback function)란? 다른 함수에 인수로 전달되는 함수이다. 콜백 함수는 다른 함수가 완료된 이후에 실행된다. (이때 괄호는 사용하지 않는다.) 외부 리소스를 로드하는 함수를 생성하면 완전히 로드되기 전까지는 그 콘텐츠를 사용할 수 없다. 이럴 때 콜백 함수를 사용한다. Promise 객체란? 실행에 시간이 걸리는 코드와 결과를 기다려야 하는 코드를 연결해주는 객체이다. 데이터 통신에 사용된다. let myPromise = new Promise(function(myResolve, myReject) { // "Producing Code" (May take some time) myResolve(); // when successful myReject(..
[TIL] JS DOM 이벤트, 이벤트 리스너, 노드, Easy PHP
✍ Today I Learned [Travel] 다시 만들어보기 이벤트가 발생하는 대상과, 바뀌어야 하는 대상, 이벤트 시점을 잘 생각하자. 변경해야 하는 css가 많은 경우 미리 class를 만들어 놓고 상황에 맞게 add(), remove() 메서드를 사용한다. 뭔가 찝찝하다 싶으면 항상 더 좋은 코드가 무엇인지 고민하기. HTMLCollection은 forEach() 메서드를 지원하지 않기 때문에 getElementByClassName()으로 불러온 값은 forEach() 메서드를 사용할 수 없다. (querySelectorAll()은 가능) [로그인 유효성 검사] onkeydown - 버튼이 눌렸을 때(input 요소에 글씨가 나타나기 전) onkeyup - 버튼이 올라왔을 때(input 요소에 ..
[TIL] JS HTML DOM
✍ Today I Learned DOM(Document Object Model)이란? XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스이다. W3C 표준 객체모델이고, 다음과 같은 계층구조로 표현된다. W3C DOM 표준은 3가지 모델로 구분된다 1) Core DOM 2) HTML DOM 3) XML DOM 자바스크립트는 Document 객체를 이용하여 HTML, CSS 대부분의 요소에 접근, 변경할 수 있다. document.getElementById("id")는 무엇을 return 하는가? 주소 값, 엘리먼트, 객체, 태그 (전부 비슷한 의미) getElementById - 단일 Element를 return / getElementsByTagName - 복수 Elements를 return(HT..