분류 전체보기107 C++ 기초(코딩 스타일) 사실 코딩 스타일에 대한 기준을 명확히 제시하기는 어렵습니다. 하지만 잘 작성된 코드들을 보면 몇 가지 공통적인 특징들을 볼 수 있습니다. 문서화 코드작성 시 충분한 주석을 달아 문서화하는 것이 중요합니다. 예를 들어 함수가 어떤 역할을 하는 지, 입력 값과 출력값은 무엇인지, 함수를 어떻게 사용해야 하는지 등을 명확하게 기술하는 것이 좋습니다. /** * @brief 두 정수의 합을 계산한다. * * @param a : 첫번째 정수. * @param b : 두번째 정수. * @return 두 정수의 합. */ int sum(int a, int b) { return a + b; } 분할 코드를 기능 단위로 나누어 모듈화하는 것이 좋습니다. 이렇게 하면 코드의 유지보수성이 좋아지고, 코드 중복도 줄일 수 .. 2023. 3. 6. Part2. C# 기초 다지기(13. 속성) 일부 다른 언어들도 마찬가지겠지만 보통 정보 은닉과 캡슐화를 위해 필드를 private로 설정하고 public으로 게터(getter)와 세터(setter)를 제공합니다. C#도 마찬가지 방법으로 사용할 수 있지만, 속성(Property)이라는 개념을 활용하면 좀 더 편리하고 안전하게 이러한 목적을 달성할 수 있습니다. 정보 은닉과 캡슐화 C#에서 속성은 객체 지향 프로그래밍의 핵심 개념 중 하나인 정보 은닉(information hiding)을 위한 구문으로, 객체의 필드 값을 안전하고 편리하게 제어할 수 있도록 하는 방법입니다. public class Person { private string name; private int age; public string Name { get { return name.. 2023. 3. 5. [C# Numerical analysis Lib] Bisection Method 이분법(Bisection Method) 이분법은 수치해석에서 방정식의 근을 찾는 알고리즘 중 하나입니다. 이 알고리즘은 주어진 구간에서 함수 값의 부호가 서로 다른 두 점을 찾아서 그 중간 지점에서 함수값이 0에 가장 가까워지는 근을 찾아가는 방식으로 동작합니다. 알고리즘 순서 알고리즘 동작 순서는 다음과 같습니다. 주어진 구간 [a, b]에서 함수 f(x)의 값이 서로 다른 두 점을 찾습니다. 이를 위해 구간의 중앙값인 c를 구하고, f(a)와 f(c)의 부호가 다르면 [a, c]로 구간을 좁히고, f(c)와 f(b)의 부호가 다르면 [c, b]로 구간을 좁힙니다. 구간을 좁힌 후, 새로운 중앙값 c를 구합니다. 이 때, c = (a + b) / 2로 구할 수 있습니다. 새로운 중앙값 c에서 함수값 f.. 2023. 3. 5. [C# Numerical analysis Lib] 수치 해석 라이브러리 개발 개발에 들어가며... 과거 학부시절 수치해석을 공부하면서 사용했던 코드들이 전부 C나 C++로 구현되어 있었습니다. 당시에는 C#으로 개발된 라이브러리를 쉽게 구할 수 없었기 때문에 누군가가 집필한 참고 도서를 보면서 필요한 알고리즘을 직접 구현해야 했습니다. 그때 구현한 코드들은 플로피 디스크를 거쳐 지금은 외장하드에 고이 보관되어 있지만 활용을 안 하는 지금 사장시키기에는 아깝다는 생각이 들었습니다. 코드도 있고, 레퍼런스도 있고, 과거의 구현 경험도 있기때문에 이제는 C#으로 재탄생시켜 나만의 C# 라이브러리 목록에 추가해 보면 어떨까 하는 생각을 하게 되었습니다. 개인적인 생각이지만 자신만의 라이브러리를 만든다는 것은 매우 멋진 일이라고 생각합니다. 다양한 분야에서 사용되는 라이브러리를 만들다 보.. 2023. 3. 5. [C# WinForm] RadioButton 사용하기 RadioButton 컨트롤은 여러 개의 옵션 중에서 하나를 선택하는 데 사용됩니다. RadioButton 컨트롤은 사용자가 선택한 옵션에 따라 프로그램의 동작을 변경하는 데 유용합니다. 이번 포스팅에서는 RadioButton 컨트롤을 사용하여 선택한 색상에 따라 텍스트의 색상이 변경되는 간단한 예제를 만들어 보겠습니다. 폼 디자인 하기 RadioButton은 일반적으로 그룹박스와 함께 사용됩니다. 그룹 박스(GroupBox)는 RadioButton 컨트롤을 묶어서 그룹으로 만들어 줍니다. 이렇게 하면 사용자가 RadioButton 중 하나를 선택하면 그룹 박스 내에서 다른 RadioButton 컨트롤의 선택이 자동으로 해제됩니다. 먼저 다음과 같이 RadioButton , Groupbox, Label .. 2023. 3. 3. C++ 기초(std::string_view 클래스) std::string_view 클래스는 C++17부터 도입된 새로운 문자열 타입으로, 문자열 데이터의 읽기 전용 뷰를 제공합니다. 이 클래스는 문자열 데이터를 복사하지 않고, 내부적으로 포인터와 길이 정보만을 저장하여 문자열 데이터를 읽을 수 있는 뷰를 제공합니다. 주요 특징 std::string_view 클래스의 주요 특징은 다음과 같습니다. 읽기 전용 뷰 : 원본 문자열 데이터를 수정할 수 없으며, 읽기 전용 뷰만을 제공합니다. 복사 없음 : 문자열 데이터를 복사하지 않으므로, 문자열 처리 성능을 향상시킵니다. 메모리 안전성 : 문자열 데이터를 복사하지 않으므로, 메모리 안전성을 보장합니다. 호환성 : 다른 문자열 타입과 호환되는 타입으로 변환하여 사용할 수 있습니다. 사용 방법 std::string.. 2023. 3. 3. 이전 1 2 3 4 5 6 ··· 18 다음