목록Computer (246)
Machineboy空
문제요약이름, 부서를 입력받아 특정 형식으로 출력하라 난이도?풀이 포인트Null 값 처리https://machineboy0.tistory.com/302 C# Nullablity , Null 체크, NullReferenceExceptionNullabsence of a value.C# 8.0 이전// 참조 타입: null 가능string nullableReferenceType = "hello";nullableReferenceType = null;// 값 타입 : null이 될 수 있음을 명시해줘야 했다.int nonNullableValueType = 5;nonNullableValueType = null;machineboy0.tistory.com REVIEW C#에서도 Swift처럼 Optional Unwra..
문제요약 통장 이율에 따라 목표 금액에 도달하기 까지 걸리는 년수 구하기 난이도?풀이 포인트실수형 변환 : 더 큰 것으로 변환하여 계산 (float을 decimal로 바꾸어 계산)REVIEW 아무래도 영어라, 문제가 한 눈에 읽히지 않았다. 마지막 함수를 짜는 데 좀 해맸다. target에 도달하기 까지 반복을 돌리며 year을 증가시키는 방법도 간단한 건데!CODEusing System;static class SavingsAccount{ // 잔고에 따른 이율 반환 public static float InterestRate(decimal balance) { if (balance
문제요약세 수의 합이 주어지면, 피타고라스 법칙에 만족하는 세 수를 반환하라.a² + b² = c²a 난이도Medium풀이 포인트sum을 세 개의 숫자로 쪼개는 방법을 현명하게IEnumerable을 다루는 방법..https://machineboy0.tistory.com/299 C# Tuple, IEnumerableTuple이란?The tuples feature provides concise syntax to group multiple data elements in a lightweight data structures.여러 값을 변수 하나에 저장할 수 있는 자료형값 형식// 1. 튜플 선언(필드 이름 X) 및 값 접근(double, int)machineboy0.tistory.comREVIEW 합이 주어졌..
Tuple이란?The tuples feature provides concise syntax to group multiple data elements in a lightweight data structures.여러 값을 변수 하나에 저장할 수 있는 자료형값 형식// 1. 튜플 선언(필드 이름 X) 및 값 접근(double, int) t1 = (4.5, 3);Console.WriteLine(t1.Item1);Console.WriteLine(t1.Item2);// 2. 튜플 선언(필드 이름 O) 및 값 접근(double Sum, int Count) t2 = (4.5, 3);Console.WriteLine(t2.Sum);Console.WriteLine(t2.Count);// 3. 튜플 선언 (암시적)var t ..
0.0 강의 목표complete, general purpose working computer from the ground up. hardware and software.1. build the hardware of the computer, which we call Hack2. complete the picture and build the software hierarchy that sits on top of the computer컴퓨터가 어떻게 구성되는지를 살펴볼 것이다. 하드웨어부터 그 위에 쌓일 소프트웨어의 계층까지0.1 앞으로 나아갈 길보편적인 강의에서 하는 just prints Hello World on the screen.그리곤 어떤 줄이 어떤 명령을 내리고 하는 것을 배울텐데, There are ..
문제요약연쇄 가능한 패인지 확인하기 난이도Hard풀이 포인트백트래킹문제 해결을 위해 모든 가능한 선택을 시도한 후, 가능성이 없다고 판단되면 이전 단계로 되돌아가거나 이전 결정을 변경주로 재귀적인 방법IEnumerable : 컬렉션 인터페이스, 순차적으로 열거할 수 있게 해주는 기능Tuple https://machineboy0.tistory.com/230 분할정복(Divide and Conquer)과 백트래킹분할정복(Divide and Conquer)Divide : 큰 문제를 작은 문제로 분할한다.기저사례(base case)를 잘 설정하여 일정 기준 이상 분할되지 않도록 해야한다.Conquer: 작은 문제의 답을 모아 큰 문제의 답을 구한다machineboy0.tistory.com REVIEW 우선 무..
커뮤니케이션이 부족하면 설계 품질에 문제가 발생팀 개발에서는 팀원과 어떤 코드를 작업할 때 서로의 로직이 제대로 맞물리지 않아 버그로 이어지는 상황이 매우 흔합니다. 왜 이런 현상이 일어날까요? 서로가 무엇을 하고 있는지 잘 모르기 때문입니다. 왜 모를까요? 팀원 간의 커뮤니케이션이 부족하기 때문입니다. 바쁘다든지, 팀원들 사이가 원만하지 않다든지, 정보를 바라보는 관점이 다르다든지 등등 커뮤니케이션을 저해하는 어떤 요인이 있을 수 있습니다. 이처럼 팀원 간 의사소통에 문제가 있으면 버그가 많아지는 경향이 있습니다. 콘웨이 법칙커뮤니케이션 문제 해결과 관련된 콘웨이 법칙을 소개하겠습니다. 콘웨이 법칙(Conway's law)은 '시스템 구조는 그것을 설계하는 조직의 구조를 닮아간다'라는 법칙입니다. 조금..
설계 기술 관련 추천 도서C#과의 오랜 여행, 그리고 설계로 이어진 길 저도 처음부터 설계에 관심과 지식이 있었던 것은 아닙니다. 과거에 C#을 사용해서 어떤 개발 프로젝트에 참여했을 때, 엄청난 레거시 코드 떄문에 고생했던 적이 있습니다. 버그는 계속해서 발생하고, 프로젝트는 산으로 가고 있고, 야근도 매일매일 계속되었습니다. 점점 지쳐가면서 '대체 왜 이렇게 버그가 많을까? 대체 왜 이렇게 되어버린 것일까?'라는 생각이 들었습니다. 그러던 어느 날 좋은 기술서라도 읽어 봐야겠다고 생각하고, 회사의 책장을 이리저리 보다가 우연히 이라는 책을 보았습니다. '어떻게 하면 버그를 줄일 수 있는가'같은 내용을 보고 저는 큰 충격을 받았습니다. 코드를 변경할 때 버그가 발생하게 만드는 설계가 있다... 제가..
