반응형

전체 글 119

[C# 8.0] 배열 접근을 파이썬처럼! Range와 Index (ft. 깊은 복사)

환영합니다, Rolling Ress의 카루입니다. C# 8.0 들어서 슬라이싱 기능이 추가가 됐죠. 이제 더 이상 substring() 같은 거 쓸 필요 없습니다. 바로 예제 코드부터 볼게요. ** C# 9.0 / 10.0 의 최상위 문 및 전역 using을 사용합니다. int[] classes = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, }; Console.WriteLine($"마지막 반은 {classes[^1]}반 입니다."); 출력 결과: 마지막 반은 8반 입니다. 배열 형식 컨테이너에 접근할 수 있는 방법이 다양해졌습니다. 인덱스 연산이 많아졌는데, 역순 인덱스가 추가되었습니다. 파이썬에서 [-1]라 하면 마지막 원소를 선택했는데, C# 에서는 [^1]을 통해 마지막 원소를..

카테고리 없음 2022.03.02

GGHS Time Table 5 공식 홍보자료

고양국제고 10기 전용 시간표 프로그램, GGHS Time Table이 새롭게 업데이트되었습니다! GTT는 10기 전용 고양국제고 시간표 프로그램으로, 학급과 선택과목을 고르면 자신만의 시간표를 만들어주는 프로그램입니다. 전면등교를 시행하는 관계로 이번에는 ZOOM 링크 기능이 빠져있지만, 대신 독특하고 새로운 기능을 선보입니다. GTT 5는 3학년 시간표를 정식으로 지원하며, GGHS Todo 페이지를 통해 수행평가 일정 관리도 동시에 할 수 있습니다. 또한, 이번에 새롭게 추가된 GGHS Anonymous 페이지에서 고양국제고 10기끼리 자유로운 익명 채팅이 가능합니다. 각종 공지를 받고, 피드백을 보내보세요 :) 고양국제고 10기의 3학년 생활을 응원합니다! ** GGHS Anonymous 채팅 기..

고양국제고 2022.03.02

GGHS Time Table 5 Preview 설명서

