debugdaldal의 등록된 링크

키자드에 등록된 총 174개의 포스트를 확인하실 수 있습니다.

Tistory

[SPRING] DI 란...?

※ DI (Dependency Injection) 란? 의존성 주입이란 말로도 쓰이며 스프링 IOC 컨테이너 핵심 개념 중 하나이며 이미 다양한 프레임워크에 적용되어 있다. 객체 간의 의존 관계를 외부의 조립기가 관리 불필요한..

Tistory

[자바] 자바 리플렉션 (Java Reflection)

※ 정의 - 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API ※ 어떻게 가능할까? - 자바 클래스 파일은 바이트 코드로 컴파일되어 Static 영역에 위치..

Tistory

[JWT] JSON Web Token 소개 및 구조

※ JWT 정의 JSON Web Token(JWT) 은 웹표준(RFC7519) 으로서 두 개체에서 JSON객체를 사용하여 가볍고 자가수용적인(self-contained)방식으로 정보를 안정성 있게 전달해줍니다. ※ JWT 구조 Header, Payload, Si..

Tistory

[JWT] JSON Web Token JWT Process

※ JWT 프로세스 1.사용자가 id /password를 입력하여 로그인을 시도합니다. 2.서버는 요청을 확인하고 secret key를 통해 Access Token을 발급합니다. 3.JWT 토큰을 클라이언트에 전달합니다. 4.이후 JWT가 요구..

Tistory

[JWT] JSON Web Token - 서버기반/토큰기반 인증의 차이와 JWT의 장단점

※ 서버 기반 인증 기존의 인증 시스템에서는 서버측에서 유저들의 정보를 세션에 기억하고 있어야 합니다. 이 세션을 유지하기 위해서는 여러가지 방법이 사용되는데 메모리/디스크/데이터베이스 시스템에 이를..

Tistory

[JWT] JSON Web Token - AssessToken과 Refresh 토큰

JWT는 기본적으로 두 가지 토큰을 사용합니다. ※ Access Token API 요청을 허가하는데 사용합니다. 리소스에 직접 접근할 수 있도록 해주는 정보만을 가지고 잇습니다. 즉 클라이언트는 Access Token이 있어야 서..

Tistory

ORM과 JPA에 관하여

※ ORM(Object Relational Mapping) 객체와 DB의 테이블 매핑을 이루는 것을 말합니다. 좀 더 자세히 말하면 객체형 데이터(Java Object)와 관계형 데이터(Relational DataBase) 사이에서 개념적으로 일치하지 않..

Tistory

JPA에서 @Repository에서 쿼리를 사용할 떄 주의할 점

