티스토리

쿵스보이
검색하기

블로그 홈

쿵스보이

luckyguystory.tistory.com/m

IT 관련 블로그 입니다.

구독자
6
방명록 방문하기

주요 글 목록

  • 가위바위보 - 자바(배열 활용) //1.배열을 활용 class RspPlayer{ public static final String[] arrRSP = {"가위", "바위", "보"}; // 0:가위 private String name; private String rsp;  //컴퓨터 public RspPlayer(String name) { this.name = name; int num = (int) (Math.random() * 3); rsp = arrRSP[num]; } //사용자 public RspPlayer(String name,String rsp) { this.name = name; this.rsp = rsp; }  public void getResult(RspPlayer you) {  System.out.println(thi.. 공감수 0 댓글수 0 2024. 7. 30.
  • 자바(람다) - removeif 아래 에서 0 이하 숫자를 List 에서 제거해 보자.List ls1 = Arrays.asList(1, -2, 3, -4, 5); 첫번째 방법) List ls1 = new ArrayList(Arrays.asList(1, -2, 3, -4, 5)); for (int i = 0; i     if(ls1.get(i)        ls1.remove(i);    } } System.out.println(ls1);결과[1, 3, 5] 두번째 방법) - 람다식 활용  List ls2 = new ArrayList(Arrays.asList(1, -2, 3, -4, 5)); ls2.removeIf((i) -> i System.out.println(ls2); 결과[1, 3, 5] 공감수 0 댓글수 0 2024. 5. 29.
  • 리눅스 - 서브 셀에 대한 개념 🟢 Shell의 종류cat /etc/shells   🟢 로그인쉘과 서브쉘  ◾ 로그인 쉘 (login Shell)리눅스를 로그인 할 때, 사용자를 선택하고 알맞게 패스워드를 입력하면 짠! 하고 로그인이 되지만 사실 그 뒤에는 여러가지 일들, 정확히 말하자면 여러 쉘 스크립트 파일(.sh)이 실행됩니다. 그렇다면 그 쉘 스크립트 파일은 혼자 돌아가는 것일까요? 아니죠! 일처리는 Shell이 한다고 했으니 쉘 스크립트 파일이 실행되려면 Shell이 필요합니다.이제 로그인 쉘에 대해 정확한 느낌이 오실 것 같습니다. 로그인 쉘이란 로그인 처리에 필요한 파일들을 실행하는 Shell을 의미하게 되겠죠!추가로 로그인이 실행하는 여러 쉘 스크립트 파일은 대부분 사용자 환경의 초기 세팅을 지정합니다. 그 과정에서 .. 공감수 0 댓글수 0 2024. 5. 17.
  • 게시판 DB 설계 https://m.blog.naver.com/PostView.nhn?blogId=l1523&logNo=221796663248&proxyReferer=https:%2F%2Fwww.google.com%2F [ERD] 일반 게시판 모델링학교 프로젝트 과제로 만들었던 게시판 모델입니다. 각각 주제의 게시판과 게시글 작성, 댓글, 추천, 첨부...blog.naver.com 공감수 0 댓글수 0 2024. 5. 3.
  • Mybatis를 사용하는 방식으로는 크게 두가지 1. SqlSessionTemplate - MyBatis3.0 이전 2. MapperInterface - Mybatis 3.0버전 https://stratum-home.tistory.com/entry/SqlSessionTemplate-MapperInterface-%EA%B0%9C%EB%85%90%EB%B9%88-%EB%93%B1%EB%A1%9D-%EC%84%A4%EC%A0%95 공감수 0 댓글수 0 2024. 4. 15.
  • 마이바티스(Mybatis) 정리 Mybatis SQL 과 자바 객체를 매핑하여 데이터베이스 접근용 프레임워크 Mybatis 자체 라이브러리와 Spring을 연동하기위한 Mybatis-Spring 라이브러리 필요 장점: - SQL의 체계적인 관리(설정 파일, 애노테이션) 비즈니스 로직에서 Mapper 인터페이스를 통해 SQL문 실행 동적 SQL 조합 자바객체와 SQL입출력갑의 바인딩 Mybatis 주요 컴포넌트 Mybatis 설정 파일 SqlSessionFactoryBuilder : Mybatis 설정 파일을 바탕으로 SQLSessionFactory 생성 SqlSessionFactory : sqlSwssion 생성을 위한 컴포넌트 SqlSession : SQL 발행과 트랜잭션 관리 Mapper 인터페이스 : 매핑 파일과 SQL에 대응하는.. 공감수 0 댓글수 0 2024. 4. 11.
  • 스프링 부트 - 커넥션 풀 설정 방법( hikariCP , TomcatJDBC Connection Pool ) Spring Boot Connection Pool 설정 방법 Spring boot 기본 connection pool이 spring boot 2.0.0버전부터 hikariCP로 변경 되었음 참고: https://devhj.tistory.com/38 참고: https://www.masterspringboot.com/configuration/web-server/configuring-tomcat-connection-pool-on-spring-boot/ 공감수 0 댓글수 0 2024. 4. 6.
  • 스프링 - 의존성 주입 의존성 주입이란? "스프링 컨테이너에서 객체 Bean을 먼저 생성해두고 생성한 객체를 지정한 객체에 주입하는 방식을 의존성 주입 이라고 합니다" 객체 자체가 코드 상에서 객체 생성에 관여하지 않아도 되기때문에 객체 사이의 의존도를 낮출수 있습니다. 스프링 컨테이너에서 객체의 생명주기를 관리하며 객체의 의존관계 또한 관리해줍니다. 의존성 주입을 사용하면 유연하고 확장성이 뛰어난 코드 작성이 가능해집니다! 그렇기에 의존성 주입은 스프링 프레임워크에서 가장 중요한 개념중에 하나임 의존성 주입 방식 중요성을 알게되었다면 이제 사용 방식에 대해 알아봐야합니다. 사용 방식은 다음의 3가지 필드 주입(Field Injection) 수정자 주입(Setter Based Injection) 생성자 주입(Constructo.. 공감수 0 댓글수 0 2024. 4. 6.
  • [Java] Class 클래스 클래스에 관하여 (Feat 리플렉션) https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html Class (Java Platform SE 8 ) Determines if the specified Class object represents a primitive type. There are nine predefined Class objects to represent the eight primitive types and void. These are created by the Java Virtual Machine, and have the same names as the primitive types tha docs.oracle.com Class에 접근하는 방법 ? 모든 클래스는 로딩 후 Clas.. 공감수 0 댓글수 0 2024. 4. 2.
  • 로또 (Jquery 버전) DOCTYPE html> 게임 function Lotto(){ this.count = 7; this.nums = new Array(); this.bonusNum = 0; this.getNums = function(){ let set = new Set(); while(set.size < this.count){ set.add( parseInt(Math.random()*45) + 1 ) } this.nums = Array.from(set); // set을 배열로... this.bonusNum = this.nums[this.nums.length - 1]; //7번째 숫자를 보너스 넘으로 this.nums.pop(); //마지막 요소 제거 return this.nums; } this.getColor = funct.. 공감수 0 댓글수 0 2024. 3. 26.
  • 정수 오버 플로우(overflow) 공감수 0 댓글수 0 2024. 1. 24.
  • 추상 클래스 와 인터페이스 차이 공감수 0 댓글수 0 2024. 1. 22.
  • 오라클 19C scott 계정 생성 및 버전 확인 1. 오라클 버전 확인 방법 Sql Developer 에서 아래의 명령어로 확인 할수 있다. select * from v$version; 2. 오라클 scott 계정 생성방법 1) session 변경해 주기 alter session set "_ORACLE_SCRIPT"=true; 2) scott.sql 파일 실행하기 위에서 본인의 scott.sql 파일 경로를 확인했다면 => @경로 를 입력해주면 된다. 다음과 같이 넣어 준다. @C:\Oracle\WINDOWS.X64_193000_db_home\rdbms\admin\scott.sql 3) 변경된 유저 확인하기 이후 show user를 입력하면 사용자가 scott임을 확인할수 있다. 4) 마지막 비밀번호 tiger로 초기화 공감수 0 댓글수 0 2023. 10. 16.
  • Jquery 를 통한 동적 행 추가 및 삭제 type="button" onclick="addDiv()" value="Div 태그 추가"> html>                              class="buttons">                    type="text" name="txt"> type="button" class="btnAdd" value="Add"> 공감수 0 댓글수 0 2023. 7. 21.
  • 오라클 XE 삭제 1. 서비스에 등록된 정보를 삭제 시작 -> 실행 -> cmd 실행후 도스창에서 아래 명령어를 실행한다. sc delete "OracleJobSchedulerXE" sc delete "OracleMTSRecoveryService" sc delete "OracleServiceXE" sc delete "OracleXEClrAgent" sc delete "OracleXETNSListener" 2. 제어판 -> 시스템 을 열어 환경변수에 PATH 잡힌 부분을 삭제한다. 예) C:\oraclexe\app\....bin 3. 레지스트리 정보 삭제 시작 -> 실행 -> regedit HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ HKEY_LOCAL_MACHINE\SOFTWARE\odbc\ HKEY_.. 공감수 0 댓글수 0 2023. 7. 10.
  • 도커 오라클11g, mysql 설치 명령어 $ docker run --name oracle11g -d -p 1521:1521 jaspeen/oracle-xe-11g docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql:5.7 공감수 0 댓글수 0 2022. 8. 12.
  • 간단한 HTTP 프로토콜 구현. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; public class SimpleHttpClient { public static void main(String[] args) throws Exception{ Socket socket = new Socket("www.kocw.net", 80); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream out = new PrintStream(socket.getOutputStream.. 공감수 0 댓글수 0 2022. 7. 28.
  • Ubuntu 20.04 - OpenJDK 11 설치, 삭제 Ubuntu 20.04에 OpenJDK 11을 설치하는 방법을 소개합니다. apt로 OpenJDK 설치 먼저 다음과 같이 apt를 업데이트합니다. $ sudo apt-get update && sudo apt-get upgrade 그리고 다음과 같이 openjdk-11-jdk를 설치합니다. $ sudo apt-get install openjdk-11-jdk 설치가 완료되면 다음과 같이 설치가 되었는지 확인할 수 있습니다. $ java -version openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.. 공감수 0 댓글수 0 2022. 7. 19.
  • 젠킨스 도커에 설치 하기 1. 도커에 설치 하기 위해서 아래의 명령어를 친다 docker run -d --name jenkins -p 8085:8080 jenkins/jenkins:jdk11 위의 버전은 jdk 11버전 내장 버전 입니다. docker container exec -u 0 -it jenkins bash 루트 권한으로~ 젠큰스 접근 공감수 0 댓글수 0 2022. 7. 19.
  • 오라클 클라우드에서 우분투 설치 후 도커 설치 까지 과정 기본 보안 설정 비밀번호 설정 먼저 root의 비밀번호 설정을 한다. sudo passwd root 그리고 ubuntu 계정의 비밀번호 설정도 해준다. sudo passwd ubuntu 개인키 없이 원격 접속 허용 ssh 접속을 할 때 마다 개인키를 챙겨야 하니 피곤하다. 아이디와 비밀번호로 접속할 수 있게 하면 편하다. ssh 디렉토리로 이동한다. cd /etc/ssh sshd 설정 파일을 건드리기 전에 백업본을 만들어둔다. sudo cp sshd_config sshd_config.bak sshd 설정 파일을 수정한다. sudo nano sshd_config 원한다면 ssh 접속 포트도 바꿀 수 있다. (포트를 변경한 경우 우분투 iptables 방화벽 설정을 따로 하여 허용해주지 않으면 접속 불가함).. 공감수 0 댓글수 0 2022. 7. 17.
  • 데이타베이스 설계 무료 툴(도구,Tool) https://www.erdcloud.com/ ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com MySQL Workbench !!! 데이터베이스를 MYSQL 사용하는 사람들은 더할나위 없이 좋은 ERD Diagram tool 이다. 공감수 0 댓글수 0 2022. 7. 16.
  • MySql 도커 설치 및 관련 명령어 docker run --name mysql5 -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql:5.7 docker exec -it mysql5 bash bash-4.2# mysql -u root -p show databases; 데이터베이스와 사용자를 생성하고 (컨테이너 내에서) MySQL에서 권한을 부여한다. scott이라는 사용자를 생성하고, 모든 권한을 부여한다. 변경된 권한 적용 중요 : 컨테이너 외부에서 MySQL에 로그인도 가능해야 하므로 scott@localhost에서 localhost 대신 %를 사용한다. mysql> CREATE USER 'scott'@'%' IDENTIFIED BY 'tiger'; Query OK, 0 rows affected (0.00 .. 공감수 0 댓글수 0 2022. 7. 16.
  • 오라클 11g express에서 8080 포트 변경 1. sql plus 실행 > sqlplus /noglog 2. 관리자로 연결 SQL> conn /as sysdba 3. 현재 포트확인 SQL> select dbms_xdb.gethttpport() from dual; 4. 포트변경 내장프로시져 실행 SQL> exec dbms_xdb.sethttpport(9090); 공감수 0 댓글수 0 2022. 7. 15.
  • 도커 - 톰캣(tomcat) - Tomcat Manager 설정 (403 Access Denied) Jenkins에서 war 파일 배포를 위해 manager 접속이 필요하다. manager 기능은 보안 문제 때문에 기본적으로 막혀 있다. 설정 없이 접속을 하면 403 Access Denied 에러가 나기 때문에 아래 설정이 필요하다. 1. conf 디렉터리 tomcat-users.xml 설정 편집 [root@localhost apache-tomcat-9.0.34]# vi conf/tomcat-users.xml 추가 2. manager 디렉터리 context.xml 설정 편집 [root@localhost apache-tomcat-9.0.34]# vi webapps/manager/META-INF/context.xml 설정 3. 접속 확인 http://서버주소:8080/manager/html [출처 및 참고.. 공감수 0 댓글수 0 2022. 7. 15.
  • MSA 개념 및 참고자료 MSA 예제 1) https://enjoy-dev.tistory.com/10?category=936724 2. MSA 구현을 위한 핵심 프레임워크를 알아보자 1 이번장과 다음장에서는 Micro Services Architecture(MSA)를 구축하기 위한 Spring Cloud 프레임워크의 핵심 라이브러리들의 개념을 알아보고자 합니다. (원래는 한편에 모두 담으려 하였으나 내용이 길어져 enjoy-dev.tistory.com MSA 예제 2) https://jydlove.tistory.com/30 스프링 마이크로서비스를 시작하며... Intro.. 2달정도 동안 책과 검색을 통해 공부한 마이크로서비스에 대한 정리를 할려고 한다. 스프링 마이크로서비스의 장점은 각 서비스들이 분리 됨으로서 전체 서비스에 .. 공감수 0 댓글수 0 2022. 7. 14.
  • DevOps란? 소프트웨어 개발과 IT 운영 사이의 간극을 메워줄 방법론으로서 각광받기 시작. 2007년 개념이 나온후. 그리고 15년이 흘렀다. 아직도 데브옵스는 뜨거운 주제이고 많은 기업들이 긍정적으로 보고 있으며 여러 가지 형태의 실험과 시도가 이뤄지고 있다. 하지만 2007년의 분위기는 온데 간데 없다. 2007년 당시의 분위기가 이어졌다면 지금은 온 세계가 데브옵스로 개발을 하고 있어야 하는데, 아직도 데브옵스는 ‘마이너’로 남아 있다. 그 동안 데브옵스가 주는 새로운 어려움들도 발견됐고, 데브옵스를 본격적으로 도입하려다 실패한 사례들도 적잖게 나왔다. 데브옵스 프로젝트의 75%가 실패로 끝났다는 통계도 있을 정도다. 기존 인프라에서 벗어나지 못한다 포춘 1000대 기업 중 75%는 사업에 꼭 필요한 애플리케이.. 공감수 0 댓글수 0 2022. 7. 14.
  • 시퀀스 다이어 그램 - Sequence Diagram 시퀀스 다이어그램은 UML 다이어그램의 한 종류로 시스템이나 객체들이 메세지를 주고받으며 상호 작용하는 과정을 표현하는 행위 다이어그램입니다. 현재 구축되어 있는 시스템이 어떻게 동작하고 있는지 표현하거나 신규 개발해야 할 시스템이 어떠한 시나리오로 흘러갈 지 쉽게 표현할 수 있어 자주 사용됩니다. 각 동작에 참여하는 시스템이나 객체들의 수행기간을 확인할 수 있음 메시지의 명확한 순서를 확인할 수 있음 전반적인 시스템 흐름을 시각화 시킬 수 있음 실시간 명세의 표현에 적합함 복잡한 시나리오의 표현에 적합함 시퀀스 다이어그램 구성요소 1. 액터(Actor) : 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부시스템을 의미 2. 객체(Object) : 클래스의 객체 3. 생명선(Lifeline) :.. 공감수 0 댓글수 0 2022. 7. 12.
  • 오라클 클라우드 및 EC2 - 도커 - (톰캣 , 오라클 )설치 docker run 시에 local 이미지가 없으면 pull 과정까지 함꼐 한다. 그리고 --name 옵션으로 이름까지 지정할 수 있다. docker run -d -i -t -p 8282:8282 --name tomcat9 tomcat:9 본인이 올린 원격 톰캣 사용 docker run -d -i -t -p 9999:9999 --name tomcat9 nqwrt/hjs-tomcat9:1.0 docker exec -it tomcat9 /bin/bash 도커 내부로 진입... 오라클 클라우드 - 오라클 11g 설치 docker run -d -i -t -p 1521:1521 --name oracle11g nqwrt/hjs-oracle-xe-11g:1.0 공감수 0 댓글수 0 2022. 7. 10.
  • Oracle Cloud Ubuntu 20.04 + docker 설치 1. sudo apt-get update 2. sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release (한줄) sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release 3. Docker와 암호화 통신을 위한 GPG 설정 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 4. OS 설치정보 확인 및 stable Repository 설치 dpkg.. 공감수 0 댓글수 0 2022. 7. 9.
  • CSRF(Cross-site request forgery) - 사이트간 위조요청 1. CSRF 사례(2008년 옥션) 1800만 명의 개인정보가 해킹 순서 1) 옥션 관리자 중 한 명이 관리 권한을 가지고 회사 내에서 작업을 하던 중 메일을 조회(관리자로서 유효한 쿠키를 갖고 있음) 2) 해커는 태그가 들어간 코드가 담긴 이메일을 보낸다. 관리자는 이미지 크기가 0이므로 전혀 알지 못한다. 3) 피해자가 이메일을 열어볼 때, 이미지 파일을 받아오기 위해 URL이 열린다. 4) 해커가 원하는 대로 관리자의 계정이 id와 pw 모두 admin인 계정으로 변경된다. 공감수 0 댓글수 0 2022. 7. 8.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.