All Pages
17. UserControl
17. UserControl
2024.12.1101.더보기1. 2. d:DesignHeight="80" d:DesignWidth="380"> 3.private Contact contact;public Contact Contact{ get { return contact; } set { contact = value; }} 4. nameTextBlock.Text = contact.Name;emailTextBlock.Text = contact.Email;phoneTextBlock.Text = contact.Phone; 02.더보기1.xmlns:uc="clr-namespace:ContactApp..
16. SQLite Update, Delete
16. SQLite Update, Delete
2024.12.1101.더보기1. Title="ContactDetailsWindow" Height="300" Width="260"> 2. 3. 4.// EditContactWindow 를 출력하고,// 생성자로 contactListView 컨트롤에서 선택한 Contact 객체를 전달합니다.EditContactWindow newContactWindow = new EditContactWindow(selectCo..
15. Linq
15. Linq
2024.12.1101.더보기1.contacts = (connection.Table().ToList().OrderBy(contact => contact.Name)).ToList(); 2. 02.더보기1.// Linq 경우var searchResultList = (from contact in contacts where contact.Name.ToLower().Contains(searchTextBox.Text.ToLower()) orderby contact.Name select contact).ToList(); 03.더보기
14. ListView - 2
14. ListView - 2
2024.12.1101.더보기1. Title="MainWindow" Height="400" Width="400"> 2. 3.public partial class MainWindow : Window{ List contacts; public Mai..
13. ListView - 1
13. ListView - 1
2024.12.1001.더보기1. 2.// Contact 객체 형태를 리스트로 선언하여 준비하고List contacts;// SQLite에서 테이블을 읽어와 Contact 리스트에 담고using (SQLiteConnection connection = new SQLiteConnection(App.databasePath)){ connection.CreateTable(); contacts = connection.Table().ToList();}if (contacts != null){ //Contact 모델의 리스트 요소를 하나씩 가져와 foreach (var item in contacts) { // contactListView 컨트롤에 읽어들인 객체를 추가합니다. conta..
12. SQLite Create, Read
12. SQLite Create, Read
2024.12.1001.더보기1. 02.더보기1. 2. 3.public class Contact{ public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } public string Phone { get; set; }} 03.더보기1. 2. 3.// AddNewContactWindow 윈도우의 입력 TextBox 컨트롤에서 값을 가져와// Contact 데이터 모델 객체의 필드에 각각 값을 할당한다.Contact contact = new Contact(){ // 모델에서 Id 필드는 [PrimaryKey, AutoIncrement] 이기 때문에 // 값을 지정..
11. ContractApp
11. ContractApp
2024.12.091.더보기1. 2. Title="NewContractWindow" Height="300" Width="260" > 3. 2.더보기1. Title="MainWindow" Height="400" Width="400"> ..
04. Git 연습 (메모장)
04. Git 연습 (메모장)
2024.12.04주의사항더보기 1. 아래 실습 로드맵의 [1. Git 로컬 저장소에서 커밋 관리하기] 파트를 Git과 메모장을 사용해서 연습해 봅시다. 2. 실습 로드맵 3. 저장, 불러오기, 파일명(식별자) 저장과 불러오기, 파일명(식별자)이라는 개념에 대해 명확히 인지하고 있는지 한 번 확인합시다. 가장 먼저, 모든 프로그램은 데이터를 "저장" 하는 기능이 있습니다.단순히 문서를 작성하는 프로그램부터, 이미지를 편집하거나, 영상, 음성, 게임 등을 다루는 모든 프로그램들은 데이터를 저장 하는 기능이 있습니다. 이 때 저장되는 데이터를 구분하기 위해 고유한 식별자("파일명")을 사용합니다.이름을 통해 세상의 사물을 구분하듯이, 파일명을 통해 저장된 데이터들을 식별 할 수 있습니다. 그리고 마지막으로 사용자..
03. Git 실습 로드맵
03. Git 실습 로드맵
2024.12.041. 실습 로드맵더보기 1. Git 학습의 시작은 협업을 고려하지 않고, Git 로컬 저장소를 사용해 혼자 개발한다고 가정합니다. Git 소스코드 작업의 특정 시점을 저장하고, 저장된 소스코드를 불러오는 기술을 우선 학습합니다. 2) 그 뒤에 GitHub 원격 저장소를 사용합니다.로컬 저장소 작업물을, 원격 저장소에 저장하는 방법을 학습합니다. 3) Git, GitHub 를 협업에 어떻게 사용하는지 구조를 파악합니다. 4) 마지막으로, Git, GitHub의 사용 구조를 이해한 뒤에협업 과정에서 발생하는 소스코드 공유 문제에 대한 대처 기술을 이해합니다.
02. Git 이 필요한 이유
02. Git 이 필요한 이유
2024.12.040. 학습 관점더보기 우리가 배우는 모든 프로그래밍 기술은, 폰 노이만 구조 이래 기본 원리와 기술 뿌리가 변하지 않았습니다. 소프트웨어 개발 과정에서 발생한 문제점을 개선시킨 것입니다.Git 도 이러한 관점에서 소프트웨어 개발 문제를 개선시킨 하나의 프로그래밍 기술입니다. Git 을 학습하는 방향은소프트웨어 개발 과정에 어떤 문제가 있었는지 파악하고,Git으로 어떻게 해결하는지 이해합니다. 이러한 문제와 원인 파악과 개선 방법의 이해는 모든 소프트웨어 개발 기술 학습에서 동일하게 적용할 수 있습니다. 1. 문서 관리의 문제점더보기1.1 목표 Git으로 해결해야 할 소프트웨어 개발 프로세스 문제를 파악하기에 앞서 문서라는 익숙한 작업에서 발생하는 문제를 먼저 파악합니다. 1.2 "게임 저장..
01. Git 실습 환경 설정
01. Git 실습 환경 설정
2024.12.041. Git 설치더보기 Git 환경설정 Git 환경설정" data-og-description="Step 1. Git 다운로드더보기 Step 2. 설치더보기2.43.0 버전 설치를 기준으로 작성되어, 최신 버전과 차이가 있을 수 있습니다. 기존에 git 이 설치된 경우, 자동으로 이전 버전을 제거하고 재설치" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/265" data-og-url="https://basiclike.tistory.com/265" data-og-image="https://scrap.kakaocdn.net/dn/cktHUg/hyXGMC5NPa/Oarf3u4hd5ZGRcNKcKvt..
17. WeatherApp - MVVM(2)
17. WeatherApp - MVVM(2)
2024.11.2901. ICommand더보기01.1 ICommand 용도: 컨트롤 이벤트 핸들러 대체합니다.예) 코드 비하인드 버튼 클릭 이벤트 핸들러를, ViewModel 클래스 로직에서 구현 합니다. 01.2 동작구조CanExecuteChanged 이벤트가 발생하면 CanExecute( )를 통해 컨트롤이 사용가능한지 체크하고UI 사용자 명령이 발생하면 IsEnable이 true로 활성화된 컨트롤은Execute( ) 에 정의된 동작이 실행됩니다. 01.3 ICommand 구현 및 사용방법ICommand 구현체를 MyCommand라고 가정하면아래와 같이, '메서드'를 이벤트 핸들러 처럼 사용합니다.MyCommand cmd = new MyCommand(메서드); 02.더보기02.1 02.2public ..