사용쿼리 @Repository public interface AuthRepository extends JpaRepository<Auth, Long> { Auth findByUserIdAndUserPassword(String userId, String userPassword); @Modifying @Transactional @Query("UPDAT..

Tistory

[JavaScript] ECMAScript 2015 / ES6 (1) / var, let, const

ECMAScript는 JavaScript 프로그래밍 언어를 정의하는 국제 표준의 기구이다. ECMAScript의 6번째 표준인 ES 2015에서 모던 프로그래밍 요소를 도입해 문법이 혁신적으로 바뀌었고 사용하기 편리해졌다. ※ 변수,..

Tistory

[JavaScript] ECMAScript 2015 / ES6 (2) / 클래스(Class)

ES6 클래스는 프로토타입 기반 객체지향 패턴을 더 쉽게 사용할 수 있는 대체재이다. 클래스 패턴 생성을 더 쉽고 단순하게 생성할 수 있어서 사용하기도 편하고 상호운용성도 증가된다고 한다. ※ 클래스 생성자..

Tistory

[JavaScript] ECMAScript 2015 / ES6 (3) / 화살표 함수

※ 기존 함수와 형태비교 function getDouble(num) { return num*2; } //화살표 함수 const getDouble = (num) => num*2; ※ 파라미터에 따른 화살표 함수의 형태 const noParam = () => "No Param"; const onePar..

Tistory

[Spring Batch] 스프링 배치 Mybatis + ( Oracle + MsSql ) 다중 DB 연동

기존 사용하던 배치는 Oracle이었다. 그리고 거기에 MsSql을 추가해야 할 일이 생겼다. 물론 될것같긴 했지만 확실하게 확인해보는게 좋을 것 같아 새 프로젝트에서 Oracle + MsSql 세팅을 간단히 해보고 정상적으..

Tistory

안전한 패스워드 저장 및 자바로 SHA-256 해싱 알고리즘 사용하기

일반적인 패스워드 저장방법 단순 텍스트 단방향 해시 함수의 다이제스트(digest) 단순 텍스트를 사용하고 있다면, 지금 당장 변경해야한다. 절대 해서는 안되는 일이다. 단방향 해시 함수는 수학적인 연산을 통해..

Tistory

[JavaScript] ECMAScript 2015 / ES6 (4) / Promise, async-await

※ 프로미스(Promise) 싱글쓰레드인 자바스크립트에서 비동기 처리를 위해서 콜백(callback)을 사용해 왔다. 그 결과 비동기 처리를 온전히 해낼 수 있었지만 이런 콜백이 사용되는 경우가 많아지면서 단점이 드러..

Tistory

순환(RECURSION)의 개념과 기본 예제3

※ 순환 알고리즘 설계(Design Recursion) 적어도 하나의 base case, 즉 순환되지 않고 종료되는 case가 있어야 된다. 모든 case는 결국 base case로 수령되어야 함. 암시적(implicit) 매개변수를 명시적(explicit..

Tistory

Recursion의 응용 [미로찾기1]

※ 재귀함수를 이용한 미로찾기 - 재귀함수를 이용하여 위의 미로의 형태에서 출구를 찾는 알고리즘을 구현 한다. - 문제에서는 findExit 메소드의 리턴값을 boolean으로 두고 출구가 있느냐 없느냐를 true, fals..

Tistory

Recursion의 응용 [Counting Cells in a Blob]

※ 문제 설명 private static int BACKGROUND_PIXEL = 0; private static int IMAGE_PIXEL = 1; private static int VISITED_IMAGE_PIXCEL = 2; private static int[][] grid ={ {1,0,0,0,0,0,0,1}, {0,1,1,0,0..

Tistory

[자바] 오버로딩 / 오버라이딩

※ 오버로딩이란? 메서드 이름이 같더라도 매개변수에 따라 하나의 메서드 이름으로 여러 기능을 구현할 수 있는 기능이다. ex) void println() void println(boolean x) void println(char x) void println(int x..

Tistory

[자바] 상속

※ 상속이란 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것 ※ 상속방법 class Child extends Parent{ ... } ※ 상속의 특징 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. 자손 클래스의..

Tistory

[자바] 제어자(Modifier)

※ 제어자란? 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다. ※ static '클래스의' 또는 '공통적인'의 의미..

Tistory

[자바] 다형성 (Polymorphism)

※ 다형성 다형성이란 '여러 가지 형태를 가질 수 있는 능력'으로써 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현 조상클래스 타입의 참조변수로..

Tistory

[자바] 추상클래스 (Abstract Class)

※ 추상클래스란? 추상 메서드를 포함하고 있는 클래스. 추상 클래스는 미완의 추상 메서드가 있는 클래스로써 추상클래스는 상속을 통해서 자손 클래스에서 구현이된다. ex) abstract class Car { //추상클래스 p..

Tistory

[자바] 인터페이스 (Interface)

※ 인터페이스란? 일종의 추상클래스로써 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질..

Tistory

[자바] 예외처리 (Exception)

※ 에러의 종류 - 컴파일 에러 : 컴파일 도중에 생기는 에러 (소스코드에 대한 오타, 잘못된 구문, 자료형 체크 등등) - 런타임 에러 : 실행 도중 생기는 에러 (컴파일 완료 후 시스템 실행시 생기는 에러) ※ 자..

Tistory

[자바] 인터페이스와 상속의 비교 및 정리

※ extends와 implements의 차이 - extends 상속을 뜻한다. 사전적 의미로는 확장,확대의 뜻을 가지고 있다. 코딩으로 치면 조상의 멤버(메서드, 변수 등)를 자식에서 그대로 물려받아 추가적으로 자식의 멤버를..

Tistory

[자바] 쓰레드(thread)

※ 프로세스와 쓰레드 프로세스(process) - 실행 중인 프로그램 (프로세스는 데이터, 메모리 등의 자원과 쓰레드로 구성되어있음) 쓰레드(thread) - 프로세스의 실제 작업을 수행하는 것 프로세스가 가질 수 있는..

Tistory

[자바] 네트워킹 (Networking)

※ 네트워킹이란? 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것. 컴퓨터들을 서로 연결하여 데이터를 손쉽게 주고받거나 또는 자원(프린터와 같은 주변기기)을 함께 공유하고자 하는 노력에서..

Tistory

[jQuery] jQuery 플러그인 그룹

※ 플러그인 그룹이란? - jQuery 플러그인을 만들다 보면 하나 이상의 연관된 플러그인을 만들게 된다. 이런 플러그인들간의 그룹을 플러그인 그룹이라 한다. 앞 글(jQuery 플러그인 제작)에서 jQuery플러그인을..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 기초

※ 절차지향 프로그래밍 vs 객체지향 프로그래밍 - 절차지향 프로그래밍 여러개의 작은 함수로 나누어 작성, 함수들을 원하는 순서에 맞게 작성하는 방식 전역데이터를 공유해 사용하므로 데이터가 잘못 처리될 수..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 - 추상화

※ 추상화란? 객체지향에서 추상화란 객체들의 공통적인 프로퍼티와 메소드를 뽑아내는 작업을 의미 ex) 동물을 추상화 했을때.. 먹다() 메소드와 배설하다() 메소드는 모든 동물들의 공통 메소드가 될 수 있지만..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 - 캡슐화

※ 캡슐화란? 일반적으로 연관 있는 변수와 함수를 클래스로 묶는 작업. 얼핏보면 그냥 클래스를 만드는 작업 이라고 생각 할 수 있다. 캡슐화에는 은닉성이란게 있어서 클래스에 담는 내용 중 외부에서 접근하지..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 - 상속

※ 상속이란? 부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 것. 상속을 받은 자식 클래스는 부모 클래스의 속성과 메서드를 사용할 수 있고 필요한 기능을 추가해 확장할 수 있다. ※ 상속의 기능 코드..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 - 다형성

※ 다형성이란? 다형성은 특정 기능을 선언(설계)부분과 구현(동작)부분으로 분리한 후 구현부분을 다양한 방법으로 만들어 선택하여 사용할 수 있게 하는 기능이다. 몇가지의 예를 들어보자 도형은 여러가지의 모..

Tistory

[JavaScript] 자바스크립트 객체지향 프로그래밍 - 합성

※ 합성이란? 필요한 기능을 직접 구현하는 것이 아니라 필요한 기능을 구현하고 있는 객체와 연결(합성)해서 기능을 사용하는 것. ※ 상속과 합성비교 상속과 합성 모두 기능을 직접 구현하지 않고 사용한다는 공..

Tistory

자바(Java Programming Language)의 특징과 JVM

※ 특징 운영체제 독립적 - JVM(자바가상머신)이 운영체제마다 이해할 수 있는 형태로 변환하여 전달하기 때문에 자바로 작성한 코드는 운영체제와 하드웨어에 종속되지 않고 실행된다. 객체지향 언어 - 객체지향..

Tistory

자바 API와 API 문서보는 법

※ API (Application Programming Interface) 란? - 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 - Java SE(JDK)를 설치하면 자바시스템을..

Tistory

JVM(자바가상메모리)의 메모리구조

※ JVM(자바가상메모리)의 메모리구조 이전 글에서 JVM은 운영체제에 상관없이 자바코드와 운영체제 사이에서 운영체제 맞게 변경시켜주는 역할을 한다고 했다. 하지만 이 외에도 응용프로그램이 실행되면 JVM은..

Tistory

[자바] 클래스

※ 클래스란? 객체지향 프로그래밍에서 로직과 데이터를 묶어놓은 하나의 단위 혹은 객체를 정의해놓은 것으로써 객체를 생성하는데 사용된다. ※ 클래스와 객체 위에서 말했듯 클래스는 객체를 생성할 때 사용된..

Tistory

알고리즘의 분석, 공간 복잡도, 시간복잡도

※ 알고리즘 분석 - 알고리즘의 실행 시간 및 기타 자원의 사용량을 분석 - 기타 자원으로는 메모리, 저장장치, 통신 등이 있다. - 알고리즘 분석에는 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexi..

Tistory

순환(RECURSION)의 개념과 기본 예제1

※ RECURSION? - 자기 자신을 다시 호출하는 메소드(재귀함수) - 무한루프에 빠질 수 있으므로 적어도 하나의 breaking point를 만들어준다. (Base Case) - recursion을 반복하다보면 결국 base case로 수렴해야..

Tistory

순환(RECURSION)의 개념과 기본 예제2

※ 순환적으로 사고하기(Recursive Thinking) - Recursion은 수학함수뿐 아니라 다른 많은 문제들도 해결 가능하다.(반복문) ※ 예제 - 글자 길이구하기 public class ex { public static void main(String[] args..

Tistory

[SPRING] log4sql을 이용한 쿼리 로그 출력

1.라이브러리를 다운받는다. https://sourceforge.net/projects/log4sql/files/ <== 라이브러리 다운 2.프로젝트에 라이브러리를 추가한다. 경로를 WEB-INF아래 lib 폴더를 추가하여 log4sql.jar를 복사한다음 프..

Tistory

[JavaScript&Query] DOM에 대해 알아보자

※ DOM 이란? Document Object Model의 약자로 문서를 객체로 표현하기 위한 표준으로 HTML, XML등의 문서로 표현할때 사용 하는 API 문서의 구조적 형태를 제공하므로 자바스크립트와 같은 스크립트 언어를 사용..

Tistory

[JavaScript&jQuery] 자바스크립트와 jQuery의 관계

※ 자바스크립트와 jQuery와의 관계 jQuery는 오직 자바스크립트 DOM 작업을 좀더 쉽게 도와주는 라이브러리 (자바스크립트 문법이나 라이브러리를 대체할 수 있는 새로운 프로그래밍 언어가 아니다!) $("#menu li..

Tistory

[JavaScript&Query] $(document).ready 와 window.onload의 차이

$(document).ready() 와 window.onload는 모두 웹페이지가 로드되면서 발생한다. ready()는 DOMContentLoaded 이벤트를 포함한 메서드로써 이 이벤트는 웹페이지를 읽은 후 태그와 1:1 매핑되는 DOM 객체를 생성한..

Tistory

[jQuery] $()란?

우리는 보통 jQuery를 쓸때 $("div).css("boder", "4px solid"); 와 같은 형태로 쓴다. 항상 앞에 $("CSS 선택자")의 형식으로 쓴다. 여기서 $()란 무엇을 나타내는 것일까? 바로 $()는 함수를 나타낸다. $ 함수..

Tistory

[jQuery] 노드 찾기

※ 노드찾기 1.아이디로 찾기 $("#아이디") 2.클래스 이름으로 찾기 $(".클래스 이름") 3.태그 이름으로 찾기 $("태그 이름") 4.속성옵션으로 찾기 $("속성옵션") 속성옵션 설명 $("[id]") 아이디가 적용된 모든..

Tistory

[jQuery] 찾은 노드 다루기

1.찾은 노드개수 구하기 $대상.length; ex) var nodeLength = $("div).length; 해당 html의 div 노드의 총 개수를 구함 2.찾은 노드중 n번째 노드 접근하기 $대상.eq(index); ex) var $div_3 = $("div").eq(3); 해..

Tistory

[jQuery] 자식 노드 찾기

자식노드 찾기는 전에 포스팅한 [jQuery] 찾은 노드 다루기 응용이므로 따로 설명하지 않겠다. 자식노드는 바로 한단계 하위 노드이며 그 이상의 하위노드는 자식노드라 하지않고 자손노드라 한다. 그런 노드들은..

Tistory

[jQuery] 부모 노드 찾기, 형제 노드 찾기

부모노드란 어떤 노드의 바로 한단계 위의 노드이고 그 이상의 노드들은 조상 노드라고 한다. 형제노드는 어떤 노드와 같은 단계의 노드를 형제 노드라고 한다. 1.부모 노드 찾기 $대상.parent() 2.조상 노드 찾기..

Tistory

[jQuery] 노드 생성/ 추가 / 삭제 / 이동

1.노드생성 var 신규노드 = $("신규 DOM"); ex) var $newNode = $("<li>New Node</li>"); DOM을 $()함수에 매개변수로 넣음으로써 jQuery객체로 return 받는다. 노드를 생성한다는게 DOM을 제이쿼리로 감싼다는 의..

Tistory

[jQuery] .on() 으로 이벤트 설정하기

.on()은 하나 혹은 하나 이상의 이벤트를 설정가능하다. ex1 $( "#dataTable tbody tr" ).on( "click", function() { console.log( $( this ).text() ); }); ex2 $( "#dataTable tbody" ).on( "click", "tr", func..

Tistory

[JQuery] 이벤트 다루기

※이벤트의 종류 마우스 이벤트 : 마우스를 사용했을 때 발생하는 이벤트 키보드 이벤트 : 키보드를 눌렀을 때 발생하는 이벤트 태그요소 고유 이벤트 : 엘리먼트마다 발생하는 고유 이벤트 ex)<img> 태그요소의..

Tistory

[jQuery] 좌표 개념, 위치(좌표) 다루기, 크기 다루기

※ 위치 개념 지역 좌표 : 부모 노드 기준 좌표 전역 좌표 : 최상위 노드인 document의 left, top 위치가 0으로 시작 ※ 위치다루기 지역 좌표 구하기 $대상.position().left / $대상.position().top ex) $("chil..

Tistory

[JavaScript] 자바스크립트 클래스 (1)

클래스의 개념은 자바를 해봤다면 알고 있을 것이다. 자바스크립트는 객체지향 프로그래밍 언어에서 기본적으로 제공하는 클래스라는 개념을 제공하지 않는다. 하지만 자바스크립트에서는 클래스처럼 사용할 수 있..

Tistory

[JavaScript] 자바스크립트 클래스 (2)

※ 함수단위 코딩 vs 클래스 단위 코딩 - 함수 단위 코딩을 하든 클래스 단위 코딩을 하든 같은 결과물이 나올 수 있다. 하지만 굳이 어려운 클래스 코딩으로 해야하는 이유는 무었일까? 함수단위의 코딩은 동일한..

Tistory

[jQuery] jQuery 플러그인 제작

※ 유틸리티? 플러그인? 유틸리티 : 인스턴스를 생성하지 않고 클래스에 직접 접근해 도움을 주는 기능 플러그인 : 인스턴스를 생성하여 사용하고 특정 기능을 재사용하고자 할 때 사용하는 포장 기능 ※ jQuery..

Tistory

[안드로이드] Back(뒤로가기) 버튼 2번 터치시 앱 종료하기

Back 버튼은 컨트롤 하는 메소드는 바로 onBackPressed()이다. 전역변수로 시간에 관한 변수들을 설정해 놓는다. private final long FINISH_INTERVAL_TIME = 2000; private long backPressedTime = 0; 그런 후 on..

Tistory

[안드로이드] EditText 자동 포커스, 키보드 자동실행 막는법, 키보드 실행시 화면 사이즈 재설정

레이아웃에 EditText가 있으면 자동 포커스, 키보드 자동실행이 된다. 또한 아래에서 키보드가 올라오면 레이아웃의 화면을 가리기때문에 키보드가 올라온 만큼 화면의 사이즈를 다시 설정해줄 필요가 있다. 1. Ed..

Tistory

[안드로이드] 스크롤뷰 스크롤 끝까지 내리기

이런식으로 써줘야 동적으로 뷰를 추가한 레이아웃에도 스크롤이 끝까지 내려간다. scrollViewName.fullScroll(ScrollView.FOCUS_DOWN); 이부분 한줄만 사용한다면 뷰가 추가되기 전의 영역까지만 스크롤이 내려간..

Tistory

[안드로이드] 특정 Activity에서 다른 Activity의 ListView새로고침하기

1.새로고침하고자 하는 Activity의 Context를 전역변수로 만들어 준다. public static Context CONTEXT; 2.onCreate 부분에서 Context의 값을 지정해준다. CONTEXT = this; 3.다른 Activity에서 위의 Context의 on..

Tistory

NOT IN의 함정... 조건은 맞는데 데이터가 안나올때..

문제의 쿼리... SELECT * FROM TABLE_NAME WHERE UPPER_CODE NOT IN ( SELECT UPPER_CODE FROM TABLE_NAME ) 이런식으로 두 UPPER_CODE라는 항목을 비교했는데 데이터를 일일이 비교해보고 조건이 맞는데도 IN은..

Tistory

데이터베이스 유저 생성 및 DBA 권한주기

1.유저생성 create user USERID identified by PW defualt tablespace users temporary tablespace temp; 2.DBA 권한주기 grant dba to USERID

Tistory

[오라클] SQL Loader 사용법 (.dat파일을 DB에 임포트 해보자)

이번에 엄청난 데이터를 받았다... 몇백만 건이 넘는 .dat파일 세개... 이럴때 바로 SQL Loader를 쓰면 엄청난 양의 데이터, 그리고 .dat확장자를 가진 데이터를 빠르고 쉽게 테이블에 삽입할 수 있다. ※ SQL Loa..

Tistory

[오라클] SQL Plus를 이용한 대용량 데이터 export

이번에 일을 하면서 천만건이 넘는 자료를 임포트와 익스포트하다 보니 툴에서 지원하는 기능으로는 한계가 있었다. 그래서 export 는 sqlplus 를 이용하고 import는 sqlloader를 이용하여 작업하였다. sqlloader..

Tistory

[안드로이드] 알람 및 알람 리시버 구현/ 특정 시간, 특정 요일에 울리게 하는 알람

※ 재미로 만든 첫 어플의 기능 중 알람 시계 어플 처럼 지정한 요일에 지정한 시간에 알람을 울리게 하는 기능이 필요했다. 소스는 다음과 같다. 1.소스 코드 내에 알람을 설정하는 코드를 생성 setAlarm() 함수..

Tistory

[안드로이드] 캔버스를 이용한 원형차트 만들기

위와같이 성공한 만큼 빨간색으로 표시해 주는 원형 그래프를 캔버스를 이용해 만들려고 한다. public class CircleChart extends View { ArrayList<WritingVO> writing; int x; int y; public CircleChart(Conte..

Tistory

[SPRING] 스프링 기본 프로젝트 파일 분석

1) src/main/java는 소스 코드가 모여있는 디렉토리. 2) src/main/resources는 스프링 설정파일이나 쿼리가 저장될 디렉토리 3) servlet-context.xml, root-context.xml 파일은 서블릿 관련 설정파일이다. 4) web..

Tistory

[SPRING] web.xml , root-context.xml , servlet-context.xml 에 관하여...

1) web.xml 설정을 위한 설정파일이다. 배포 기술자로써 영어로는 DD(Deployment Descriptor) 이다. 이 파일은 WAS(Web Application Server)가 최초 구동될 때 즉 톰켓이 최초 구동될 때 web.xml을 읽고 그에 해당..

Tistory

[SPRING] DispatcherServlet에 관하여...

※ DispatcherServlet 이란? 프론트 컨트롤러(Front Controller) 이다. Servlet 컨테이너에서 HTTP 프로토콜을 통해 들어오는 모든 요청을 제일앞에서 처리할 수 있는 컨트롤러. ※ 동작 방식 자바 서버의 서블릿..

Tistory

[SPRING & GIT] 이클립스 / 스프링 프로젝트 GitHub(깃허브)와 연동하기

1) 깃허브 홈페이지에 들어가 이클립스의 프로젝트와 연동하기 위한 repository를 생성한다. 2) 이클립스를 실행한 후 아래 버튼을 누른다. 3) Clone a Git repository를 클릭한다. 4) Clone a Git repository를..

