일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- while
- 프로그래머스
- 반복문
- node.js
- dowhile
- 모달팝업
- berak
- 배열
- CONTINUE
- 레이어팝업
- KH정보교육원
- LV1
- 자바변수
- URL생성
- 적용
- 자바실습문제
- 백준
- for
- 자바
- express
- Java
- 분기문
- 자바연산자
- 키패드
- 2차원배열
- 문제풀이
- 레이어팝업URL
- Spring
- array
- 정적파일
- Today
- Total
목록전체 글 (31)
까잉이의 개발노트

Node.js는 현대 웹 개발에서 없어서는 안 될 기술로 자리 잡았습니다. 이 글에서는 Node.js의 정의, 특징, 장단점, 활용 사례, 그리고 시작 방법까지 자세히 알아보겠습니다. 초보자도 쉽게 이해할 수 있도록 간단한 코드 예제도 포함했습니다. Node.js란 무엇인가?Node.js는 자바스크립트를 서버 측에서 실행할 수 있는 오픈 소스 런타임 환경입니다. Google의 V8 엔진을 기반으로 하며, 이벤트 기반 아키텍처와 비동기 I/O를 통해 높은 성능과 확장성을 제공합니다. Node.js의 주요 특징비동기 I/O: 작업을 병렬로 처리하여 속도를 높입니다.이벤트 기반 구조: 이벤트 루프를 통해 효율적으로 작업을 관리합니다.크로스 플랫폼: Windows, macOS, Linux 등 다양한 환경에서 동..
// 아이피 가져오기 public String getUserIp() throws Exception { String clientIp = null; boolean isIpInHeader = false; HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); List headerList = new ArrayList(); headerList.add("X-Forwarded-For"); headerList.add("HTTP_CLIENT_IP"); headerList.add("HTTP_X_FORWARDED_FOR"); headerList.add("HTTP_X_F..

관리자 댓글 리스트에서 버튼을 눌렀을 때 모든 댓글을 엑셀로 다운받을 수 있게끔 만들어 달라는 요청이 왔다. 아래와 같이 하면 간단하게 처리가 가능하다. 1. controller에서 commentService를 통해 모든 댓글 리스트를 가져온다 2. res.setContentType("application/vnd.ms-excel")으로 엑셀 파일이라는걸 명시한다 3. res.addHeader("Content-Disposition", "attachment; filename=" + fileName) 이 부분은 저장되는 용도인지를 설정하는거다. 4. jsp 혹은 html 파일명을 리턴한다 5. jsp 혹은 html에 table를 만들고 값을 출력한다 controller.java @GetMapping(value..
HashMap을 상속받은 Params 라는 클래스를 만들었다 그리고 serialVersionUID를 통해 직렬화를 만들어준다. import java.util.HashMap; public class Params extends HashMap { private static final long serialVersionUID = 7076823242082225895L; } Collection.sort()로 비교하여 정렬을 해준다 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; publ..
- user 추가하기 create user 계정ID@localhost identified by '비밀번호'; - user에게 DB 모든 권한 주기 GRANT ALL PRIVILEGES on DB_NAME.* TO 'USER'@'localhost'; 둘다 mysql root 계정에서 진행한다

풀이순서 1. 키패드 맨 아래 * 0 #을 각각 10, 11, 12로 치환하고 시작시 왼손은 *, 오른손은 #에서 시작하기 때문에 int left와 right에 각각 10, 12으로 초기값을 셋팅한다 2. numbers의 갯수만큼 for문을 돌린다 3. switch를 활용해서 어떤 숫자인지 구분해서 1,4,7인 경우 answer에 "L"을 추가하고 left에 현재 값을 대입시키고, 3,6,9인 경우 answer에 "R"을 추가하고 right에 현재 값을 대입한다 4. 2,5,8,9인 경우에는 left와 right 손가락 중 누가 가까운지 구해야하는데 거리를 계산하기 위해 (Math.abs(누른값-현재 손가락값))/3 + (Math.abs(누른값-현재손가락값))%3 으로 계산한다. *양수로 변환하기 위해M..

첨에 indexOf()를 이용했다가 예제입력에 "c=c="가 있어서 다시 접근해 .contains()를 이용해 풀었다 풀이순서 1. 크로아티아 알파벳 6개를 배열로 만들어 준다 2. 문자열을 받은 다음 크로아티아 알파벳 갯수 6번 만큼 for문을 돌린다 3.contains()를 이용해 if문에서 크로아티아 문자가 포함하는지 알아내고 포함이 되면 .replace()를 이용해 크로아티아 문자를 "*"로 치환해준다 4. 총 문자갯수를 출력한다 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine();..

이미지를 제대로 못 보고 문제 이해를 못 했는데 이미지를 자세히보면 번호 아래 째깐하게 알파벳이 써있다😅 풀이순서 1. 문자열을 받아와서 글자수만큼 for문을 돌린다. 2. for문 안에서 한 글자씩 switch를 통해 어떤 글자인지 파악하고 걸리는 시간 만큼 더해준다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String dial = sc.nextLine().toUpperCase(); int count = 0; for(int i = 0; i < dial.length(); i++) { char a = dial.charAt(i)..