본문 바로가기

전체 글251

[RaspberryPi] Maria DB 설정 1. sudo apt-get install mariadb-server 2. sudo mysql -r root -p - 비밀번호는 아직 없으므로 passwor에 엔터 쳐서 진입 3. root 비밀번호 바꾸기 - SET PASSWORD FOR 'root'@'localhost' = PASSWORD('9999'); 4. FLUSH PRIVILEGES; 5. sql 서버 끄기 - mysqladmin -u root -p shutdown 6. sql 서버 다시 켜기 - sudo systemctl start mariadb - (mysql이라면) sudo systemctl start mysql 7. 바뀐 비밀번호로 로그인 해보기 - sudo mysql -u root -p 2022. 9. 20.
[Linux] 파일 압축 및 압축 풀기 (zip, unzip) - zip, unzip 설치 sudo apt-get install zip unzip - 파일 압축하기 zip {압축완료파일명}.zip {압축할 파일 및 디렉토리01} {압축할 파일 및 디렉토리02} ... - 디렉토리의 하위 구성들도 모두 압축하기 zip -r {압축완료파일명}.zip {압축할 폴더명} - 압축 풀기 (현재 디렉토리) zip {압축파일명}.zip - 압축 풀기 (특정 디렉토리) unzip {압축파일명}.zip -d {압축 풀 디렉토리 명} 2022. 9. 15.
[C#] Cannot deconstruct dynamic object 해결하기 dynamic 형식을 하나 받아서 여러가지 변수를 한 메소드 안에서 만드려고 하니 Cannot deconstruct dynamic object 와 같은 에러가 떴다. 모두 영어로 검색 결과가 뜨길래 한국어 결과로 하나 나오게 해보자며 쓴다. 방법은 2가지가 있다. 1. Casting class Deconstruct { static void Main() { dynamic d = new Test(); // Variables we want to deconstruct into string text; int number; // Approach 1: Casting (text, number) = ((string, int)) d.Method(); } public (string, int) Method() => ("tex.. 2022. 7. 26.
[C#] 테스트 케이스 첫 작성 참조: https://docs.nunit.org/2.5/testCaseSource.html NUnit.org TestCaseSourceAttribute (NUnit 2.5) TestCaseSourceAttribute is used on a parameterized test method to identify the property, method or field that will provide the required arguments. The attribute has two public constructors. TestCaseSourceAttribute(Type s docs.nunit.org 공식 문서 등 다른 테스트 케이스에 관한 자료가 많았지만, 모두 하나의 데이터에 대한 테스트여서 여러가지를 테스트 해.. 2022. 6. 15.
[C#] 상대 경로가 같은 여러 게시 출력 파일을 찾았습니다 C# 개발 중 "상대 경로가 같은 여러 게시 출력 파일을 찾았습니다" 라는 에러를 받았다. 구글에 검색해보니 흔한 에러는 아닌듯이 답변이 많지 않았다. 다행히 제일 위 게시물이 dotnet 에러 메세지 github였고, 거기서 힌트를 얻을 수 있었다. https://github.com/dotnet/sdk/blob/main/src/Tasks/Common/Resources/xlf/Strings.ko.xlf GitHub - dotnet/sdk: Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI Core functionality needed to create .NET Core pro.. 2022. 3. 18.
[C#] 웹 크롤링을 이용하여 자동 출석체크 하는 방법 배경 서점에 매주 가서 책을 사다보니 할인 받는 방법을 알게 되었고, 그 중 하나가 바로 출석체크였다. 얼마전까지만 해도 해당 서점에 가야만 출석체크가 되는 줄 알았다... 하지만 그건 체크인이었다. 어쨌든 어디서든 하루에 한번 출석체크를 할 수 있다는 사실을 알고, 크롤링을 만들어야겠다고 생각했다. 알아보니 크롤링을 하는 라이브러리인 Selenium을 Python이 아닌 C# 등 많은 다른 언어에서 쓸 수 있었다. 구현 그래서 아래와 같은 4개의 Nuget Package들을 깔았고, 또 아래와 같은 간단한 코드로 늦은 밤에 하나 하고 자려고 한다. using System; using System.Threading; using OpenQA.Selenium; using OpenQA.Selenium.Chro.. 2022. 2. 17.
[C#] 달(월)의 마지막 날 구하기 매월 마지막 날, 보고서를 보내줘야 하는 일이 생겼습니다. DateTime에 LastDay 같은 함수가 있을거라 생각하여 찾아보았는데 그런건 없고, 값은 똑같지만 의미가 약간 다른 함수를 찾았습니다. 그 달의 날짜 개수 구하기. DateTime.DaysInMonth(year, month) year, month에 int 값을 넣으면 그 해의, 그 달의 날짜 개수를 구해줍니다. 마지막 날짜와 같아서 유용하게 사용할 수 있습니다. 2022. 2. 15.
[C#] List Insert, List 앞에 더하기 프로그래밍을 하다 보면 가끔 순서를 맞춰줘야 할 때가 있어서 리스트의 제일 앞에 값을 더해야 할 때가 있다. 이럴 때 나는 새로운 List를 만들어서 해결하곤 했다. var list = new List() {"b", "c", "d"}; var newList = new List(); newList.Add("a"); newList.AddRange(list); return newList; 가끔이지만, 매번 하면서도 이렇게 비효율적일 수 있나... 싶으면서도 찾지 못해 그대로 사용하고 있었다. 하지만 오늘 회사에서 코드 리뷰를 할 때 Insert 메소드를 배웠다. var list = new List() {"b", "c", "d"}; list.Add(0, "a"); return list; 0번째에 "a" 넣기.... 2022. 1. 4.
2021년 책장 지식은 복리로 쌓인다. 2021. 12. 12.