Tistory

[SPRING] 마리아(Maria)DB연동 및 Mybatis 설정하기

※ 순서 1. pom.xml에 관련 라이브러리 추가하기 2. root-context.xml에 bean 설정하기 3. mybatis관련 config파일과 쿼리가 작성될 파일 생성하기 4. DB가 연동이 됐는지 테스트 하기 ※ 구조 프로젝트의 구조는..

Tistory

06. 비교, 병합 외부 도구 연결

소스트리에서 기본적으로 지원하는 비교,병합 툴은 보기가 너무 불편하다. 그래서 우리는 외부의 비교,병합 툴을 연결하여 사용 할 수 있는데 Git에서는 이러한 외부 툴을 diff라고 한다. 이러한 diff 의 종류로는..

Tistory

07. STASH

stash 1. (안전한 곳에) 넣어 두다 2. 챙겨 둔 양 무엇을 안전하게 넣어둘까?? 커밋하지 않은 아직 끝나지 않은 작업을 안전한 곳에 넣어둔다! ex) 아직 커밋하지 않은 내용을 임시로 저장해 두는 기능 예를들어..

Tistory

08. 태그

※ 태그란? 버전들 안에서도 의미있는 기념할만한 버전들이 있다. 그러한 것들을 별도로 관리하고 표시해 줘야한다. 이러한 것을 해주는 것이 태그이다. 태그를 이용해서 그 태그부터 시작하는 브랜치를 만들 수..

