| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 아두이노
- 티스토리 스킨
- C++
- 멋쟁이사자처럼
- Database
- 알고리즘
- DevOps
- jsp
- noah 개발일지
- arpspoofing
- Security
- 여기어때 해킹 사건
- Git&Github
- jdbc
- 백준
- 트리
- 인접리스트
- UX/UI
- network
- linux
- DPS
- java
- CAPTCHA
- Operating System
- 최소공통조상
- Unity
- LCA
- Today
- Total
목록분류 전체보기 (77)
all-i-want.tistory.com
1. 데이터 모델링1-1. 데이터 모델링 절차(1) 요구조건분석(2) 개념적 설계 : 트랜잭션 모델링 단계(3) 논리적 설계- 트랜잭션의 인터페이스를 설계하는 단계- 정규화(4) 물리적 설계- 각 DBMS의 특성을 고려해 실제 물리 모델로 변환- 반정규화 1-2. 데이터 모델의 구성 요소(1) 구조 (Structure)- 논리 데이터 모델에서 [구조]를 어떻게 나타낼 것인지 표현- 개체 타입과 개체 타입들 간의 관계 (2) 연산 (Operation)- 실제 데이터를 처리하는 작업에 대한 명세 (3) 제약 조건 (Constraint)- 데이터 무결성 유지를 위한 방법 1-3. 논리 데이터 모델링의 속성개체 / 속성 / 관계 1-4. 관계 대수, 관계 해석(1) 관계 대수 : 절차적 정형 언어(2) 관계 해..
정처기 실기 21년도 3회 기출에 나온 static/일반 필드 구분 및 static으로 캐싱(공유)되는 객체를 구분하는 문제에서 예시를 수정하여 정리함 이 문제의 포인트는 현재 객체를 제대로 파악하고 있는가이다. 언뜻보면 static 필드와 일반 필드를 구분하여 별개로 계산하는 문제 같지만, 실제 문제에서 a1, a2, a3가 같은 객체를 참조하는 것을 파악하기만 하면 되는 문제 공부에 도움 되도록 새롭게 만든 예시class A { static private A instance = null; public int count = 0; static public int staticCount = 0; static public void set(A a) { instance = a;..
DevOps?개발(Development) + 운영(Operarions) 소프트웨어 개발 조직의 두 가지 핵심인 개발팀과 운영팀의 장벽을 허물고 협업, 자동화, 지속적인 통합 및 제공을 통해 제품과 서비스를 더 빠르고 안정적으로 고객에게 제공하는 문화, 철학, 방식, 그리고 도구의 조합을 말한다. 데브옵스 등장 이전 운영 방식의 문제점 데브옵스 등장 이전의 전통적인 개발 모델, 특히 워터폴(Waterfall) 모델과 그 이후의 조직 구조가 낳은 문제점들이 몇 가지 있다. 1. 개발(Dev)과 운영(Ops)이 서로 분리되어 사일로 효과를 야기했다. 조직 내에서 개발팀과 운영팀이 완전히 분리되어 각기 다른 목표를 추구하였다.개발팀의 목표: 새로운 기능을 신속하게 개발하고 출시한다. (변화를 선호)운영팀의..
오늘 소학회 모임에서 함께 풀어본 LCA(최소 공통 조상) 문제를 풀기 위해 알아야 하는 사전 지식에 대해 먼저 알려드리고, 이를 기반으로 코드까지 작성해보도록 할게요. ( •̀ ω •́ )y (본문의 코드는 자바를 기준으로 작성했습니다)🧐 문제 읽어보기! LCA(Lowest Common Ancestor)는 트리가 주어졌을 때, 두 노드의 가장 가까운 공통 조상이 누구인지 찾는 문제입니다. 개념은 간단하죠?! 입력값 N: 노드의 개수N-1줄의 공백으로 구분된 두 개의 정수 (= 트리 상에서 연결된 두 정점)M: LCA를 알아볼 케이스의 개수M줄의 두 개의 정수 (= LCA를 구하고 싶은 두 정점 쌍)출력값M개의 케이스의 LCA 결과 조건 트리의 정점은 1~N번까지 번호가 매겨져 있다.루트는 1번..
스트림 (stream)데이터를 전달하는 통로단방향 통신만 가능입력과 출력을 동시에 처리할 수 없음입력과 출력을 동시에 처리하려면 input stream과 output stream 2개의 스트림이 필요FIFO(First In First Out) 구조보조 스트림스트림의 기능을 보완하기 위한 기능실제 데이터를 주고받는 스트림이 아니기 때문에 데이터를 입출력할 수 있는 기능은 없음보조스트림 만으로는 입출력을 처리할 수 없고, 스트림을 먼저 생성한 다음에 이를 이용해서 보조스트림을 생성BufferedInputStream실제 기능은 FileInputStream이 수행보조스트임인 BufferedInputStream은 버퍼만을 제공함버퍼를 사용한 입출력과 그렇지 않은 경우는 성능 차이가 상당하기 때문에 대부분의 경우에..
📌String 클래스(1) 불변(Immutable) 객체String 객체는 한 번 생성되면 그 값을 바꿀 수 없음문자열을 수정하는 것처럼 보여도 새로운 문자열 객체를 만든 후, 포인터(문자열 변수)가 가리키는 문자열을 바꾸는 것(2) 왜 불변일까?보안: 데이터가 쉽게 변경되지 않아서 안전함멀티스레드 환경에서 안전문자열 리터럴 풀(문자열 재사용)을 사용할 수 있어 메모리 절약(3) String Constant Pool같은 문자열 리터럴은 힙메모리의 스트링 풀에서 하나만 생성하여 공유함String a = "happy";String b = "happy";System.out.println(a == b); // true(4) String literal vs new 연산자String literal("문자열")은 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이class Solution { public String solution(int[] numbers, String hand) { StringBuffer result = new StringBuffer(); int left = 10; int right = 12; for(int i=0; i num) ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이2,3,4는 결과가 0으로 모두 같은데, 예상 결과가 이어야 하는 이유를 몰class Solution { public int[] solution(int N, int[] stages) { int[] level = new int[N+1]; // 각 스테이지 별 플레이어 수 int[] answer = new int[N]; // 스테이지 번호 floa..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이첫 시도에서는 문자열을 공백 기준으로 split 한 다음, 나뉘어진 요소(단어) 내부의 짝/홀수 인덱스를 판단해 대소문자로 바꾸려고 하였다. 공백을 기준으로 split 하였으니, 각 요소(단어)의 변환이 끝나면 공백 문자를 answer에 하나씩 추가해주었다. split한 배열과, 그 배열의 요소(단어)를 각각 반복하여 2중 for문을 사용해 구현했다. 테스트 케이스에서는 문제가 되지 않았..
System.currentTimeMillis() 시작하는 시점과 끝나는 시점에 각각 해당 함수를 써서 시간을 받아오고, 두 시간간의 차이를 계산하면 실행 시간을 구할 수 있습니다. long beforeTime = System.currentTimeMillis(); // 코드 실행 전에 시간 받아오기 // 측정하려는 코드 long afterTime = System.currentTimeMillis(); // 코드 실행 후에 시간 받아오기 long diffTime = afterTime - beforeTime; // 두 개의 실행 시간 System.out.println("실행 시간(ms): " + diffTime); Instance Instance는 자바 8부터 java.time에 패키지에 추가된 클래스로, ep..