본문 바로가기
반응형

프로그래밍551

소프트웨어 공학이란 무엇인가? 소프트웨어 공학(Software Engineering) 소프트웨어 공학은 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다. 즉, 공학을 소프트웨어에 적용하는 것이다. 소프트웨어 공학이라는 용어가 처음 나타난 곳은 1968년 나토 소프트웨어 공학 학회로, 당시에는 소프트웨어 위기에 관해 사람들이 주의를 기울여 생각할 것을 장려하기 위해서였다. 그 이후로, 하나의 직업으로서, 또한 학문의 한 분야로서 꾸준히 품질, 비용, 유지 보수성, 빌드 속도가 개선된 소프트웨어를 창조하는데 전념해 왔다. 이 분야는 그 자매 분야인 공학에 비해 아직도 상대적으로 젊은 분야로, 소프트웨어 공학이란 실제로 무엇이며 전통적인 공학의 정의에 부합하는지에 대한 논의가 이루.. 2023. 10. 20.
GRASP 패턴에 대해서 들어가기에 앞서서 어느 패턴을 먼저 설명하더라도 약간의 준비 작업은 필요하다. Factory Method 패턴을 설명하려고 하면, Creational 패턴들이 전체적으로 다루고 있는 두 가지 문제에 대한 설명이 필요하다. Creational 패턴을 사용하는 목적은 주로 두 가지라고 할 수 있는데, 하나는 시스템이 사용하는 Concrete 클래스가 무엇인지 감추는 것이고, 또 다른 하나는 객체가 어떻게 생성되며, 구성되는지 감추는 것이다. 이 두 가지가 주요한 목표라면, 어떻게 왜 그 목표를 설정하게 되었는지를 이해하면 Creational 패턴들에 대한 전반을 이해하고, 각 패턴들을 이해하는데 도움이 될 것이다. GRASP 패턴 General Responsibility Assignment Software .. 2023. 10. 19.
[프로그래머스 Programmers] 양과 늑대 (풀이 진행중) 문제 설명 2진 트리 모양 초원의 각 노드에 늑대와 양이 한 마리씩 놓여 있습니다. 이 초원의 루트 노드에서 출발하여 각 노드를 돌아다니며 양을 모으려 합니다. 각 노드를 방문할 때 마다 해당 노드에 있던 양과 늑대가 당신을 따라오게 됩니다. 이때, 늑대는 양을 잡아먹을 기회를 노리고 있으며, 당신이 모은 양의 수보다 늑대의 수가 같거나 더 많아지면 바로 모든 양을 잡아먹어 버립니다. 당신은 중간에 양이 늑대에게 잡아먹히지 않도록 하면서 최대한 많은 수의 양을 모아서 다시 루트 노드로 돌아오려 합니다. 예를 들어, 위 그림의 경우(루트 노드에는 항상 양이 있습니다) 0번 노드(루트 노드)에서 출발하면 양을 한마리 모을 수 있습니다. 다음으로 1번 노드로 이동하면 당신이 모은 양은 두 마리가 됩니다. 이때.. 2023. 10. 18.
콘웨이의 법칙(Conway's law)에 대해서 콘웨이의 법칙(Conway's law)Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.소프트웨어 구조는 해당 소프트웨어를 개발한 조직의 커뮤니케이션 구조를 닮게 된다.콘웨이가 논문을 Havard Business Review에 제출했을 때에는 가설을 입증할 수 없다는 이유로 거절당했다고 한다.그러나 개발자들 사이에서는 상식의 반열에 오른 법칙이다. 아마존(Amazon)의 사례아마존의 제프 베조스는 피자 두 판의 법칙을 제시한 것으로 유명하다. 한 팀이 모여서 피자를 먹는다고 하면 피자 두.. 2023. 10. 18.
C# Convert 메서드 Convert.ToString(Int32, Int32) 정의 네임스페이스: System 어셈블리: System.Runtime.dll 32비트 부호 있는 정수 값을 지정된 기수에 해당하는 문자열 표현으로 변환합니다. value를 특정 진수로 변환한다. public static string ToString(int value, int toBase); 매개변수 value Int32 변환할 32비트 부호 있는 정수 toBase Int32 반환 값의 기수로서 2,8,10 또는 16 반환 String value 기수를 사용한 toBase의 문자열 표현 예외 ArgumentException toBase가 2, 8, 10 또는 16이 아님 Convert.ToInt32(String, Int32) 정의 네임스페이스: Sys.. 2023. 10. 12.
[프로그래머스 Programmers] 이진수 더하기 문제 설명 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. 제한 사항 return 값은 이진수를 의미하는 문자열입니다. 1 ≤ bin1, bin2의 길이 ≤ 10 bin1과 bin2는 0과 1로만 이루어져 있습니다. bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 코드 using System; public class Solution { public string solution(stri.. 2023. 10. 12.