TIL 25

MySQL 스케일링

비즈니스가 빠르게 성장하는 환경에서는 트래픽 증가, 환경 복잡, 데이터 요구 사항 증가 등이 발생할 수 있음. 스케일링이란? 스케일링(Scaling) 증가하는 트래픽을 지원하는 시스템의 기능. 시스템의 확장성이 좋은지 나쁜지에 대한 기준은 비용과 단순성으로 측정 가능. 확장 능력을 높이는데 너무 많은 비용이 들거나 복잡하면 이 문제를 해결하는데 더 많은 노력을 들일 수 있음 용량(Capacity) 주어진 시간 내에 수행할 수 있는 일의 양. 시스템의 최대 처리량이 용량과 같다고 볼 수는 없음. 실제 용량은 수용 가능한 성능을 제공하면서 달성할 수 있는 처리량으로 정의 거시적인 관점에서 확장성은 리소스를 추가하여 용량을 추가할 수 있는 능력을 의미. 스케일링 문제의 다양한 형태 데이터의 양: 너무 많은 데..

TIL 2023.07.02

[면접을 위한 CS 전공지식 노트] 2.네트워크/ 3.운영체제

를 읽는 8주간의 스터디가 지난주에 끝이 났다! 나는 다행히 8주 전체를 참여해서 보증급 환급 8만원 + 모인 벌금에서 차등 지급 8만원을 받았다. 내가 낸 보증금은 8만원이었는데 상금(?) 8만원까지 합쳐서 총 16만원을 환급받게 되었다. 벌금이 많았다는건 그만큼 다른분들이 많이 참여를 안한거여서 아쉽기도 하지만ㅠㅠ 그 아쉬움을 금융치료 했다 허허 기본적인 CS 지식들을 쭉 한번 살펴볼 수 있어서 좋았고 매주 일요일 오전 9시에 스터디를 했기에 주말을 부지런히 보낼 수 있었다. 사놓고 꽤 오래 혼자서는 안읽던 책이었는데 이렇게 강제성을 가진 스터디를 하는게 나에게는 잘 맞는 것 같다. 오늘 내용은 지난번에 쓴 네트워크 1편 에 이은 네트워크 정리 2편 및 운영체제 정리이다. 2. 네트워크 2.3 네트워..

TIL 2022.10.02

2022 인프콘 참가 후기

예전에 신청해두었던 인프콘의 참가자 선정 메일을 받았다! 회사에서도 몇몇 동료분들이 신청하셨는데 나만 당첨이 되어서 신청한 분들이 꽤 많았구나 싶었다. 아는 분들이랑 같이 갔으면 더 재밌었을텐데 조금 아쉬웠지만 혼자서도 잘 다니는 성격이라서 오후 반차를 내고 다녀왔다 마침 회사가 삼성역에 있어서 코엑스를 가기에 아주 적절했다. 최대한 호다닥 참여하고 싶어서 이날은 재택근무를 하지 않고 사무실 출근을 했다. 마무리 하고 갈 일이 있어서 두시 반 조금 넘어서 도착했는데 이미 티셔츠 사이즈가 XL만 남았을 정도로 많은 분들이 등록하셨다. 듣고싶은 세션들이 많아서 어떤걸 들어야할지 고민이 많았다. 관심있는 세션이 동시간대에 진행되어 못들은 것도 있어서 인프런에서 녹화를 하셨다면 부디 녹화본을 풀어주시길...하는..

TIL 2022.09.04

[면접을 위한 CS 전공지식 노트] 2. 네트워크-1

요즘 '면접을 위한 CS 전공지식 노트'라는 책으로 스터디를 하면서 내용 정리를 하고 있는데 면접 보기 전이나 기본적인 CS 공부의 흐름을 잡을 때 보기 좋은 것 같다!(내돈내산임) 그래서 우선 한번 읽고 -> 이 내용 기반으로 내가 심화 내용을 찾아서 공부하고 -> 언젠가 면접이 있으면 다시 책을 읽어보는 식으로 보려고 한다.(아직 이직 생각은 없어서 면접은 아마 먼 훗날...) 물론 이 책 한권으로 깊이있는 CS 지식까지 완전 정복하기에는 한계가 있다. 예를 들어서 관계형 DB와 NoSQL DB의 차이는 무엇이고 각각 어떤 종류가 있나요? 라고 묻는 질문에는 책에 나온 내용으로 충분히 답변이 가능하지만 Django를 쓸 때 PostreSQL의 장점같은 더 나아간 질문이나 심화된 꼬리질문은 책을 기반으..

