uname 명령어를 이용하면 현재 시스템의 정보를 볼 수 있습니다. 가상머신에 올려놓은 ubuntu 18.04하고, fedora 32로 실습해 보도록 하겠습니다. 데스크립션을 읽어봐도, 현재 system 정보를 출력한다는 것 정도만 볼 수 있어요. 옵션이 없는 경우에는 -s와 동일하다고 하는데요. -s 옵션만 붙이면 커널의 이름을 출력합니다. 먼저, 커널의 릴리즈와 버전을 출력해 보겠습니다. 각각 -r과 -v 옵션을 주면 됩니다. -r 옵션을 주고 출력해 보면 5.3.0-61-generic이 출력되는 것을 볼 수 있는데요. 이것이 커널 릴리즈와 관련이 있어 보입니다. 이것의 앞의 2개의 숫자인 5.3이 버전과 관련이 있어 보입니다. 다음에 -v 옵션을 주어서 보면 #55~18.04.1-ubuntu가 출력..
전체 글 검색 결과
안녕하세요. 오늘은 간단하게 스택 계산기 프로그램을 만드려고 합니다. 일단 괄호가 없는 유효한 식은 숫자 (연산자 숫자)* 이런 패턴으로 들어올 겁니다. 예를 들어 3도 유효한 계산 식입니다. 그리고, 3*7-2도 유효한 식입니다. 연산자는 *과 +, -만 들어온다고 가정해 보겠습니다. 먼저 우선순위부터 set 하도록 하겠습니다. *는 +, -보다 우선순위가 높으니, *의 priority를 0으로, +과 -를 1로 설정하였습니다. 11번째 줄이 그러한 일을 수행합니다. 그리고, ArrayList인 num과 op는, 수식으로부터 들어온 수와 연산자를 순서대로 넣어놓았습니다. 예를 들어서 2-3+7이 들어왔다면, num에는 2, 3, 7 순서대로 들어가고, op에는 -와 +이 순서대로 들어가 있습니다. 이제..
java의 Array.sort는 어떤 정렬 알고리즘을 쓸까요? primitive type을 정렬하는 경우와, 그렇지 않은 경우에 쓰는 알고리즘이 다릅니다. 어떻게 다른지 간단하게 보도록 하겠습니다. java8 기준으로 작성되었음을 참고하시면 됩니다. 먼저 primitive type을 정렬할 때 어떻게 동작할까요? Array.class 안으로 들어가 보겠습니다. int형을 저장해 놓은 배열을 정렬하려는 경우보시면, rangeCheck를 하고, DualPivotQuickSort로 들어간다는 것을 알 수 있습니다. short형은 어떨까요? 마찬가지입니다. DualPivotQuickSort 안으로 들어가 보겠습니다. 먼저, int형 배열을 정렬하는 경우입니다. QuickSort_ThreasHold보다 작으면 s..
테이블에서 PK가 걸린 컬럼이 있었습니다. 그 컬럼을 id라 하겠습니다. 수천개의 데이터를 insert를 해야 하는데, 해당 id값이 있는 데이터를 insert를 해야 하는 경우에, 오류가 발생합니다. 저는, 이러한 상황이 발생하는 데이터를 모두 뽑고 싶었습니다. 어떻게 하면 좋을까요? 제가 말한 문제를 해결하기 위해서, exists 구문을 사용하는 것을 고려해 볼 만 합니다. 이것은, 하위 질의의 결과가 빈 릴레이션을 반환하는 경우에 False를, 아니라면 True를 리턴합니다. 예제를 하나 들어보겠습니다. 먼저, t2에 있는 데이터들을 보겠습니다. 2개의 레코드가 있습니다. (1, 'cho')하고, (3,'gahui')가 있습니다. 먼저 exists 안에, select * from t2를 넣어보겠습니..
요새 jsch를 유튜브 보면서 공부하고, 샘플 프로그램을 작성하고 있습니다. 유튜브에서, java의 properties 클래스를 이용해서 셋팅값을 넣는 것을 보았습니다. put 함수를 넣으니까 새삼 편하구나. 이렇게 느꼈습니다. 그러다가 문득, 이런 생각을 하게 되었습니다. Jdbc에서, 데이터베이스에 접근하기 위해서는, connection을 생성해야 합니다. 위 프로그램에서는 getConn 메서드가 그러한 역할을 수행합니다. getConn 내부를 보겠습니다. Connection을 얻기 위해서, 3개의 정보를 넘겨줍니다. 접속할 주소, 유저 이름, 패스워드. 이렇게 3개입니다. 그런데, 이것을 java 파일 내에 하드코딩을 하고 있습니다. 이 방법은 그렇게 좋아보이지는 않습니다. 파일로 저장하고, 그 파..
최근댓글