my.ini 파일

책너두 6기 4일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.36 ~ p.51 4일차 02 설치와 설정 2.4 서버 설정 MySQL 서버는 일반적으로 단 하나의 설정 파일을 사용하는데 유닉스 계열은 my.cnf, 윈도우 계열에서는 my.ini를 사용한다. mysqld --verbose --help 위 코드는 설치된 mySQL 서버가 어느 디렉토리에서 my.cnf 파일을 읽는지 궁금할 때 실행해 보면 된다. mysqld 프로그램은 MySQL서버의 실행 프로그램을 ㅗ서비스용으로 사용되는 서버에서 이미 MySQL 서버가 실행 중인데 다시 mysqld 프로그램을 시작한다거나 하지 않도록 주의해야한다. ...

2023년 9월 7일 · 8 분 · 배준수

면접 전에 해야할 일

4일차 게일 라크만 맥도웰의 코딩 인터뷰 완전 분석 p.39 ~ p. 58 내용 정리 4. 면접 전에 적절한 경험 쌓기 탄탄한 이력서를 위해 필요하다. 큰 규모의 프로젝트 수업 듣기 인턴 자리 알아보기 무언가 하기 : 개인 프로젝트, 해커톤, 오픈 소스 프로젝트 등 탄탄한 이력서 작성하기 적절한 이력서 길이 너무 길지 않게, 인상적인 항목만 적어 주의를 산만하지 않게 한다. 우선순위를 매겨라. 고용 이력 관련된 고용 이력만 나열하자. 무엇을 구현해서 무엇을 성취했고 무엇을 이루었는지 구체적으로 쓰자. ...

2023년 9월 7일 · 2 분 · 배준수

점진적인 개선(1)

책너두 5기 28일차 로버트 C. 마틴의 클린코드 p. 246~ p.254 내용정리 14. 점진적인 개선 출발은 좋았으나 확장성이 부족했던 모듈을 소개하고, 이를 개선하고 정리하는 단계를 살펴본다. 프로그램을 짜다 보면 내 사정에 딱 맞는 유틸리티가 없어서 직접 짜게 된다. 이를 Args라고 부르겠다. 이 유틸리티는 명령행 인수의 구문을 분석하기 위해 main함수로 넘어오는 문자열 배열을 직접 분석하는 유틸리티다. Args 생성자에 (입력으로 들어온) 인수 문자열과 형식 문자열을 넘겨 Args 인스턴스를 생성한 후 Args 인스턴스에다 인수 값을 질의한다. 다음을 살펴보자 ...

2023년 9월 7일 · 6 분 · 배준수

파이썬 알고리즘 : 피보나치 수 2, 01타일, 동전

2023년 9월 7일 알고리즘 문제풀이 문제 1 백준 2748 문제 링크 1차 시도 나의 생각 기본적인 다이나믹 프로그래밍 문제였다. 재귀를 이용하면 시간초과가 되니 정의한 함수를 저장하는 배열을 만들어서 이를 참조하자. 결과 정답 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import sys n = int(sys.stdin.readline()) dp = [0 for _ in range(n+1)] dp[1] = 1 def fibo(x): if x == 0: return dp[0] elif x == 1: return dp[1] else: if dp[x]: return dp[x] else: dp[x] = fibo(x-1) + fibo(x-2) return dp[x] print(fibo(n)) 문제 2 백준 1904 문제 링크 ...

2023년 9월 7일 · 3 분 · 배준수

동시성(3)

책너두 5기 27일차 로버트 C. 마틴의 클린코드 p. 237~ p.244 내용정리 13.동시성 스레드 코드 테스트하기 지금까지 공부한 것은 스레드가 하나인 프로그램은 지금까지 한 말이 모두 옳다. 하지만 같은 코드와 같은 자원을 사용하는 스레드가 둘 이상으로 늘어나면 다르다. 권장사항: 문제를 노출하는 테스트 케이스를 작성하라. 프로그램 설정과 시스템 설정과 부하를 바꿔가며 자주 돌려라. 실패하면 원인을 추적하라. 스레드가 둘 이상일 때 지침은 다음과 같다. 말이 안 되는 실패는 잠정적인 스레드 문제로 취급하라. 다중 스레드를 고려하지 않은 순차 코드부터 제대로 돌게 만들자. 다중 스레드를 쓰는 코드 부분을 다양한 환경에 쉽게 끼워 넣을 수 있도록 스레드 코드를 구현하라. 다중 스레드를 쓰는 코드 부분을 상황에 맞춰 조정할 수 있게 작성하라. 프로세서 수보다 많은 스레드를 돌려보라. 다른 플랫폼에서 돌려보라. 코드에 보조 코드(instrument)를 넣어 돌려라. 강제로 실패를 일으키게 해보라. 말이 안되는 실패는 잠정적인 스레드 문제로 취급하라 다중 스레드 코드는 아주 드물게 한번씩 나타나서 실패를 재현하기 아주 어렵고 그로 인해 일회성 문제로 치부한다. 그렇게 되면 잘못된 코드위에 코드가 계속 쌓인다. ...

