일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sequelize
- Util
- ubuntu
- node.js
- mongoose
- Android
- Scheduling
- React
- AWS
- wireshark
- HTML
- Express
- DATABASE
- S3
- postman
- docker
- MongoDB
- Crawling
- TypeScript
- Network
- css
- macos
- typeorm
- mysql
- algorithm
- OOAD
- Kotlin
- python
- OS
- linux
- Today
- Total
목록
반응형
분류 전체보기 (144)
Seongwon Lim
서론 이번 글에서는 데이터베이스에 설정되어 있는 포트 번호(Port Number)의 확인 방법에 대해서 간단하게 알아보고자 한다. 방법은 총 2가지가 존재하며 첫번째는 config 파일을 통해서 확인하는 방법이고, 두번째는 쿼리문을 통해서 확인하는 방법이다. 개발 환경은 Ubuntu 22.04 LTS 이다. 파일을 통해서 확인하는 방법 $ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf 터미널에 위와 같이 명령어를 입력하면 mariaDB 서버 설정 파일로 접근할 수 있다. Basic Settings 부분으로 가면 위 사진과 같이 port가 주석처리 되어있는 것을 확인할 수 있다. (해당 부분이 존재하지 않는 경우도 있으며, 주석 처리가 되어있지 않은 경우도 있다.) ..
서론 이번 글에서는 VirtualBox를 통해 Ubuntu 설치 시 일어나는 오류 중 하나인 화면 잘림 현상에 대한 해결 방법에 대해서 간단하게 알아보고자 한다. 문제 우분투 설치를 진행하다보면 위 사진과 같이 체크박스만 보이고 아래에 다음 페이지로 이동하기 위한 버튼이 보이지 않는 경우가 종종 발생한다. 해결 방법 위와 같은 이슈가 생겼을 때에는 단축키 Alt+F7을 눌러서 문제를 해결할 수 있다. 단축키를 누른 후 마우스로 화면을 이동하거나 키보드 방향키를 통해 화면을 조정할 수 있다. 출처 virtualbox - I can't see the next button (ubuntu installation on vmware) - Ask Ubuntu I can't see the next button (ubu..
서론 프로그래머스 문제를 풀다가 약수의 개수를 구하는 과정에서 시간초과가 발생한 적이 있었다. https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 약수의 개수를 구해야 하는 숫자가 크지 않다면 시간 제한 내에 문제를 해결할 수 있지만 그렇지 않은 경우 시간 초과에 걸릴 확률이 높아질 수 있다. 그래서 이번 글에서는 파이썬을 이용하여 약수의 개수를 구할 때 시간복잡도를 줄여 효율적으로 약수의 개수를 구하는 방법에 대해서 간단하게 알아보고자 한다. ..
서론 이번 글에서는 파이썬의 collections 라이브러리에 있는 deque를 이용하여 리스트를 회전하는 방법을 간단하게 알아보고자 한다. 알고리즘 문제를 풀다보면 배열을 회전시켜야 하는 문제들을 종종 볼 수 있는데 deque를 사용하면 간단하게 구현할 수 있다. deque란 무엇인가? 먼저 deque는 양쪽 끝에서 삽입과 삭제를 할 수 있는 리스트 종류의 컨테이너이다. 파이썬에서 리스트를 생성하면 삽입과 삭제가 오른쪽 맨 끝에서 이루어지는 반면에 deque는 맨 앞에도 데이터를 삽입, 삭제할 수 있다는 장점이 있다. deque 사용 방법 먼저 배열 회전을 구현하기 전에 간단하게 deque 자료형 사용 방법을 알아보자. from collections import deque nums = [1, 2, 3,..
제약 사항 시간 제한 : 2 초 메모리 제한 : 512MB 문제 입력 출력 예제 입력 ABCBA // 예제입력 1 PALINDROME // 예제입력 2 ZZZ // 예제입력 3 예제 출력 4 // 예제 출력 1 10 // 예제 출력 2 -1 // 예제 출력 3 잘못된 접근 방식 s = input() answer = -1 for i in range(len(s)-1): temp = s[i] for j in range(i+1, len(s)): temp += s[j] # 부분 문자열 reverse = temp[::-1] # 부분 문자열을 뒤집은 변수 if len(temp) >= 2 and temp != reverse: answer = max(answer, len(temp)) print(answer) 브루트포스 ..
제약 사항 시간 제한 : 1.5 초 메모리 제한 : 128MB 문제 입력 출력 예제 입력 5 6 9 5 7 4 예제 출력 0 0 2 2 4 잘못된 접근 방식 import sys input = sys.stdin.readline n = int(input()) li = list(map(int, input().rstrip().split())) result = [] for i in range(len(li)-1, -1, -1): temp = li[i] st = [] if i == 0: # 맨 앞의 탑인 경우 result.append(0) else: for j in range(i-1, -1, -1): # 이전 탑들의 높이 탐색 if li[j] > temp and not st: st.append((li[j], j+1)..
서론 이번 글에서는 자바의 개념 중에서 많이 헷갈리는 추상 클래스와 인터페이스의 차이에 대해서 살펴보고자 한다. 추상 클래스와 인터페이스 개념 및 예제를 통해 어떤 차이가 있는지 알아보자. 기술 면접에서 두 차이에 대한 질문이 빈번하게 나오기 때문에 정확한 개념와 특징을 잘 알아두어야 한다. 추상 클래스 (Abstract Class) 자바에서 추상 클래스는 1개 이상의 추상 메서드(Abstract Method)를 포함하는 클래스를 의미한다. 추상 메서드 : 자식 클래스에서 반드시 오버라이딩(Overriding) 하여 사용해야 하는 메서드로 선언부만 존재하고 구현부가 없는 메서드를 의미한다. // 아래 코드와 같이 선언부만 존재하며 메서드 안에는 구현되어 있지 않다. abstract void func();..
서론 이번 글에서는 파이썬을 이용하여 영어로 구성된 문자열을 소문자, 대문자로 바꾸는 방법, 맨 앞의 문자만 대문자로, 나머지는 소문자로 바꾸는 방법, 마지막으로 각 단어의 맨 앞 글자는 대문자로, 나머지는 소문자로 바꾸는 방법에 대해서 간단하게 알아보고자 한다. 글 제목에서 언급했듯이 upper(), lower(), capitalize(), title() 메서드를 사용하여 구현할 수 있다. 영어 문자열을 대문자로 변환하기 영어 문자를 대문자로 변환하기 위해서는 파이썬의 upper() 메서드를 이용하여 구현할 수 있다. st = "hello, world!" print(st.upper()) # HELLO, WORLD! st = "안녕, World!" print(st.upper()) # 안녕, WORLD! ..
서론 객체 지향 프로그래밍(OOP) 개발에서 가장 중요한 요소 중 하나는 산출물의 명세화, 시각화, 문서화이다. 우리는 위의 3가지 것들을 수행할 때 모델링 기술과 방법론을 통합하여 만든 표준화된 모델링 언어인 UML(Unified Modeling Language)을 사용하여 설계를 한다. '모델링 언어'라는 단어만 보고 UML을 프로그래밍 언어로 오해하는 사람들이 있지만, UML은 프로그래밍 언어가 아니라 기호, 도식, 도형 등을 통해서 표현하는 것임을 기억해야 한다. 또한, UML은 사물(Things), 관계(Relationships), 다이어그램(Diagrams) 3개의 구성요소로 이루어져 있다. 구성요소 내용 사물 - 추상적인 개념, 주제를 나타내는 요소 - 단어 관점에서 '명사' 또는 '동사'를..
서론 파이썬 언어로 프로그래밍을 할 때 흔히 사용하는 정렬 메소드는 sort(), sorted() 등이 존재한다. 보통은 [1,3,2,5,4] 처럼 집합 안에 단일 숫자 혹은 문자가 들어올 때의 정렬을 하는 경우가 많지만, 가끔 첫번째 요소를 기준으로 정렬을 한 뒤, 첫번째 요소가 같으면 두번째 요소를 다시 정렬하는 경우를 요구하기도 한다. 예를 들어 리스트 내 데이터가 튜플로 구성된 경우를 생각해보자. [(2,1), (4,2), (1,2), (1,3)] 이러한 경우, 튜플의 첫번째 요소를 기준으로 오름차순을 한 뒤, 첫번째 요소의 값이 같다면 두번째 요소를 기준으로 내림차순을 수행하는 로직을 요구할 수 있다. 그래서 이번 글에서는 해당 메소드들을 이용하여 다중 조건으로 정렬을 하는 방법을 간단하게 알아..