전체 글

무슨 생각을 해.. 그냥 하는거지
· Java
JSP, Servlet을 활용한 프로젝트의 폴더 구조와 흐름 폴더를 정리하면 다음과 같다. 읽어나가는 주요 흐름은 다음과 같다. DAO, Controller, Service의 기능은 다음과 같다. 내가 헷갈려서 혼자 공부하고 정리하려고 쓴 글
· Java
forward()와 sendRedirect()의 차이 forward() 하나의 서블릿 안에서 이루어진 처리 결과를 다른 곳에서 이어서 쓸 때 사용한다. 즉, request나 response 객체를 다른 서블릿과 공유하고자 할 때 사용한다. 로그인에 실패하면 실패한 메세지를 여러 페이지로 전달해야하니 forward sendRedirect() 서블릿의 처리 결과를 공유하지 않고 다른 서블릿이나 페이지로 단순히 회원의 요청을 전달할 때 사용 로그인이 성공하면 세션이라는 request보다 넓은 브라우저 영역인 Session에 데이터를 저장하여 가져올 필요가 없어지니 sendRedirect를 사용 + 회원 로그인을 했을 때 정보는 Session에서 갖고 있어야 한다. 왜냐하면 내가 로그인한 상태에서 다른 누가 로..
https://velog.io/@raram2/%EB%8B%B9%EC%8B%A0%EC%9D%B4-innerHTML%EC%9D%84-%EC%93%B0%EB%A9%B4-%EC%95%88%EB%90%98%EB%8A%94-%EC%9D%B4%EC%9C%A0 당신이 innerHTML을 쓰면 안되는 이유 textContent 중심으로 본 innerText 및 innerHTML과의 장단점 비교 velog.io innerHTML을 통해 태그 내에 텍스트를 입력하는 것 뿐만 아니라 존재하고 있는 text도 가져올 수 있기에 신기하여 검색하다가 이글을 보게 되었다. 가급적 textContent를 더 사용해보자~
재귀함수로 팩토리얼(Factorial) 구현하기 https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net for문이 아닌 재귀함수를 이용하여 팩토리얼(Factorial) 구현하기 Java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int userInput = sc.nextInt(); System.out.print(factorial(userInput)); } public static..
python에서의 for in문을 자바스크립트의 for in 문과 동일하게 생각했다가 삽질해서 쓰는 글 배열(리스트)에서 key : value가 있다고 해보자. 자스는 프로퍼티'명'(key)을 가져오는것이고 python이나 java는 프로퍼티 '값'(value)을 가져온다. 자바스크립트의 배열 var elements = ['a', 'b', 'c']가 있으면 0 : 'a' 1 : 'b' 2 : 'c' 가 되어서 for element in elements 를 할 때 파이썬의 경우 element에 'a', 'b', 'c'가 들어오지만 자바스크립트는 0, 1, 2가 들어온다는 것이다. (그것도 정수형이 아닌 문자열로 가져오게 된다. console.log(typeof(element))를 해보면 Number가 아닌..
하노이의 탑(Tower of Hanoi) 첫번째 기둥을 A, 두번째 기둥을 B, 세번째 기둥을 C 작은 원반부터 큰 원반의 순서대로 1, 2, 3, ,,, 이라고 칭한다고 가정할 때. hanoi(N, A, B, C)는 hanoi()함수를 통해 N개의 원반을 A, B, C기둥을 통해 이동시킨다고 할때 사용되는 함수이다. // JavaScript var hanoi = function(N, from, other, to) { if(N===1){ div1.innerHTML += '원판[' + N + '] : ' + from + "--------->" + to + " "; } else { hanoi(N-1, from, to, other); div1.innerHTML += '원판[' + N + '] : ' + fro..
· Server/sql
DDL_CONSTRAINT_FOREIGN KEY DDL에서 테이블을 만들 때 제약조건중 하나로 FOREIGN KEY가 있다. 이는 다른 테이블의 값을 참조(REFERENCE)하여 현재 컬럼의 값을 추가하는 제약조건이다. 다시 말해 다른 테이블의 기본키나 고유의 값(unique)을 통해 참조하여 현재 테이블로 가져오는 값. 이러한 외래의 제약조건을 활용하여 다른 테이블과의 관계를 만들어낼 수 있다. (RDBMS) 먼저 TIER 테이블을 만들어줘보자. CREATE TABLE TIER( GRADE_NO NUMBER PRIMARY KEY, GRADE_NAME VARCHAR2(30) NOT NULL ); INSERT INTO TIER VALUES(1, 'bronze'); INSERT INTO TIER VALUES..
· Java
게임 시연 영상 DOS 컨셉으로 만들었다. 게임 시작 화면 - >>Name Your Self
· Java/문법
오버로딩(Overloading) 다른 매개변수를 가진, 같은 이름의 메소드를 선언할 수 있도록 하는 메소드명 재사용 기법 일반적으로 메소드는 주어진 매개변수를 사용하여 정해진 소스코드를 실행하는 기능을 지닌다. 이때, 만약 같은 기능을 실행하는 메소드일 경우, 굳이 이름을 여러개로 만들 필요가 있을까? ㄴㄴ! 아니다! 이런 문제점에 착안하여 같은 기능을 실행하되, 사용하는 매개변수가 다르면 같은 이름을 가지도록 하는 기술이 오버로딩이다. 오버로딩 구현 시 주의해야 할 규칙 메소드 명은 반드시 같아야 한다. 매개변수의 갯수나 자료형, 선언 순서가 반드시 달라야 한다. 반환 자료형, 접근 제한자는 달라도 된다. (오버로딩에 영향을 미치지 않는다.) // 되는 경우 ========================..
· 🔥TIL
2020.03.16.TIL JVM이 자동으로 만들어주는 것 GB(Garbage Collector) return this (this.을 생략 가능) 기본 생성자 생성자를 만들 때 super()가 생략될 경우 만들어준다. java.lang패키지를 자동 생성 모든 클래스를 Object()클래스를 자동으로 상속시킨다. heap영역에 값을 선언하고 초기값을 넣지 않았을 때 초기값을 자동으로 넣어준다. 자동형변환 (작은 범위에서 큰 범위로 넘어갈 때) 자동으로 만들어주는 애들이 무지 많다! for-each 반복문 [ 사용 방법 ] for( 객체클래스명 변수명 : 배열명 ){ . . . 배열의 개수만큼 하나씩 자동으로 뽑아준다. // (Java 1.5 version부터 추가됨) } for (Student s : st..
시저 암호 풀기 시저 암호란, 로마의 정치가 율리우스 시저(Julius Caesar, 100-44 B.C.)가 고안한 방식으로 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 말한다. 예를 들어 'A' 를 3 만큼 이동 시키면 'D'가 되며, 'Z'를 넘었을 경우 다시 'A' 부터 시작한다. 다음은 한 범죄 단체가 위의 시저 암호 기법을 활용하여 주고 받은 암호화 메세지를 가로 챈 것이다. 국가를 수호하는 입장의 화이트 해커로 고용된 당신은 아래의 정보를 해독하여 상부에 전달해야 한다. 임의의 문자열과 이동할 알파벳을 정수 값을 하나 입력받아 입력받은 숫자만큼 한 문자 씩 이동 시킨 뒤 문자 배열에 담아..
다음 입사 문제 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. (단 점들의 배열은 모두 정렬되어있다고 가정한다.) 예를들어 S={1, 3, 4, 8, 13, 17, 20} 이 주어졌다면, 결과값은 (3, 4)가 되어야 한다. 거리가 짧은 것이 한쌍을 초과한다면 모든 쌍을 출력해야 한다. 문제 살짝 수정 Math.abs() 메소드를 통해 배열이 오름차순으로 정렬되어 있지 않아도 점 사이의 최솟값을 구할 수 있게 하였다. 배열을 난수로 받아 만들 수도 있지만 Scanner를 통해 사용자에게 직접 배열을 입력받을 수 있게 구현하였다. import java.util.Scanner..
sovelop
so's devlog