728x90
반응형

전체보기 2040

URI, URL 및 URN의 차이점

질문 : URI, URL 및 URN의 차이점은 무엇입니까? 사람들은 URL , URI 및 URN에 대해 서로 다른 것처럼 이야기하지만 육안으로는 동일하게 보입니다. 그들 사이의 구별 가능한 차이점은 무엇입니까? 답변 RFC 3986에서 : URI는 로케이터, 이름 또는 둘 다로 추가로 분류 될 수 있습니다. "Uniform Resource Locator"(URL)라는 용어는 리소스를 식별하는 것 외에도 기본 액세스 메커니즘 (예 : 네트워크 "위치")을 설명하여 리소스를 찾는 수단을 제공하는 URI의 하위 집합을 의미합니다. "URN (Uniform Resource Name)"이라는 용어는 역사적으로 "urn"체계 [RFC2141] 하에서 두 URI를 지칭하는 데 사용되었습니다.이 두 URI는 자원이 더..

Git 저장소에 빈 디렉터리를 추가하는 방법

질문 : Git 저장소에 빈 디렉터리를 추가하려면 어떻게해야합니까? Git 저장소에 파일이없는 빈 디렉토리를 추가하려면 어떻게해야합니까? 답변 (저장소에서) 디렉토리를 (거의) 비워 두는 또 다른 방법은 다음 네 줄을 포함 .gitignore # Ignore everything in this directory * # Except this file !.gitignore 그러면 m104의 솔루션 에서 수행해야하는 방식으로 올바른 순서를 얻을 필요가 없습니다. 이는 또한 git 상태를 수행 할 때 해당 디렉토리의 파일이 "untracked"으로 표시되지 않는 이점을 제공합니다. @GreenAsJade 의 댓글을 지속적으로 만들기 : 나는이 솔루션이 질문이 요구 한 바를 정확하게 수행한다는 점에 주목할 가치가 ..

개발관련/Git 2021.06.01

JavaScript에서 모든 문자열을 바꾸는 방법

질문 : JavaScript에서 모든 문자열을 바꾸는 방법내 JavaScript 코드에이 문자열이 있습니다."Test abc test test abc test test test abc test test abc" 하기:str = str.replace('abc', ''); 위의 문자열에서 abc 의 첫 번째 항목 만 제거하는 것 같습니다.모든 항목을 어떻게 바꿀 수 있습니까?답변업데이트 : 가장 많이 사용되는 브라우저의 최신 버전에서 다음과 같이 replaceAlllet result = "1 abc 2 abc 3".replaceAll("abc", "xyz"); // `result` is "1 xyz 2 xyz 3" 하지만 대상 브라우저가 먼저 지원을 추가했는지 확인하려면 먼저 또는 다른 호환성 표를 사용할 ..

GUID / UUID를 만드는 방법

질문 : GUID / UUID를 만드는 방법JavaScript에서 전역 적으로 고유 한 식별자를 만들려고합니다. 모든 브라우저에서 어떤 루틴을 사용할 수 있는지, 내장 난수 생성기를 "무작위"하고 시드했는지 등을 잘 모르겠습니다.GUID / UUID는 32 자 이상이어야하며 ASCII 범위에 있어야 전달시 문제가 발생하지 않습니다.답변RFC 4122 에 따르면 GUID (Globally Unique IDentifier)라고도하는 UUID (Universally Unique IDentifier)는 특정 고유성 보장을 제공하도록 설계된 식별자입니다.몇 줄의 JavaScript 코드에서 RFC 호환 UUID를 구현할 수 있지만 (예 : 아래 @broofa의 답변 참조) 몇 가지 일반적인 함정이 있습니다.잘못된..

[이클립스, Git] 이클립스 Git 연동했는데 새로 생성한 파일들이 인식이 안 될 때

오늘 팀프로젝트 진행하다 겪은 헤프닝 입니다 새로 생성한 salesInfo.jsp 가 비활성화 되어있다 .gitignore 에 추가한 파일도 아닌데 인식이 안되길래 혹시 몰라 클래스파일, xml, js 파일 다 해봤는데 새로 생성한 파일이 죄다 인식이 안되서 멘붕왔었는데 살펴보니 .gitignore 파일이 두개 들어있었습니다. 그래서 맨 바깥에 있는 .gitignore 파일을 제거하고 프로젝트 클린, 메이븐 업데이트를 진행하고나니 .. 그대로 비활성화 되있어서 자포자기로 새로 파일을 또 만들었는데 갑자기 인식이 됬습니다 ㅠㅠ 그전에 인식 못하던 파일 이름으로는 안되는데 다른 이름으로 바꾸면 인식을 하더라구요 구글링 1시간 했던게 무색하게 해결되버린 사소한 헤프닝이였습니다.. 혹시 저같은 분들 계실까봐 남..

