본문 바로가기

분류 전체보기253

[Git] 기본적인 Git flow 흐름도 개요도 배경 토이 프로젝트를 하기 위해 팀원에게 Git 흐름을 설명하며 그려주었던 그림이다. 다행히 이해해주셔서 다른 분들도 보고 도움이 되었으면 한다. 이 외에 branch의 개념도 기본적으로 들어갔어야 하지만, 조금이라도 내용이 많아지면 거부감이 들 수 있다고 생각하여 줄였다. 설명 가장 기본적으로 나(Me)에게서 원격(origin)으로 Push를 한다. 남이 Push 한 내용을 Pull 받는다. 그 과정에서 실수를 줄이기 위해 Push 하기 직전의 몇 단계가 더 있고, 반대로 그렇게 철저하게 여러 단계를 거쳤다고 믿어지는 결과물을 받는 과정은 Pull 한단계로 끝난다. 결론 이렇게 사용을 하다보면, 이런 기능이 더 있으면 좋겠는데... 하는 생각이 든다. 그럴 때 찾아보면 역시나 그 기능이 있다. .. 2022. 10. 22.
[PM2] PM2 사용하기 여러개의 node.js 서버를 돌리고, 관리할 때 사용 1. npm i pm2 -g 2. 해당 프로젝트 폴더에 들어가서 서버 실행파일 실행 - pm2 start app.js 3. 서버 자동 재실행이 안되어있어서 죽였다가 다시 실행 - pm2 stop app.js 4. 재실행 - pm2 start app.js --watch 5. 라즈베리파이 실행 시, pm2 자동 시작 - pm2 startup 6. 실행해야 할 command 가 나옴 7. 위 command를 입력하고, 성공 결과가 나오면 설정 저장 - pm2 save 2022. 9. 20.
[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.