Tistory

09. 환경파일, 보안관련 파일 관리

※ Ignore 우리가 DB에 접속할 때 id와 pw를 알고 있어야 한다. 허나 이런 DB의 id와 pw는 외부에 노출이 되면 안된다. 하지만 이러한 환경설정을 해놓은 파일은 반드시 필요하다. 그래서 Github에 올릴때 Ignore..

Tistory

[자바스크립트]타이머 설정

setTimeout(function(){ 변경사항 }, 3000); //(function(){ 변경사항}, 시간) function()함수가 3초후에 실행된다. 즉 3초후에 변경할 내용을 function함수 안에 작성하면 된다.

Tistory

[프로그래머 삶] 개발자는 왜 야근을 해서 소중한 시간을 버리는가?

‘프로그래머 삶’ 홈페이지에 게재된 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다. 이미지: shutterstock 2012년에 웹서핑을 하다가 우연히 카페인에 중독된 미국 개발자 ‘러셀 볼’ 블로그에 들어가..

Tistory

나쁜 프로그래머가 되는 18가지 방법

나쁜 프로그래머가 되는 18가지 방법 소프트웨어 개발자는 끊임없이 변화하면서 성장한다. 스스로 길을 잘 찾아서 성장하는 경우도 있고, 좋은 환경에서 개발을 하다 보니 자연스럽게 실력이 향상되기도 한다. 하..