[Maven, STS] Run as 에 Run on Server가 없거나 사라졌을 때

팀프로젝트 협업중에 있던 프로젝트를 지우고 깃으로 다시 풀을 땡겼더니 Run As 에 Run on Server 사라져 있었습니다. 그래서 프로젝트 우클릭 후 Properties -> Project Facets 에 있는 Dynamic Web Module 체크가 안된걸 발견하고 체크후 Apply를 눌렀더니 오류발생 ㅠㅠ 이리저리 찾아본 결과 해결방법은 .settings 폴더안에 있는 요 파일이였습니다 이렇게 코드를 추가하고나서 저장을 하고 확인해보니 이렇게 Run on Server 가 짜잔 하고 나왔습니다 Project Facets에도 Dynamic Web Module 항목이 자동으로 체크가 되어 있는 모습을 확인 할 수 있었습니다. 이렇게 해도 해결이 안된다면 Update Maven 이나 Project C..

[Spring] 스프링 개발을 하기 위한 Spring tools 4 개발환경설정 (2/2)

[Spring] 스프링 개발을 하기 위한 Spring tools 4 환경설정 (1/2) rateye.tistory.com/34 [Spring] 스프링 개발을 하기 위한 Spring tools 4 환경설정 (1/2) 스프링 개발을 시작할 때 제일 피곤했던게 세팅이였습니다. JSP MVC2 패턴에 필요한 작업들을 자동으로 수행해주는건 고맙지만 그만큼 세팅에 힘을 들여야 되는 부분이 있더라구요 하지만 하고 rateye.tistory.com 전 포스팅에서 스프링 레거시 프로젝트를 생성하기 위한 준비를 했습니다. 이제 프로젝트를 생성해 보겠습니다. Spring Legacy Project 생성하기 File -> New -> Spring Legacy Project 가 없으면 Other로 가줍니다. Other 에서 S..

[Spring] 스프링 개발을 하기 위한 Spring tools 4 개발환경설정 (1/2)

스프링 개발을 시작할 때 제일 피곤했던게 세팅이였습니다. JSP MVC2 패턴에 필요한 작업들을 자동으로 수행해주는건 고맙지만 그만큼 세팅에 힘을 들여야 되는 부분이 있더라구요 하지만 하고 나면 그만큼 편하게 작업할 수 있도록 도와주기 때문에 불평없이 할 수 있었습니다. rateye.tistory.com/32 [Spring] 스프링툴 Spring Tools 4 설치 및 설정 최근에 배우기 시작한 스프링 개발을 하기위해 설치했던 STS(Spring Tool Suite) 입니다. 이클립스로 JSP MVC2 패턴을 활용한 웹 프로그래밍을 하다가 스프링을 접하니 새로운 세계에 온 것 마냥 기부니 rateye.tistory.com 스프링 툴 설치는 이전 포스팅에서 확인 하실 수 있습니다. 저는 기본적으로 웹 개발..

[Eclipse, STS] 웹 개발을 위한 이클립스, STS 환경설정 (JSP)

제가 웹 개발을 할때 세팅하는 환경설정을 모아봤습니다. 이클립스 설치는 여기를 참고해주세요 rateye.tistory.com/31 [Eclipse] 이클립스 설치 및 설정(JAVA) - Windows 10 환경 이클립스는 자바를 다루시는 분들은 한번쯤은 다들 사용해보셨을 자바언어를 코딩하기 위한 IDE 입니다. JAVA 설치 이클립스를 설치하기에 앞서 자바를 설치해주셔야 합니다. https://www.oracle.com/ja rateye.tistory.com 세팅은 스프링툴 환경에서 했지만 이클립스에서도 똑같이 작용합니다. Window - Preferences 일단 건방지게 저의 스펠링 검사를 수행하는 녀석부터 혼내주었습니다. Preferences -> General -> Editors -> Text E..

[Spring] 스프링툴 Spring Tools 4 설치 및 설정