2023년 9월 6일 · 3 분 · 배준수

서버 시작하기

책너두 6기 3일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.25 ~ p.35 3일차 2. 설치와 설정 2.2 MySQL 서버의 시작과 종료 MySQL 서버가 설치되면 /etc/my.cnf 설정 파일이 준비되는데, 아주 기본적인 설정만 기록되어 있다. 테스트 용으론 충분하다. 나는 window라 이 챕터는 스킵.. MySQL 서버 업그레이드 서버 업그레이드 방법은 두가지 방법이 있다 MySQL 서버의 데이터 파일을 그대로 두고 업그레이드 => 인플레이스 업그레이드(In-Place Upgrade) mysqldump도구등을 이용해 데이터를 SQL 문장이나 텍스트 파일로 덤프한 후 새로 업그레이드 된 서버에서 덤프된 데이터를 적재 => 논리적 업그레이드(Logical Upgrade) 읽고 나서 아직까진 특별한 사항이 없다.. ...

2023년 9월 6일 · 1 분 · 배준수

특별한 상황에서의 면접

3일차 게일 라크만 맥도웰의 코딩 인터뷰 완전 분석 p.21 ~ p. 38 내용 정리 3. 특별한 상황에서의 면접 경력자 시스템 디자인 혹은 설계와 관련된 문제, 이력서에 관련된 질문은 중요하게 다뤄진다. 또한 경험을 내세울만한 질문도 충분히 만족스러운 답변을 해야 한다. 테스터 혹은 SDET SDET(Software Design Engineers in Test)는 테스트를 위한 코드를 작성한다. 따라서 코딩과 테스트 둘 다 잘해야 한다. 다음 절차를 추천한다. 테스트에 관련된 핵심적 질문 대비 : 펜을 어떻게 테스트할것인가? 코딩 관련 질문 대비 : 일반적인 개발자보단 덜하더라도 코딩 준비해야한다. 코딩 결과를 테스트 하는 훈련 : 테스트 해볼 줄 알아야 한다. 바람직한 경력을 위한 조언 입사를 위한 전략으로 SDET를 고르는 것은 좋지 않다. 개발직 전환이 매우 힘들기 때문이다. ...

2023년 9월 6일 · 2 분 · 배준수

5. 확률적 분석과 랜덤화된 알고리즘

5. 확률적 분석과 랜덤화된 알고리즘 5.1 고용 문제 직업 소개소에서 면접자를 추천 받으려면 적은 소개료를 지불해야 한다. 소개받아 면담한 후 일을 잘할 수 있는 사람이면 해고하고 새로운 지원자를 고용하면 된다. 고용하면 많은 소개료를 지불해야 한다. 이 떄 비용을 알고자 한다. Hire-ASSISTANT(n) 1 2 3 4 5 6 best = 0 // 0번은 가장 낮은 점수를 갖는 가상의 지원자 for i = 1 to n 지원자 i를 면접한다. if 지원자 i가 지원자 best보다 나은가? best = i 지원자 i를 고용한다. 위 의사코드가 비용을 의미한다. ...

2023년 9월 5일 · 3 분 · 배준수

동시성(2)

책너두 5기 26일차 로버트 C. 마틴의 클린코드 p. 230~ p.237 내용정리 13.동시성 난관 동시성을 구현하기 어려운 이유? 예시 1 2 3 4 5 6 7 public class X { private int lastIdUsed; public int getNextId() { return ++lastIdUsed; } } 인스턴스 X를 생성하고, lastIdUsed 필드를 42로 설정한 다음, 두 스레드가 해당 인스턴스를 공유한다. 두 스레드가 getNextId();를 호출한다고 가정헀을때 결과는? ...

2023년 9월 5일 · 4 분 · 배준수

면접 과정

2일차 게일 라크만 맥도웰의 코딩 인터뷰 완전 분석 p.1 ~ p. 20 내용 정리 1. 면접 과정 면접에서 알고리즘과 코딩은 아주 큰 부분을 차지한다. 면접관은 우리가 지금껏 보지 못했던 알고리즘 문제를 풀어내는 능력을 평가하고 싶어 한다. 면접은 다음을 통해 평가된다. 분석 능력 : 문제를 푸는 데 받은 도움, 최적화 정도, 소요 시간, 설계시 고려한 다양한 방법 코딩 능력 : 알고리즘을 적절한 코드로 표현, 깔끔한 구성, 에러 대비, 스타일 기술적 지식 및 컴퓨터 과학 기본 : 컴퓨터 과학에 대한 기본기 경험 : 기술적 결정, 프로젝트에 대한 경험, 진취성과 결단성 등 문화 / 의사 소통 능력 : 지원자의 성격과 회사의 가치, 면접관과 의사소통 회사마다 다른 비중을 가진다. 일반적인 알고리즘 문제 풀이는 위 3가지가 중요하다. ...

2023년 9월 5일 · 3 분 · 배준수