목록분류 전체보기 (34)
장난감 연구소
Git 레포지토리에 이미 커밋된 파일은 남기고 변경 추적만 막는 명령어이다. 데이터베이스의 비밀번호나 암호화 비밀키 내용을 담는 파일을 레포지토리에 남기고 싶지만, 실제 내용을 넣었을 때 변경된 내용을 푸시하는 걸 방지하기 위해 사용한다. 짧지만 매번 검색하게 된다. git update-index --assume-unchanged [FILE]
이 글은 C#에서 public 필드(Field)와 자동 구현 프로퍼티(Auto-Implemented Property) 중 무엇을 사용해야 하는가 고민에서 시작하여, 필드와 자동 구현 프로퍼티의 차이점, 성능에 관해 실험해본 내용을 다룬다. 부족한 부분이 많아 계속 수정해나가고 있고, 그다지 유익한 내용을 담고 있는 글은 아닙니다. 필드와 자동 구현 프로퍼티 객체지향 프로그래밍 패러다임에서는 정보 은닉을 위해 private 변수를 선언하고, 이 변수를 읽고 쓰는 get, set 메서드를 만들기도 한다. 아래 코드처럼 말이다. (참고로 이 get, set은 각각 getter, setter 또는 접근자(accessor), 설정자(mutator)라고 불린다.) class Gun { private int bull..
목차 라즈베리파이 웹 서버 운영하기 - 우분투 설치, SSH 설정 라즈베리파이 웹 서버 운영하기 - 고정 IP 설정, 포트포워딩 이번 글에서는 라즈베리파이 단말기의 내부 IP를 고정하고, 외부 IP의 특정 포트가 라즈베리파이의 내부 IP로 연결되도록 포트포워딩을 하는 방법을 다룬다. 이를 통해 외부에서 라즈베리파이로 접속할 수 있도록 한다. 배경 지식 위 그림은 우리집 안의 라우터를 중심으로 네트워크가 어떻게 연결되어 있는지 나타낸다. 라우터(공유기)는 ISP에 할당받은 외부 IP로 내부 단말기들이 인터넷에 접속할 수 있게 해주고, 내부 단말기들에 내부 IP를 직접 할당하여 관리한다. 또, 포트포워딩을 통해 외부 특정 포트와 내부의 특정 단말기 특정 포트를 연결해준다. ① 외부 IP 주소 IP 주소는 컴..
이 글에서는 라즈베리파이에서 Node.js와 Mongo DB를 사용하여 웹페이지를 제공하는 웹 서버를 만든 경험을 되새기면서, 알게 된 지식을 공유하고자 한다. 독자의 관련 지식이 없다고 생각하고 설명해볼 테니, 라즈베리파이로 본인의 웹페이지를 만들어보려는 사람에게 도움 되었으면 한다. 목차 라즈베리파이 웹 서버 운영하기 - 우분투 설치, SSH 설정 라즈베리파이 웹 서버 운영하기 - 고정 IP 설정, 포트포워딩 필요한 장비 라즈베리파이 3/4/이후 버전, SD 카드, 랜선, 라즈베리파이 전원 공급용 충전기, HDMI 케이블, 모니터, 키보드 배경 설명 이 글을 시작으로 6개의 글에서 라즈베리파이를 사용해 소규모 웹 서버를 만들며 알게 된 지식을 적어볼 생각이다. 이는 직접 연구해 알게 된 사실은 아니므..
며칠 늦긴 했지만, 2020년 새해가 밝았다. 새해가 되면 많은 사람들이 새해 인사말을 보낸다. 그래서 그런지 카카오톡도 1월 1일 새벽에 2시간 정도 멈췄다고 한다. 나도 마찬가지로 여러 개의 새해 인사말을 보냈다. 새해 인사말을 보내다 보니 컴퓨터로 인사말을 보내는 작업을 자동화해보자 생각했다. 금방 결과물을 볼 수 있을 걸로 보여 작은 토이 프로젝트 삼아 해보면 재밌을 것 같았다. SMS 문자 메시지보다 요금 부담이 없고 많이 사용하는 카카오톡으로 보낼 수 있었으면 했지만, 가벼운 마음으로 만들어 보기에는 할게 많아 보였다... 닷넷 코어 콘솔 환경에서 사용할 수 있는지도 모르겠고. (아마 REST API라고 제공하는 걸 사용해야 할 듯 하다.) 카카오 측의 문서화가 잘 되어있어 언제 한번 해보면 ..
이 글에서는 UWP 앱에서 라이트 모드(밝게), 다크 모드(어둡게)를 고정 적용하거나 시스템 설정을 따르는 방법, 앱 내의 설정에서 색상 모드를 설정할 수 있게 하는 방법, 색상 모드에 따라 색이 변하는 ThemeResource에 대해 다룬다. 색상 모드 고정 또는 시스템 설정 적용 색상모드 고정 App.xaml 파일에서 UWP 앱의 색상 모드를 설정할 수 있다. 시스템 설정에 상관없이 라이트 모드 또는 다크 모드로 고정하고 싶다면 App.xaml 파일의 Application 태그에 RequestedTheme 속성을 주면 된다. RequestedTheme="Light"로 설정하면 라이트 모드, RequestedTheme="Dark"로 설정하면 다크 모드로 고정된다. 시스템 설정 적용 Visual Stud..
소프트웨어 장인 더 나은 개발자가 되어, 더 좋은 코드를 전달하고 싶은 당신을 위하여이 책에서 풀어낸 소프트웨어 장인정신의 프로페셔널리즘, 기술적 탁월함, 고객 만족은 애자일, 린(lean) 원칙들과 시너지를 일으켜 소프트웨어 업계를 한 단계 도약시킬 수 있다. 또한 프로젝트와 개발자를 공장 운영과 생산 라인 노동자로 보는 관점을 바꾸는데 기여할 것이다. 그리고 책에서 다룬 경험을 바탕으로 한 사례와 실용적인 조언은 소프트웨어 개발자뿐만 아니라 프로젝트와 연관이 있는 모 book.naver.com OKKY라는 소프트웨어 개발자 커뮤니티에서 '소프트웨어 장인'이라는 책에 대해 좋게 평가하는 글을 보고, 나도 읽게 되었다. '소프트웨어 장인'은 산드로 만쿠소라는 저자가 쓴 책이다. 나는 아직 컴퓨터 공학에 ..
이 글에서는 Visual Studio를 사용하거나, PowerShell cmdlet인 New-SelfSignedCertificate를 사용하여 자체 서명된 인증서를 만들고, 연장하는 방법을 알아볼 것이다. UWP 앱을 스토어에 업로드하기 위해서는 패키지 서명용 인증서가 필요하다. Visual Studio 2019 Visual Studio 2019로 업데이트되면 테스트 인증서 만들기 기능이 없어졌었다. 매년 인증서가 만료되기 때문에 UWP 앱을 업데이트를 하려면 한 해에 한 번씩 인증서를 연장해주어야 한다. 올해도 스토어용으로 빌드하던 중 문제가 생겨 어렴풋이 남아있던 기억을 살려 인증서를 연장해보려 해도 뭔가 잘 되지 않았다. 그래서 구글에서 관련된 영단어로 검색하던 중 Visual Studio 2019..
[STL] 반복자 iterator 개념 및 예제 [STL] 반복자 iterator 개념 및 예제 [STL] 반복자 iterator 개념 및 예제 반복자는 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공한다. 반복자는 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할을 한다. 이 반.. hyeonstorage.tistory.com 사용되는 문제 쿼드 트리 뒤집기
List의 경우 참조 형식이다. 그래서 단순히 list1 = list2;와 같은 형식으로 대입한다면, list2의 주소 값만 list1에 대입되어 list1의 값이 변경되었을 때 list2의 값도 변경된다. using System.Linq; class Program { static void Main(string[] args) { List list = new List { 11, 10, 9, 15 }; List listclone = list.ToList(); } } 위와 같이 ToList()를 사용하면 list 간에도 간단하게 복사할 수 있다. 단, ToList()의 System.Linq에 정의되어 있으므로 using System.Linq;를 지시해주어야 한다.