최근에 배우기 시작한 스프링 개발을 하기위해 설치했던 STS(Spring Tool Suite) 입니다. 이클립스로 JSP MVC2 패턴을 활용한 웹 프로그래밍을 하다가 스프링을 접하니 새로운 세계에 온 것 마냥 기부니가 좋았습니다. STS 설치 https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or The..

[Eclipse] 이클립스 설치 및 설정(JAVA) - Windows 10 환경

이클립스는 자바를 다루시는 분들은 한번쯤은 다들 사용해보셨을 자바언어를 코딩하기 위한 IDE 입니다. JAVA 설치 이클립스를 설치하기에 앞서 자바를 설치해주셔야 합니다. https://www.oracle.com/java/technologies 캡처해서 바로 그려서 올리는거라 안내가 좀 그지같을 수 있습니다 노력할게요. Java SE 버튼을 클릭해주세요. 스크롤을 내려서 Java SE 8를 찾으신 뒤 JDK Download를 클릭하세요 사용하시는 운영체제에 맞게 설치하세요 저는 Windows10 64비트를 사용중이기에 맨 밑에 있는 옵션으로 설치했습니다. 설치를 마치셨으면 이렇게 Java 폴더안에 jdk와 jre가 자리잡고 있습니다. 버전에 따라 폴더명은 다를 수 있습니다. 제대로 설치를 했는지 확인해 ..

[JAVA] 자바의 제네릭 Generic

