분류 전체보기
-
SQL 쿼리문에서 WHERE 1=1을 사용하는 이유DB 2020. 12. 24. 00:13
개발을 하거나 다른 코드를 보고 있으면, 쿼리문에서 WHERE 1=1 처럼 작성된 것을 볼 수가 있을 것이다. SELECT column_1, column_2, ... coulmnN FROM your_table WHERE 1=1 AND your_condition="something" ... 사실 1=1 은 무조건 true 이기 때문에 이 조건은 매우 쓸데없는 것처럼 보인다. 물론 2=2 또는 100=100 따위를 써도 코드는 그대로 작동한다. 이렇게 조건을 주는것은 동적 쿼리를 만들때이다. 수많은 쿼리를 만들다 보면 첫번째 조건에 어떤 것이 올지 몰라서 젤 먼저 1=1 같은 무의미한 조건을 걸어두고, 이후에 AND로 조건들을 쭉 붙이기 위해 사용하는 것이다. 이렇게 쓰지 않으면 쿼리마다 형태가 다르게 될 ..
-
[JavaScript] 간단한 비동기 애플리케이션, 왜 promise를 쓰는지 맛만 보기, 콜백함수JavaScript 2020. 12. 22. 00:42
자바스크립트 공부하는데 비동기, 콜백함수 관련 개념이 많이 나와서 간단히만 정리해보려고 한다. 물론 자세하게 쓸 지식도 없지만(...) 이후에 개념이 정립이 되면 다시 정리하려고 한다. 일단 비동기의 동작에 대해 설명하면, 1번 작업과 2번작업이 동시에 실행되는 것이다. 또는 1번과 2번이 순차적으로 실행되지 않는 것이라고도 할 수 있다. 이렇게 말하면 어렵게 느껴지지만 간단한 코드를 보자. console.log("1번 작업"); setTimeout(function() { console.log("2번 작업"); }, 3000); console.log("3번 작업"); 비동기 개념을 모를때는 "1번 작업", "2번 작업", "3번 작업"이 순차적으로 실행될거라고 생각할 것이다. 하지만 생각과는 다른 결과가..
-
데이터를 조회할 수 없습니다. 계속 조회가 안 될 경우 고객센터로 문의해 주세요. (구글 애드센스, 카카오 애드핏 - 다시 조회하기 뜨는 경우)life 2020. 12. 21. 17:22
데이터를 조회할 수 없습니다. 계속 조회가 안 될 경우 고객센터로 문의해 주세요. (구글 애드센스, 카카오 애드핏 - 다시 조회하기 뜨는 경우) 위 사진처럼 티스토리에서 Google Adsense 와 kakao AdFit 관리 화면이 제대로 출력되지 않는 경우가 있다. 나같은 경우 원인은 해당 블럭이 광고로 인식되었기 때문이었다. Chrome 브라우저에 AdBlock 플러그인을 설치해서 사용하고 있어서 해당 블럭에서 문제가 생긴 것이다. 본 포스팅은 AdBlock을 사용하던 환경에서 일어난 문제이지만, 광고를 차단하는 다른 플러그인이나 브라우저가 있는 경우에도 같은 오류가 발생할 수 있다. 따라서 같은 문제를 겪는 사용자는 광고 및 리소스 차단 여부를 확인해보는 것이 필요하다.
-
Build path specifies execution environment JavaSE-1.8. There are no JREs installed in the workspace that are strictly compatible with this environment.삽질 2020. 12. 3. 10:21
Build path specifies execution environment JavaSE-8. There are no JREs installed in the workspace that are strictly compatible with this environment. Java 8버전의 라이브러리를 선택했으나 설치된 JRE가 없다고 한다. 일단은 환경변수가 설정되어있는지부터 확인한다. JAVA_HOME과 Path에 각각 설정이 잘 되어있다. CMD에서 Java -version으로 확인해도 1.8이라고 잘 나온다. 그렇다면 문제는 이클립스에서 라이브러리 인식을 못한다는 뜻이다. 이클립스로 돌아가서 Window -> Preference -> Java -> Installed JREs 로 진입하면 설치된 라이브러..
-
DB 쿼리 명령어 공부 1DB 2020. 12. 2. 17:32
SELECT DATABASE(); SHOW DATABASES; - SQL 스키마에 있는 데이터베이스들을 조회하기 SELECT USER(); - 유저 목록 조회하기 CREATE DATABASE dbName; - 데이터베이스 생성하기 DROP DATABASE dbName; - 데이터베이스 삭제하기 CREATE USER 'username'@'hostname' IDENTIFIED BY 'password'; - username의 id와 password를 가진 유저 생성. hostname에는 localhost나 서버 ip주소가 들어간다. GRANT ALL PRIVILEGES ON *.* TO 'user'@'hostname' : 모든 권한을 user에게 부여한다. 이외에도 선택해서 권한을 부여할 수 있다. FLUSH..
-
Linux 관련 명령어 암기study 2020. 12. 2. 16:51
sudo : superuser do을 줄인것으로, 슈퍼유저로서 프로그램을 구동할 수 있게 해준다. ex) root가 아닌 사용자가 root에 준하는 능력으로 뒤의 명령어들을 실행 pwd : 현재 위치하고 있는 디렉토리 표시 cd path : change directory를 줄인것으로, 현재 위치하고 있는 디렉토리를 변경할 때 쓴다. cd 뒤에 주소를 입력하고, 상위 폴더로 가기 위해서는 cd .. 를 입력한다. vi filename : unix 운영체제에서 기본으로 제공되는 편집기로 명령모드와 삽입모드가 있다. 관련 내용 : www.cs.colostate.edu/helpdocs/vi.html Basic vi Commands Nyy or yNy copy (yank, cut) the next N lines,..
-
간단하게 React Hooks 사용해보기study 2020. 11. 30. 22:07
오늘은 React의 Hooks를 사용해볼 것이다. Hooks를 썼을 때, 기존에 사용하던 class형 컴포넌트에 비해 짧고 직관적인 코딩을 할 수 있게되고, 함수형 프로그래밍 또한 가능하게 해준다고 한다. 정말 간단한 애플리케이션으로 확인해보자. 숫자를 표시해주고 plus 1 버튼을 누르면 숫자가 1이 증가한다. 이런 애플리케이션을 React로 만든다면 코드는 대략 아래와 같을 것이다. class App extends Component { state = { count:0 } plus = (x) => { this.setState({ count:x }); } render() { const { count } = this.state; return ( {count} this.plus(count+1)}>plus 1..
-
Spring Boot 프로젝트 빌드하기Java 2020. 11. 25. 20:47
메뉴 File -> New -> Other 선택 후 Spring Boot의 Spring Starter Project로 만들어준다. 프로젝트 이름, 자바 버전을 확인하고, Web Application을 만들것이기 때문에 Packaging은 War파일로 설정해두었다. Dependencies에서 필요한 기능들을 먼저 추가할 수 있는데, pom.xml에 직접 추가하지 않아도 미리 선택해놓을 수 있다. 나는 기본적으로 devTools와 Spring Web을 추가했다. devTools는 여러가지 기능이 있는데 캐싱이나 코드 변경시에 서버 재시작, React의 Hot Reload처럼 JS파일 수정시 브라우저가 리로드 되어서 개발할 때에 편의성을 높여준다. 이 외에도 나중에 필요한 기능이 생겼을 때는 pom.xml에 ..