환영합니다, Rolling Ress의 카루입니다. ​ GGHS Time Table은 제가 2021년 5월부터 만들었던 고양국제고 시간표 프로그램입니다. 5월 첫째 주, GTT 1.0을 시작으로 지금까지 꾸준히 업데이트 되었는데요. 단순한 시간표에서 끝나지 않고, 선택과목에 맞추어 본인만의 시간표를 보여줍니다. 뿐만 아니라, 시간표의 각 칸을 누르면 해당 과목의 줌 링크와 및 클래스룸 링크까지 띄워줍니다. 온라인 수업이 이제 시행되지 않아 줌 링크는 삭제됐지만, 대신 다양한 기능을 추가했습니다. Windows 10 및 Windows 11에서 GGHS Time Table 설치가 가능합니다. 시작 버튼을 누르고 'Microsoft Store'을 입력하여 마이크로소프트 스토어에 들어가주세요. (사진과 약간 다를..

고양국제고 2022.02.28

[C# 10.0] C#의 편리한 구문들 모음 (Syntax Sugar)

환영합니다, Rolling Ress의 카루입니다. 오늘은 C# 의 여러 편리한 문법들을 소개해드리려고 합니다. 처음에는 C# 코드들이 상당히 번잡하다는 느낌이 들었는데, 8.0부터 점점 간결해지더니 10.0 현재는 오히려 다른 언어들에 비해서도 상당히 깔끔해졌어요. 하나씩 살펴봅시다. ** C# 10.0에만 한정된 내용은 아닙니다. 7.x부터 9.0까지의 내용이 섞여있습니다. 1. 최상위문(Top-level statements) (C# 9.0) 사실 이건 쓸 일이 많지 않아보이는데, 그래도 간단한 테스트용으로는 충분히 요긴하게 쓸 수 있으니까 가져와봤습니다. C# 9.0 이상 환경에서 동작합니다. 기타 프로젝트에서는 을 Preview로 설정해주세요. using System; namespace Applic..

C# & .NET 2022.02.23

GGHS Time Table 5 개발 스토리 #4: 최적화를 위해

환영합니다, Rolling Ress의 카루입니다. 사실 지금쯤이라면 GGHS Time Table 5 베타4가 올라갔어야 합니다. 그런데 제가 실수로 개발자용 기능을 모두에게 열어두고 제출한 바람에(...) 급하게 내렸습니다. 소소하게 Bugfix를 하고 있었는데, 기존 채팅 기능에서 문제가 있었던 알고리즘을 같이 손보기로 했습니다. 이게 ReloadChat() 메서드 본문입니다. 보시면 아시겠지만...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 맞아요. 잘못 본 거 아닙니다. 매 초마다 (chatDelay = 1000) 서버에 있는 모든 내용을 통으로 긁어와서 채팅창에 뿌리는 겁니다. 새로 보낸 메시지가 없더라도. 이게 뭔... 그래요. 저땐 그걸 생각을 못했습니다. private async Task LoadChatsAsync(..

고양국제고 2022.02.23

GGHS Time Table 5 개발 스토리 #3: 베타버전 배포 완료

환영합니다, Rolling Ress의 카루입니다. GGHS Time Table 5의 베타 버전이 오늘 오후 10시 30분 경 마이크로소프트 스토어에 올라갔습니다. 임시 시간표가 나오지 않은 관계로 시간표 기능은 정상 동작하지 않습니다. 다만, 선택과목을 선택하면 정식 버전 배포시 그대로 유지되어 업데이트 됩니다 ;) 그럼 뭘 베타로 테스트하냐? 채팅방이요. SQL 서버와 직접 연동해서 10기 학생들에게 실시간 채팅 기능을 제공합니다. 심심할 때 들어와서 이야기하도록...ㅋㅋㅋㅋㅋㅋ 물론, 누군가를 왕따시킨다거나 기타 부적절한 사용이 확인되면 제가 직접 검열을 할 겁니다. 그런데 역시... 새로 도입한 채팅 기능에서 문제가 생겨버립니다. System.NullReferenceException이면 뭔가 Nul..

고양국제고 2022.02.23

[C# UWP] UWP에서 설정값 저장하고 불러오기

환영합니다, Rolling Ress의 카루입니다. ​ GGHS Time Table을 개발하면서 이제껏 설정값을 그냥 StorageFile 클래스로 걍 파일에 텍스트로 읽고 쓰며 저장했습니다. 그러다가 XmlWriter에 대해 알게되고 그 뒤로는 그걸 써왔는데, UWP에서 제공하는 아주 쉽고 간단한 방법이 있더군요. // 설정 쓰기 SubjectList list = new(ttc.Korean.Selected, ttc.Math.Selected, ttc.Social.Selected, ttc.Language.Selected, ttc.Global1.Selected, ttc.Global2.Selected); DataWriter writeSubject = new(DataFile, list); DataWriter wr..

C# & .NET 2022.02.23

[C# UWP] UWP에선 ConfiguraionManager 대신 이걸 사용하세요

환영합니다, Rolling Ress의 카루입니다. 보통 앱을 개발할 때, SQL 등의 connectionString은 app.config 에 넣어두죠. 그리고 C# 에서는 ConfigurationManager을 이용해 불러들입니다. 그게 이상처럼만 잘 된다면 얼마나 좋을까요. 계속 오류가 났습니다. 보아하니 UWP 플랫폼에서는 특유의 폐쇄성으로 인해 ConfigurationManager가 제대로 동작하지 않는다는 모양이에요. File 클래스도 사용하지 못해서 Windows.Storage의 클래스들을 사용해야만 하는데, 여러모로 불편합니다.​ ConfigurationManager and AppSettings in universal (UWP) app I would like to store an API key..

C# & .NET 2022.02.23

GGHS Time Table 5 개발 스토리 #2: 새로운 기능! 고양국제고 익명채팅

환영합니다, Rolling Ress의 카루입니다. 아마 마지막 GTT가 될, GGHS Time Table 5. 출시를 임박해서 대규모 업데이트를 앞두고 있습니다. 아마 3학년들은 온라인 수업이 크게 줄어들기 때문에 ZOOM 링크 기능을 다 빼버리려고 계획중입니다. 그런데, 사라지는 게 있으면 생기는 게 있어야겠죠. 무슨 기능을 넣을까 하다가, 익명 단체채팅방을 고민하고 있습니다. ​ 2-4반의 '무야호'라든가 2-8반의 '문학소년'처럼 모두가 섞여 서로를 모르는 상태에서 채팅을 한다. 뭐, 싫은 과목에 대해 불평할 수도 있고, 친구들끼리 도움을 얻을 수도 있고. 물론 욕설이나 기타 문제가 발생할 수도 있겠지만, 제가 항상 상주하면서 제지할 예정입니다. 뭐 100% 익명이니만큼 차단을 한다든가 할 수는 없..

고양국제고 2022.02.22

GGHS Time Table 5 개발 스토리 #1: 이거 왜 안 바뀌냐?

환영합니다, Rolling Ress의 카루입니다. ​ 시간표 공지일이 나왔어요. 2월 28일(...)에 나온다고 합니다. 근데 그때 시간표 받아서 만드려면 한참 걸리죠. 그래서 지금부터 틀을 짜두어야 합니다. GTT4부터 GTT랑 GTD랑 기능이 합쳐진 탓에, GTD를 다시 만들고 왔어요. 오늘은 GTT를 손볼 차례입니다. GTT5의 메인 화면입니다. 아직 알파 버전이라 디자인이 끝나진 않았는데, 전체적인 기조는 유지할 것 같아요. 이렇게 보면 GTT2 당시 디자인을 참 잘 했다는 생각이.. 직관적이고 쓰기도 쉬우니까요. 여하튼, 지금 문제는 이겁니다. 일부러 시간표를 다 안 넣었어요. 화요일 1교시까지 채웠는데, 지금 문제가... 분명히 국어에서 "언어와 매체"를 선택했는데도 표시가 "국어"로만 나오네..

고양국제고 2022.02.22
반응형