Object 타입을 파라미터로 갖는 경우 모든 데이터타입을 전달받을 수 있고 모든 객체를 전달할 수 있기 때문에 데이터 저장 시 편리함 그러나, 객체를 꺼내서 사용해야할 경우 형변환이 필요하며 잘못된 변환 수행 시 ClassCastException 이 발생할 수도 있다 class Toy { String toyName; } class Icecream { String icecreamName; } class NormalBox { Object item; public NormalBox() {} public NormalBox(Object item) { this.item = item; } public Object getItem() { return item; } public void setItem(Object item..

[JAVA] 자바의 스택 & 큐 (Stack & Queue)

스택 Stack 한 쪽(TOP)에서 데이터의 추가/삭제가 발생하는 구조 먼저 들어간 객체가 마지막에 나오는 구조(First In Last Out) 마지막에 들어간 객체가 먼저 나오는 구조(Last In First Out) 후입선출 구조 주로 응용프로그램의 undo/redo, 웹브라우저의 뒤로/앞으로 기능을 2개의 Stack(backward, forward)으로 구현 Stack stack = new Stack(); // push(Object o) : 데이터를 스택에 추가 stack.push("1 - www.itwillbs.co.kr"); stack.push("2 - www.naver.com"); stack.push("3 - www.oracle.com"); // Object peek() : 맨 위의 객체 리..

[JAVA] 자바 컬렉션 프레임워크 - Map 편

Map 인터페이스 계열 키(Key) 와 값(Value)을 한 쌍으로 갖는 자료 구조(해쉬테이블 구조) 키는 중복 불가, 값은 중복 가능 기존에 존재하는 키를 지정하여 값을 저장하는 경우 기존 키에 저장된 값을 제거하고 새로운 값으로 대체 대표적인 구현체 클래스 : HashMap, Properties 등 Map map = new HashMap(); // put(Object key, Object value) : key 에 해당하는 value 추가 map.put(1, "홍길동"); map.put(2, "이순신"); map.put(3, "강감찬"); System.out.println("Map 객체가 비어있는가? " + map.isEmpty()); System.out.println("Map 객체에 저장된 엔트리 ..

[JAVA] 자바 컬렉션 프레임워크 - List 편

List 인터페이스 계열 저장 순서를 유지하며, 데이터 중복을 허용하는 구조 인덱스 번호를 사용하여 요소 관리 배열과 유사한 구조 add() 메서드로 데이터 추가, get() 메서드로 데이터 리턴 대표적인 구현체 클래스 : ArrayList, Vector, LinkedList 등 List list = new ArrayList(); // add() : 데이터 추가 list.add(1); list.add(2); list.add("삼"); list.add(4); list.add(5.5); list.add(6); System.out.println("List 객체가 비어있는가? " + list.isEmpty()); System.out.println("List 객체에 저장된 요소 갯수 : " + list.size(..

[JAVA] 자바 컬렉션 프레임워크 - Set 편

Set 인터페이스 계열 저장 순서를 유지하지 않고, 데이터 중복을 허용하지 않는 구조 하나의 주머니에 무작위로 저장하는 구조와 동일함 대표적인 구현체 클래스 : HashSet, TreeSet 등 package collection_framework; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Ex_Set { public static void main(String[] args) { Set set = new HashSet(); System.out.println("Set 객체가 비어있는가? " + set.is..

[JAVA] 자바가 제공하는 패키지

java.lang 패키지 자바에서 기본이 되는 패키지 자주 사용되는 자바 클래스와 인터페이스가 위치함 별도의 import 없이도 접근 가능한 패키지 Object, String, Integer, System 등이 위치함 Object 클래스 자바의 모든 클래스의 최상위 슈퍼클래스 별도로 클래스를 상속받지 않으면 자동으로 상속되는 클래스 따라서, 모든 클래스는 Object 클래스의 멤버를 사용 가능 대표적인 메서드 equals() : 두 객체가 같은지 비교 후 결과값 리턴 같은 주소를 참조하는지 동등 비교(==) 수행함 일반적으로 두 객체가 같은지를 비교하는 것은두 객체의 멤버변수 값이 같은지를 비교하는 것이므로 Object 클래스의 equals() 메서드를 그대로 사용하지 않고 오버라이딩하여 객체 내의 참조..

[JAVA] 자바의 예외처리 Exception

예외 Exception 오류Error 는 시스템의 치명적인 문제로 인해 발생하는 문제이며 개발자가 코드 상에서 해결이 불가능한 문제를 말하지만 예외Exception는 코드 상에서 실수 등으로 인해 발생하는 문제이며 개발자가 코드 상에서 해결이 가능한 문제 예외가 발생할 경우 발생 시점에서 프로그램은 비정상적으로 종료됨 예외가 발생했을 때 프로그램이 비정상적으로 종료되지 않도록 추가적인 작업을 수행하여 정상적으로 종료되도록 하는 것을 예외 처리Exception Handling 라고 한다. 예외가 발생되면 해당 예외에 대한 처리를 담당하는 클래스의 객체를 생성한 뒤 예외 메세지를 포함하여 예외를 던짐(throw) 따라서, 해당 객체를 전달받아 예외를 처리해야함 try ~ catch 문을 사용하여 기본적으로 ..

[JAVA] 자바의 인터페이스 Interface

인터페이스 Interface 어떤 객체와 개발자 사이의 접점(중개) 역할 인터페이스 정의 시 class 키워드 대신 interface 키워드를 사용 인터페이스는 상수와 추상메서드만 가질 수 있음 상수 : public static final 을 사용하여 선언하며 생략도 가능 추상메서드 : public abstract 를 사용하여 정의하며 생략도 가능 추상클래스와 마찬가지로 객체 생성이 불가능하며, 상속 전용으로 사용 단, 데이터타입으로는 사용 가능하므로, 다형성 활용 가능 동일한 인터페이스를 구현하는 클래스를 사용하는 경우 하나의 인터페이스 타입으로 모든 객체를 컨트롤할 수 있다 추상클래스보다 강제성이 더 강하다 추상클래스는 일부 멤버(메서드)에 대한 강제성을 부여하지만 인터페이스는 모든 추상메서드와 상수..

[JAVA] 자바의 상수 Constant

상수 Constant 항상 같은 값을 갖는 데이터(불변데이터) = Literal(리터럴) 변수 중에서도 값이 변하지 않는 변수를 상수라고 함 (= 상수형 변수) 보통 변수에 static final 을 붙여서 표현 static : 클래스 내의 유일한 데이터이며, 클래스명으로 접근 final : 값 변경 금지 상수로 선언되는 변수는 이름을 대문자로 선언하며 단어 사이의 구분 기호로 언더스코어(_) 기호 사용) class Car2 { // 상수(static final)를 사용하여 데이터를 관리하는 경우 private String company; private String model; private int color; // 데이터 저장에 필요한 값들을 상수로 미리 선언해둠 // => 이 때, 상수명을 최대한 식..

[JAVA] 자바의 Static

static 정적(static) 멤버 변수 = 클래스 멤버 변수 클래스가 메모리(메서드 영역)에 로딩될 때 함께 로딩되는 멤버변수 인스턴스 생성과 상관없음 인스턴스 생성 없이 클래스명만으로 접근 가능 클래스명.정적멤버변수명 또는 클래스명.정적메서드명() 정적 멤버변수의 경우 모든 인스턴스에서 하나의 값을 공유함 공유 메모리 공간을 사용하므로 모든 인스턴스가 주소값 공유 로컬변수는 메서드 호출 및 종료와 관계있고 인스턴스변수는 인스턴스 생성 및 소멸과 관계있고, 클래스변수는 클래스 로딩(프로그램 시작) 및 클래스 제거(프로그램 종료)와 관계있다. class StaticEx { static int a = 10; // 클래스(static = 정적) 멤버변수 선언 int b = 20; // 인스턴스 멤버변수 선..

[JAVA] 자바의 추상 클래스 & 메서드

추상메서드 메서드 구현부(바디, {}) 가 없는 메서드 실행할 코드가 없는 메서드 구현부가 없기 때문에 외부에서 호출해도 실행할 코드가 없음 따라서, 추상메서드를 포함하는 클래스는 반드시 추상클래스로 선언해야한다 추상메서드 정의 시 리턴타입 앞에 abstract 키워드를 붙임 추상메서드 정의 기본 문법 [접근제한자] abstract 리턴타입 메서드명([매개변수..]); 추상클래스 인스턴스 생성이 불가능한 클래스 인스턴스 생성이 가능할 경우 추상메서드 호출이 가능하므로 인스턴스 생성을 못하도록 막아놓은 클래스 상속을 통해 서브클래스에서 추상메서드를 구현하도록 강제하는 용도의 클래스로 주로 사용 추상클래스가 가질 수 있는 멤버 생성자, 일반 멤버변수, 상수, 일반 메서드, "추상 메서드" 추상클래스 정의 시..

[JAVA] 자바의 참조형변환 (레퍼런스 형변환)

[JAVA] 참조형변환(래퍼런스 형변환) 클래스 간의 형변환(참조형 변수끼리의 형변환) 반드시 상속 관계에서만 가능한 변환 업캐스팅 Up Casting 슈퍼클래스 타입으로 서브클래스의 인스턴스를 참조하는 것 서브클래스 인스턴스를 슈퍼클래스 타입으로 변환하는 것 기본 문법 슈퍼클래스타입 변수명 = 서브클래스인스턴스; 묵시적(자동) 형변환이 일어남 참조 가능한 영역이 축소됨 (슈퍼클래스 타입에서 선언된 변수, 메서드만 접근 가능함) 하나의 슈퍼클래스 타입으로 여러 서브클래스 인스턴스의 공통된 멤버에 접근 가능하도록 해준다 일반적인 레퍼런스 형변환을 의미 자식(서브클래스) 타입에서 부모(슈퍼클래스) 타입으로 변환 시 "자동 형변환(업캐스팅)"이라고 하며, 부모(슈퍼클래스) 타입에서 자식(서브클래스) 타입으로 ..

[JAVA] 자바의 final

final 키워드 클래스, 메서드, 변수 선언 시 변경의 마지막을 표시 멤버변수에 final 사용 시 : 변수 값 변경 금지(= 상수로 취급됨) => final 키워드가 붙은 변수(상수)는 일반 변수와 구분하기 위해 대문자로 변수명을 작성함(단어 구분은 언더스코어(_) 사용) 메서드에 final 사용 시 : 메서드 변경 금지(= 오버라이딩 금지) 클래스에 final 사용 시 : 클래스 변경 금지(= 상속 금지) => 대표적인 final 클래스 : java.lang.String, java.lang.Math 등 // 1. 멤버변수에 final 키워드 사용 => 값 변경 불가(상수로 취급) class FinalVariable { int num1 = 10; // 일반 멤버변수(차후에 값 변경 가능) //fina..

[JAVA] 자바의 this & super

this this 키워드 자신의 인스턴스를 가리키는 목적으로 사용됨 객체(인스턴스) 생성 시 참조변수 this 에 자동으로 인스턴스 주소가 저장됨 레퍼런스 this 자신의 인스턴스 주소가 저장되는 참조 변수 모든 인스턴스에 자동으로 생성되는 변수이며 객체(인스턴스) 생성 시 자동으로 자신의 인스턴스 주소가 저장됨 인스턴스변수와 로컬변수의 이름이 같을 때, 로컬변수가 선언된 메서드 내에서 인스턴스변수를 가리키는 용도 메서드 내에서 인스턴스변수와 이름이 중복되는 변수가 없으면 레퍼런스 this 를 생략할 수 있다. 기본 사용 문법 this.인스턴스변수 또는 this.인스턴스메서드() class Person3 { String name; int age; public Person3(String name, int ..

728x90
반응형