TIL 2022.08.21

[노마드코더 북클럽] 클린코드 9. 단위 테스트

오늘 TIL 3줄 요약 테스트 코드는 실제 코드 못지 않게 중요하다 테스트 당 개념 하나 F.I.R.S.T Fast, Independant, Repeatable, Self-validating, Timely TIL (Today I Learned) 날짜 2022. 03.06 오늘 읽은 범위 9장. 단위테스트 책에서 기억하고 싶은 내용을 써보세요. 테스트 코드가 복잡할수록 실제 코드를 짜는 시간보다 테스트 케이스를 추가하는 시간이 더 걸리기 십상이다. 테스트 코드는 실제 코드 못지 않게 중요하다 깨끗한 테스트 코드를 만들려면? 세 가지가 필요하다. 가독성, 가독성, 가독성. 빠르게, 독립적으로, 반복가능하게, 자가검증하는, 적시에 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 테스트 코드가 중요한걸..

TIL 2022.03.06

[노마드코더 북클럽] 클린코드 6. 객체와 자료 구조

오늘 읽은 범위 6. 객체와 자료 구조 책에서 기억하고 싶은 내용을 써보세요. 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.(p.128) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 나는 python을 주로 사용하고 Java를 잘 알지 못하다보니 이 파트를 이해하는 것이 쉽지 않았다. 아직 개발을 시작한지 1년이 조금 넘은 주니어라서 자바를 배워보고 싶은 마음도 있는 동시에 파이썬에 집중해야하는 시기 같기도 해서 고민 중이다. 궁금한 내용이 있거나, 잘 이해되지 않..

TIL 2022.03.01

[노마드코더 북클럽] 클린코드 5. 형식 맞추기

오늘 읽은 범위 5. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드 형식은 중요하다! 너무 중요해서 무시하기 어렵다. 너무나도 중요하므로 융통성 없이 맹목적으로 따르면 안된다, 코드 형식은 의사소통의 일환이다(p.96) 프로그래머라면 각자 선호하는 규칙이 있다. 하지만 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다(p.113) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 Pycharm을 사용하면 코드형식이 맞지 않는 부분을 표시해줘서 그동안 크게 신경쓰지는 않았던 것 같다. 개발자로서 첫 이직을 하고 나서 같은 언어를 쓰더라도 팀마다 다른 규칙이 있다는 것을 실제로 배울 수 있었다. 프로그래머라면 각자 선호하는 규칙이 있지만 팀에 속한다면 팀 규칙을 선호해야한다는 문장이 ..

TIL 2022.03.01

[노마드코더 북클럽] 클린코드 4. 주석

오늘 읽은 범위 4. 주석 책에서 기억하고 싶은 내용을 써보세요. 잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미친다. (p.68) 진실은 한곳에만 존재한다. 바로 코드다. 코드만이 자기가 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 (간혹 필요할지라도) 주석을 가능한 줄이도록 꾸준히 노력해야 한다.(p.68) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 나는 클래스나 함수의 기능을 설명하면서 중간중간 주석을 다는 편이라서 '코드로 설명할 수 있다면 주석을 굳이 달 필요가 없다'는 식의 의견이 있으리라고는 잘 생각해보지 못한 것 같..

TIL 2022.02.24

[노마드코더 북클럽] 클린코드 3.함수

오늘 읽은 범위 3장. 함수 책에서 기억하고 싶은 내용을 써보세요. 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. 그 한가지만을 해야 한다(p.44) 함수가 확실히 한가지 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.(p.45-46) 내가 함수를 짤 때도 마찬가지다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다...(중략) 그런 다음 나는 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다. (p.61) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 프로그래밍을 잘 하는 사람들은 처음부터 완벽하게 깔끔한 코드를 작..

TIL 2022.02.23

[노마드코더 북클럽] 클린코드 2. 의미있는 이름

오늘 읽은 범위 2장. 의미있는 이름 책에서 기억하고 싶은 내용을 써보세요. 의도를 분명히 밝혀라 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 그릇된 정보를 피하라 - 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다.(ex hp, ais, sco는 유닉스 플랫폼이나 유닉스 변종을 가리키는 이름) - 실제 List가 아니라면 accountList로 명명하지 않는다. - 서로 흡사한 이름을 사용하지 않도록 주의한다.(ex. XYZControllerForEfficientHandlingOfString, XYZControllerForEffici..

TIL 2022.02.20