Tistory

개발자가 갖추어야할 9가지 기술

해당 개발자가 게임 개발자 이므로 게임쪽으로 초점이 맞춰저 있을 수 있음. Hard Skils Basic Knowledge (언어, OS) Understanding for product (제품에 대한 이해) Development Cycle (개발 사이클) 1~5 years o..

Tistory

좋은코드 작성법

※ 다른사람의 코드를 보다보면 물흐르듯 쉽게 읽히는 코드가 있고 그렇지 않은 코드가 있다. 이런걸 직접느껴보니 코딩을 어떻게 하느냐가 정말 중요하다고 생각하던 찰나에 서점을 돌다 우연히 발견한 이책 박진..

Tistory

[안드로이드] dp, dip, sp, px의 차이

※ 웹만 해보다가 안드로이드 퍼블을 맨처음 했을 때 위젯들의 크기를 px로 지정했다. 하지만 이런식으로 지정을하면 해상도가 다양한 핸드폰 화면에서는 내가 원하는 크기와 위치로 지정되지가 않는다. 그렇기 때..

Tistory

[안드로이드] 레이아웃 중첩, 겹치기

※ 안드로이드 개발을 하다보면 alert dialog는 아닌데 지금 있는 레이아웃 위에 alert dialog처럼 보여줘야 할때가 있다. (dialog는 커스터마이징 해도 테두리를 없앨수가 없다. 그렇기 때문에 레이아웃을 겹쳐..

Tistory

[안드로이드] 레이아웃 중첩, 겹치기 삭제

※ 아래 글에서 레이아웃을 중첩시켰으면 언젠간 중첩시킨것도 없애야 한다. 중첩된 레이아웃을 지우는 방법은 아래와 같다. (전) (후) LinearLayout ll = (LinearLayout)findViewById(R.id.삭제할_레이아웃_아이..

Tistory

[안드로이드] dp, dip, sp, px의 차이

※ 웹만 해보다가 안드로이드 퍼블을 맨처음 했을 때 위젯들의 크기를 px로 지정했다. 하지만 이런식으로 지정을하면 해상도가 다양한 핸드폰 화면에서는 내가 원하는 크기와 위치로 지정되지가 않는다. 그렇기 때..

Tistory

[안드로이드] dp -> px / px -> dp로 변환하기

※ 소스코드 내에서 dp 에서 px로 바꾸거나 px 에서 dp 로 바꿀때 //px -> dp public int fn_pxToDp(Context context, int px){ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); in..

Tistory

[자바] 자바를 이용한 날짜처리

String last_login_date ="2016-12-21 09:40:30" SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //현재날짜 Date sysDate = new Date(); //비교하려는 날짜를 형변환 한다. Date lastL..

Tistory

[SPRING SECURITY] 1.스프링 시큐리티 기본세팅

1) 라이브러리 다운 - 스프링 시큐리티 라이브러리를 다운받아야 한다. 일반적인 스프링에서는 pom.xml에 다운받으려는 스프링 시큐리티 설정을 추가하면 된다. - 해당 설정은 스프링 공식홈페이지(https://spring..

Tistory

[SPRING SECURITY] 2.스프링 시큐리티 security-context.xml 알아보기

- 스프링 시큐리티는 어떤 웹페이지에 접속할 때에 접속자의 권한을 반드시 확인하고 권한에 맞는 페이지만 보여준다. 아래 예제를 보자, 이 예제는 구글링해서 찾은 security-context.xml의 예제이다. 간단히 예..

Tistory

[SPRING SECURITY] 3.스프링 시큐리티 로그인 커스터마이징

1) 커스터 마이징을 위한 security-context.xml 속성들 - 스프링 시큐리티는 <form-login> 속성을 이용하면 해당 페이지에서 로그인 할 수 있도록 한다. login-page 로그인 페이지 주소를 지정 username-parameter..

Tistory

[SPRING SECURITY] 4.스프링 시큐리티 로그인 커스터마이징

1) 커스터 마이징을 위한 .java, .jsp CustomAuthenticationProvider.java (DB에서 사용자 불러와 권한조회 하기) - <authentication-manager>에 추가한 클래스로써 권한확인 작업을 한 후 return result;를 하면..

