서버 시작하기

책너두 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 분 · 배준수

소개 DBMS 선택하기

책너두 6기 2일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.1 ~ p.24 2일차 01 소개 DBMS 선택의 기준 : 자기가 가장 잘 활용 할 수 있는 DBMS여야 하지만, 안정성 성능과 기능 커뮤니티나 인지도 순서로 고려할 수 있다. 02 설치와 설정 2.1 MySQL 서버 설치 설치 부분은 이미 이전에 다른 블로그를 보고 설치했기 때문에 넘어갔다. 2.2 MySQL 서버의 시작과 종료 윈도우는 MySQL Workbench라는 GUI를 통해 쉽게 제어할 수 있다. 책의 내용은 리눅스 운영체제의 내용을 다루고 있어 넘어갔다. ...

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

230904 기능 업데이트

날짜 2023년 9월 4일 업데이트 내용 사이드바 현재 카테고리내에서 서브카테고리로 들어가면 사이드바에 현재 위치하는 서브카테고리만 표시되었습니다. 심지어 누르면 잘못된 URL로 연결되었습니다. subpage라는 layout을 신설하여 이제 현재 속해있는 카테고리의 서브카테고리가 계속 표시되도록 하여 다른 서브카테고리로 쉽게 이동할 수 있도록 하였습니다. 변경 전 변경 후 ABOUT 기존 자기소개 내용이었던 ABOUT을 포트폴리오로 대체하였습니다. 이 후 더 다르고 성의있게(?) 업데이트할 예정입니다. 검색 현재 구글에서 크롤링이 제대로 되지 않아 일부 게시글들은 구글에서 검색되지 않습니다. 열심히 수동으로 URL 등록 중 입니다만 시간이 2주 정도 소요될 듯 합니다. ...

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

MySQL 공부 시작

책너두 6기 1일차 책 : Real MySQL 1권 주제 MySQL에 관한 모든 것. 독서 방법 읽고 ‘그렇구나’가 아니라, 적용해보고 따라해보고 손으로 익히자. 책너두에 임하는 다짐 그동안 내가 사용한 데이터베이스는 MongoDB 뿐이었다. 취준을 하다보면 느끼겠지만 SQL 관련하여 코딩테스트를 진행하기도 하고, 기술스택으로도 많이 요구한다. 진작에 공부했어야 했지만 미루다가 책너두를 통해 할 수 있는 원동력을 얻었다. 꼭 완주하자.

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

동시성(1)

책너두 5기 25일차 로버트 C. 마틴의 클린코드 p. 226~ p.229 내용 정리 13. 동시성 동시성과 깔끔한 코드는 양립하기 어렵다. 동시성이 필요한 이유? 동시성은 결합(coupling)을 없애는 전략이다. **무엇(what)**과 **언제(when)**을 분리하는 전략이다. 스레드가 하나인 프로그램은 무엇과 언제가 밀접하다. **무엇(what)**과 **언제(when)**를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다. 따라서 시스템을 이해하기 쉽고 문제를 분리하기도 쉽다. 예시: 서블릿(Servlet) 서블릿은 웹 혹은 EJB 컨테이너 아래서 돌아가는데 컨테이너는 동시성을 부분적으로 관리한다. 웹 요청이 들어올 때마다 웹 서버는 비동기식으로 서블릿을 실행한다. 원칙적으로 각 서블릿 스레드는 다른 서블릿 스레드와 무관하게 자신만의 세상에서 돌아간다. 서블릿 프로그래머는 동시성을 정확히 구현하도록 각별한 주의와 노력을 기울여야 한다. 그럼에도 서블릿 모델이 제공하는 구조적 이점은 아주 크다. ...

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

파이썬 알고리즘 : 트리의 지름, 운동, 짐 챙기는 숌

2023년 9월 4일 알고리즘 문제풀이 문제 1 백준 1167 문제 링크 1차 시도 나의 생각 입력값을 list로 받은 후 가장 앞인 0번 index는 어떤 정점의 정보인지를 나타낸다고 생각하였고 그 이후 둘 씩 짝지어서 도착 정점과 거리로 설정하였다. 이를 바탕으로 인접리스트를 만들고 index를 2씩 뛰어넘어 -1이 나오면 더이상 정보가 없으므로 다음 줄로 넘어갔다. 이후에는 두 점간의 거리를 bfs를 통해 탐색하도록 하였다. 모든 점간의 거리를 찾아 최댓값을 도출하였다. 하지만 메모리,시간초과가 뜬다… 다찾아보면 안되나보다. ...

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