티스토리

천천히, 꾸준히
검색하기

블로그 홈

천천히, 꾸준히

linked-list.tistory.com/m

공부 기록

구독자
0
방명록 방문하기

주요 글 목록

  • [ORACLE] SQL SELECT 칼럼 가로로 합쳐서 조회 SELECT SUM(C1) , SUM(C2) , TO_CHAR(ROUND((SUM(C2) / SUM(C1)) * 100, 2), 'FM00.00') || '%' FROM ( SELECT COUNT(DINTINCT(ACNTNO) C1 , 0 C2 FROM TABLE1 WHERE DATE BETWEEN 'TO_DATE' AND 'FROM_DATE' UNION ALL SELECT 0 C1, COUNT(DISTINCT(ACNTNO) C2 FROM TABLE2 WHERE DATE BETWEEN 'TO_DATE' AND 'FROM_DATE' ) 꿀팁 공감수 0 댓글수 0 2022. 8. 17.
  • <JavaScript> invalid shorthand property initializer 되게 단순한 오류... 변수 설정 시 '=' 가 아닌 ':' 을 사용해 주어야 하는데 잘못 매핑을 시키기 때문에 발생하는 오류 var params = { reportToDate = reportToDate, orgCode = UserInfo.getOrgCode(), userId = UserInfo.getUserId(), batchId = 'DM020TR052TR070DM072TR110' // 가치평가 배치 목록 } 아래와 같이 수정해주면 된다. var params = { reportToDate : reportToDate, orgCode : UserInfo.getOrgCode(), userId : UserInfo.getUserId(), batchId : 'DM020TR052TR070DM072TR110' //.. 공감수 0 댓글수 0 2022. 4. 11.
  • 프로그래머스 - SQL1 ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 비교해 ANIMAL_INS 테이블에는 없고 ANIMAL_OUTS 테이블에만 있는 컬럼 출력 select a.animal_id, a.name from animal_outs a left outer join animal_ins b on a.animal_id = b.animal_id where a.animal_id not in ( select animal_id from animal_ins); 풀이 방법 - left outer join을 사용해 animal_outs와 animal_ins를 join (animal_outs에는 있지만 animal_ins에는 없는 칼럼까지 모두 출력) - not in 조건을 사용해 출력한 칼럼들과 animal_ins 테이블을 .. 공감수 0 댓글수 0 2021. 12. 13.
  • 정보처리기사 - 실기 한 번 떨어지고 두 번만에 붙었다 ㅠㅠ 공감수 0 댓글수 0 2020. 12. 31.
  • Factory Method 팩토리 메서드 - 객체 생성 처리를 서브 클래스로 분리해 처리하도록 캡슐화하는 패턴 - 객체 생성 코드를 별도의 클래스/메서드로 분리함으로써 객체 생성의 변화에 대비할 수 있다. - 특정 기능의 구현은 개별 클래스를 통해 제공되는 것이 바람직하다. - 기능의 변경이나 선택은 해당 객체를 생성하는 코드의 변경을 초래한다. - 상황에 따라 적절한 객체를 생성하는 코드는 자주 중복될 수 있다. - 객체 생성 방식의 변화는 해당되는 모든 코드 부분을 변경해야 하는 문제가 발생한다. 팩토리 메서드는 다음과 같은 상황에서 사용한다 - 어떤 클래스가 자신이 생성해야하는 객체의 클래스를 예츨할 수 없을때 - 생성하는 객체를 기술하는 책임을 자신의 서브클래스가 지정했으면 할 때 - 객체 생성의 책임을 몇 개의 보조 서브.. 공감수 0 댓글수 0 2020. 11. 18.
  • 템플릿 메서드 패턴 템플릿 메서드 패턴 - 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 기능을 수행하는 구조는 바꾸지 않으면서 특정 단계 에서 수행하는 내역을 바꾸는 패턴 - 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화할때 유용하다. - 동일한 기능을 상위 클래스에서 정의하면서 확장 / 변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다. - 예를 들어, 전체적인 알고리즘은 상위 클래스에서 구현하면서 다른 부분은 하위 클래스에서 구현할 수 있도록 함으로 써 전체적인 알고리즘 코드를 재사용하는데 유용하도록 한다. AbstractClass - 템플릿 메서드를 정의하는 클래스 - 하위 클래스에 공통 알고리즘을 정의하고 하위 클래스에서 구현될 기능을 primitive.. 공감수 0 댓글수 0 2020. 11. 12.
  • Decorator 패턴 Decorator 패턴 - 객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있도록 해주는 패턴이다. - 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator 객체를 조합함으로써 추가 기능의 조합을 설계하는 방식이다. - 기본 기능에 추가할 수 있는 많은 종류의 부가 기능에서 파생되는 다양한 조합을 동적으로 구현할 수 있는 패턴이다. Component - 기본 기능을 뜻하는 ConcreteComponent와 추가 기능을 뜻하는 Decorator의 공통 기능을 정의한다. - 클라이언트는 Component를 통해 실제 객체를 사용한다. ConcreteComponent - 기본 기능을 구현하는 클래스 Decorator - 많.. 공감수 0 댓글수 0 2020. 11. 9.
  • Strategy 패턴 - Strategy 패턴이란 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. - 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할떄 교체할 수 있게 함으로써 동일 한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴이다. - Strategy : 인터페이스나 추상 클래스로 외부에서 동일한 방식으로 알고리즘을 호출하는 방법을 명시 - ConcreteStrategy1,2,3 : Strategy 패턴에서 명시한 알고리즘을 실제로 구현한 클래스 - Context : Strategy 패턴을 이용하는 역할을 수행, 필요에 따라 동적으로 구체적인 전략을 바꿀 수 있도록 setter 메서 드를 제공 Strategy 패턴 예시 - 위의 클래스 설계는 작업시간과 초과시간을 기반으로.. 공감수 0 댓글수 0 2020. 10. 6.
  • 빌더 패턴 (Builder Pattern) - 객체 생성 패턴 - 생성자의 인자가 많은 경우, 생성자의 인자들 중에 필수적 인자와 선택적 인자가 혼합되어 있는 경우 사용 - 또한 immutable 객체 (변경, 수정할 수 없는 객체)를 생성하고 싶은 경우에도 사용 - 점층적 생성자 패턴의 경우 인자가 많을수록 생성자 개수도 많아진다. 생성자의 개수가 많기때문에 인자가 어떤 의미인지 파악하기 힘들고 가독성이 떨어진다는 문제점이 있다. - JavaBeans 패턴의 경우 setter 메서드로 각 속성의 값을 설정하는 경우, 가독성은 향상되나 immutable object를 만들 수 없다는 문제점이 있다. - Builder 패턴 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 2.. 공감수 0 댓글수 0 2020. 10. 6.
  • SOLID 원칙 SRP (Single Responsibility Principle), 단일 책임 원칙 - SRP에서 책임의 기본 단위는 객체를 지칭 - 책임이란 해야 하는것, 할 수 있는 것으로 간주할 수 있다 - 즉 객체는 단 하나의 책임만을 가져야 한다는 것이다 - 객체에 책임을 할당할 때는 어떤 객체보다도 작업을 잘 할 수 있는 객체에 책임을 할당해야 한다 - 또한 객체는 책임에 수반되는 모든 일을 자신만이 수행할 수 있어야 한다 - 좋은 설계란 시스템에 새로운 요구사항이나 변경이 있을 때 가능한 한 영향 받는 부분을 줄이는 것이다. 한 객체가 많은 책임을 지고 있다면 클래스 내부에서 다른 역할을 수행하는 코드들간의 결합도가 높아지게 된다. 이는 클래스에 변경이 있을때마다 영향을 받는 부분이 많다는것이며 또한 변경.. 공감수 0 댓글수 0 2020. 10. 5.
  • 클래스 다이어그램 접근 제어자 public + 어떤 클래스의 객체에서든 접근 가능 private - 이 클래스에서 생성된 객체들만 접근 가능 protected # 동일 패키지에 있거나 상속 관계의 하위 클래스 객체들만 접근 가능 package ~ 동일 패키지에 있는 클래스의 객체들만 접근 가능 관계 연관 관계 (association) - 클래스들이 개념상 서로 연결되었음을 나타낸다. 실선, 화살표로 표시 - 보통 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일때 표시 - 양방햔 관계 일때 화살표를 사용하지 않음 - 단방향 -> 한 객체만이 다른 객체의 존재를 인식 - 양방향 -> 양 객체들 모두 서로의 존재를 인식 - 멤버변수가 양 쪽에 있으면 양방향 관계 - 양방향 관계이므로 각 클래스에서 서로를 참조할 수.. 공감수 0 댓글수 0 2020. 9. 17.
  • 간단한 웹 페이지 로그인, 회원가입 구현 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 Register Form div.ex { text-align: center; width: 35%; padding: 10px; border: 5px solid grey; margin: 0px } Register Form Enter information Here 아이디 비밀번호 이름 성별 남자 여자 이메일 Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1.. 공감수 0 댓글수 0 2020. 9. 16.
  • 리눅스 vi 명령어 정리 vi 편집기 종료 마치기 명령 :q : 그대로 종료하기(quit) :q! : 변경된 내용을 저장하지 않고 강제로 종료하기 :wq : 변경된 내용을 저장하고 종료하기(write and quit) :x : :wq와 동일한 명령 ZZ : :wq와 동일한 명령 삽입 명령 a : 커서 뒤에 입력 A : 라인 끝에 입력 i : 커서 앞에 입력(insert) I : 라인 시작 부분에 입력 o : 커서 있는 라인 밑에 출력 O : 커서가 있는 라인 위에 입력 커서 이동 명령 h : 왼쪽으로 커서 한칸 이동 H : 화면의 처음으로 이동 l : 오른쪽으로 한칸 이동 L : 화면 끝으로 이동 e : 다음 단어의 마지막으로 이동 E : 커서를 공백으로 구분된 다음 단어 끝으로 이동 b : 한 단어 뒤로 이동 B : 커서를 공.. 공감수 0 댓글수 0 2020. 9. 9.
  • 백준 2581: 소수 자바 소스코드 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 32 33 34 35 36 37 38 package Beak; import java.util.ArrayList; import java.util.Scanner; public class Math_2581 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int cnt = 0, sum = 0; ArrayList arr = new ArrayList(); for(int i=n; i .. 공감수 0 댓글수 0 2020. 9. 5.
  • 백준 1978: 소수 찾기 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 32 33 34 35 36 37 38 39 package Beak; import java.util.Scanner; public class Math_1978 { static int decimal(int[] a) { int idx = 0, cnt = 0; for(int i=0; i 1) { for(int j=1; j 공감수 0 댓글수 0 2020. 9. 5.
  • 정보처리기사 - 필기 실기도 열심히 해야겠따. 공감수 0 댓글수 0 2020. 9. 3.
  • 가변 길이 템플릿 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 #include template void print(T arg) { std::cout 공감수 0 댓글수 0 2020. 8. 28.
  • 클래스 (Class)와 구조체 (Struct)의 차이 구조체와 클래스 1 2 3 4 5 6 7 8 9 10 11 12 13 struct Point { int x, y; }; int main() { Point p = { 1,2 }; return 0; } cs 구조체는 구조체를 만들어준 =뒤, main()에서 p를 선언하고 구조체를 초기화해주면 된다. 여기서 struct 대신 class를 써주면 클래스가 된다. 그런데 클래스로 바꿔주면 컴파일 과정에서 오류가 발생한다. 클래스와 구조체 모두 데이터를 묶어주는 역할을 하는데 오류가 발생하는 이유는 무엇일까 그 이유는 구조체와 클래스의 기본 접근제어 지시자가 다르기 때문이다. 구조체의 경우 접근제어 지시가를 따로 선언하지 않으면 모든 변수와 함수가 public으로 선언되고 클래스의 경우 private로 선언된다. .. 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 15596 : 정수 N개의 합 소스코드 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 #include #include using namespace std; long sum(vector &a) { long sum = 0; for (int i = 0; i > n; vector a(n); for (int i = 0; i > a[i]; } cout 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 4673 : 셀프 넘버 소스코드 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 32 33 34 35 36 37 38 39 40 41 #include using namespace std; void self() { int sum[10000] = { 0 }; int res = 0; for (int i = 1; i = 10 && i 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 1193 : 분수 찾기 소스코드 1234567891011121314151617181920212223242526#include using namespace std; int main() { int index = 0; int n, i, r; cin >> n; for (i = 0; i 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 2775 : 부녀회장이 될테야 소스코드 12345678910111213141516171819202122232425262728#include using namespace std; int main() { int apart[15][15]; apart[0][0] = 1; int t, a, b = 0; for (int i = 1; i a >> b; cout 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 2292 : 벌집 소스코드 123456789101112131415161718192021222324252627#include using namespace std; int main() { int index = 1; // 몇 개의 방을 지나는지 체크 int i = 0; // 단계의 수 int lev = 1; // 총 방의 수 int n; cin >> n; while (true) { lev = lev + i * 6; if (n 공감수 0 댓글수 0 2020. 8. 28.
  • 백준 2750 : 수 정렬하기 1234567891011121314151617181920212223242526#include int main() { int arr[1000]; int temp; int n; std::cin >> n; for (int i = 0; i > arr[i]; } for (int i = 0; i 공감수 0 댓글수 0 2020. 8. 28.
  • 함수 템플릿 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include template T max(T& a, T& b) { return a > b ? a : b; } int main() { int a = 1, b = 2; std::cout 공감수 0 댓글수 0 2020. 8. 27.
  • 템플릿 (Template) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include #include // T를 템플릿 인자로 받는 템플릿 정의template class Vector { T* data; int capacity; int length; public: Vector(int n = 1): data(new T[n]), capacity(n), length(0){} void push_back(T s) { if (capacity 공감수 0 댓글수 0 2020. 8. 27.
  • Web server failed to start. Port 8080 was already in use 포트가 이미 실행중일때 발생하는 에러 명령 프롬포트 창에서 netstat -ano 입력 해당하는 포트의 pid 번호를 찾은 뒤 taskkill /pid (pid번호) /f 입력 --> 포트 강제종료 공감수 0 댓글수 0 2020. 8. 25.
  • Stack 구현 (c++) 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 #include class Stack { int* data; int s_size; int s_top; public: Stack(int n); void push(int n); void pop(); int top(); bo.. 공감수 0 댓글수 0 2020. 8. 25.
  • Queue 구현 (c++) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293#include class Queue { int* data; // 데이터를 저장하는 배열 int q_size; // 큐의 사이즈 int front; // 가장 먼저 넣은 요소 표시 int rear; // 가장 나중에 넣은 요소 표시 public: Queue(int n); void push(int x); void pop(); bool is_full(); bool empty(); int size(.. 공감수 0 댓글수 0 2020. 8. 25.
  • Vector 구현 (c++) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485#include #include using std::string;class Vector { string* data; // 데이터를 보관하기 위한 문자열 배열 int capacity; // 현재 할당되어 있는 크기 int length; // 실제 사용중인 크기public: Vector(int n = 1); void push_back(string s); string operator[](int i); void insert(st.. 공감수 0 댓글수 0 2020. 8. 25.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

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

    © Kakao Corp.