Tistory

[SPRING] 빈(Bean) 관련해서 오류가난다면?

- 빈관련 오류가 난다면 이클립스 프로젝트 아래에 Spring Elements에서 해당 빈이 생성됐는지, 어떻게 어디에 생성 됐는지를 확인해보자. 각각의 context마다 생성된 빈을 보여준다. 해당 빈이 생성된 위치라던가..

Tistory

01. 웹프로그래밍

1.웹 기본개념 - 프로토콜 : 네트워크상에서 약속한 통신규약 (http, FTP, SMTP ... 등등) - IP : 네트워크상에서 컴퓨터를 식별할 수 있는 주소 - DNS : IP주소를 사람이 쉽게 외우도록 맵핑한 문자열 - 포트 : I..

Tistory

02. JSP/Servlet

JSP란? - 자바를 기반으로 하고 있는 스크립트 언어 JSP 특징 - 동적 웹 어플리케이션 컴포넌트 - .jsp 확장자 - 클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용 - jsp는 서블릿으로 변환되어 실행 -..

Tistory

01-1. Git 기본 소개

※ 버전 관리 시스템(Version Control System) = 형상관리, 소스관리 버전이란? - 의미있는 변화들(기능의 개선, 버그수정, 고객의 요구사항에 맞게 소프트웨어를 커스터마이징하여 제공했다 등등) 버전 관리 시스..

Tistory

01-2. 저장소 만들기

※ 이렇게 저장소 Repository를 생성한 후 3번에서 선택한 폴더에 버전관리를할 파일을 넣어서 관리한다.

Tistory

01-3. 버전 만들기(commit)

※ Git과 SVN에서의 커밋의 차이점 - 내가 그동안 써오던 SVN은 커밋을 하면 중앙Repository(서버)에 저장이 되었다. 하지만 Git에서 커밋은 중앙Repository가 아닌 내 PC 즉 로컬에 새 버전을 저장시키는 것이다...

Tistory

02. 되돌리기

※ WorkingCopy Index Repository 새로 만든 파일들은 최초의 Commit 전에는 Git에서 관리해주지 않는다. 새 파일의 내용이 변하던 변하지 않던 그 파일은 그저 새 파일로만 간주 될 뿐이다. 소스 트리에서 Commit..

Tistory

03. 브랜치(Branch)

※ 브랜치란? 소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함께 공유하고 다루게 됩니다. 동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기..

Tistory

04. 원격저장소

※ 원격저장소의 종류 https://github.com/ (깃허브) https://about.gitlab.com/ (깃랩) ※ 원격저장소 만들기(github 기준) 1.github 페이지에서 원격저장소 만들기 2.소스트리에서 원격저장소와 연결하기 3...

1 2