전체 글

전체 글

    Slack 이 API 를 디자인 하는 방법

    Slack 이 API 를 디자인 하는 방법

    본문 : https://slack.engineering/how-we-design-our-apis-at-slack/ A. 설계 원칙 한가지 동작만 아주 잘 할 것 빠르고 쉽게 사용할 수 있게 만들 것 직관적인 일관성을 위해 노력하기 의미있는 에러 리턴하기 확장성과 성능을 고려한 설계 호환성을 깨는 변경 피하기 B. 설계 프로세스 API 스펙 작성 내부 API 리뷰 초기 파트너 피드백 베타 테스팅

    Apache2, Nginx SSL 인증서(with 체인키) 등록

    Apache2, Nginx SSL 인증서(with 체인키) 등록

    무료 인증서 (letsencrypt 와 같은) 만 이용을 하다가 처음으로 COMODO Sectigo 에서 60,000원 짜리 인증서를 구매하였습니다. 인증서가 발급이 되고, 파일을 받아서 보니 내용물 중 ChainCA 라는 폴더가 있고 체인 인증서 필수 라는 문서가 추가로 있었습니다. 무료 인증서를 이용할 때에는 체인같은건 못봤는데?!?! 하고 검색해보니 아주 잘 설명된 사이트를 발견하였습니다. https://xe1.xpressengine.com/tip/23021383 https://sir.kr/pg_tip/14429 http://archive.today/bGddI 설명과 간단한 보안 팁까지 친절하게 글쓰신 분이 설명을 잘 해놓으셨더라구요, 감사합니다 성공적!

    2021 제 1회 Do Good Hackathon 참가 후기

    2021 제 1회 Do Good Hackathon 참가 후기

    https://www.dogoodhackers.org/ 처음 해보는 해커톤으로서 감회가 새로웠습니다. 본디에 해커톤이 어떠한 방식으로 진행하는 지는 모르겠으나 두굿 해커톤에서는 해커톤을 처음 하는 사람도 쉽게 참가할 수 있도록 되어있다고 매우 강조했기 때문에, 두굿 해커톤은 기존 해커톤에 비해서는 다른 부분이 분명히 있을 것 같다는 생각입니다. 당시 진행 일정 상금 대상 - 120만원 최우수 - 60만원 우수 - 30만원 마치면서... 아쉽게도 우리팀은 순위권에 들지는 못했었고... 사실 제가 생각해도 순위권에 들은 팀들 보다는 아이디어 또는 사회공헌에 취지에서는 부족한 모습이 분명했던 것 같습니다. 25 시 30분간 동안 진행한 해커톤에서 디자인팀 없이 백엔드 개발자 3명에서 진땀을 빼가며 만들어낸 결..

    port binding error, An attempt was made to access a socket in a way forbidden by its access permissions

    port binding error, An attempt was made to access a socket in a way forbidden by its access permissions

    artisan serve 를 실행하려 하니 다음과 같은 오류가 발생하였다. 뭐지? 싶어서 명령어를 하나 더 입력하여 확인해본 결과.. netsh int ipv4 show excludedportrange protocol=tcp 100개 단위로 포트들이 7926 부터 8595 까지 점유가 되어 있었다... 추측으로는 wslv2 때문이지 않을까 싶다. resolve!

    No package ‘oniguruma’ found (PHP configure error Package requirements (oniguruma) were not met)

    RUN docker-php-ext-install zip mysqli pdo pdo_mysql mbstring Docker Image 를 Build 하던 도중 발생한 에러였다. RUN apt-get install libonig-dev 를 추가해준 후 해결됨

    (백준/Java) 2822번 : 점수 계산 (stream 매핑[boxed()], Collectors 와 Collections)

    (백준/Java) 2822번 : 점수 계산 (stream 매핑[boxed()], Collectors 와 Collections)

    난이도: Silver 5 프로그래밍 언어: Java 문제명: 점수 계산 푼일자: 2021년 8월 주소: https://www.acmicpc.net/problem/2822 문제풀기 크게 어렵지 않았고, 처음에 문제를 완전히 이해하지 못해서 이상하게 풀이를 진행하였었다. 재미있게 풀은 문제였다 :) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; import java.util.stream.Collectors; public class question_2822 { // 점수 계산 public sta..

    C# NET 을 위한 Modbus Library 에 대한 간단한 고찰

    C# NET 을 위한 Modbus Library 에 대한 간단한 고찰

    이 글에서 나오는 소스코드는 읽는이의 이해를 돕기 위해 필자가 직접 작성한 "손코딩" 이므로, 동작을 보장하지 않습니다. net452 를 대상으로 하는 SerialPort(RTU) 를 통한 모드버스 통신을 다음과 같은 라이브러리로 구현을 진행하였습니다. EasyModbus EasyModbus 는 간결하게 코드를 작성할 수 있도록 도와주고 있습니다. public class Modbus_Example { public Modbus_Example() { try { ModbusClient modbusClient = new ModbusClient("COM1"); modbusClient.UnitIdentifier = 2; modbusClient.Baudrate = 9600; modbusClient.Parity = S..

    NET5.0 으로 작성한 App CI/CD 구현하기 [2] - Github Action 을 이용한 DockerHub Push 자동화 하기

    NET5.0 으로 작성한 App CI/CD 구현하기 [2] - Github Action 을 이용한 DockerHub Push 자동화 하기

    본인의 프로젝트가 Github 에 올라와 있어야 합니다. 1. 작업할 Github repository Settings 으로 진입하여 Secrets 로 탭을 눌러줍니다. 2. New repository secret 버튼을 눌러줍니다. 3. 2개의 secret 를 만들어야 합니다. 아래의 secret name을 참고하여 Name 을 기입하고, Value 에는 DockerHub ID와 비밀번호를 기입하여줍니다. 4. {GithubRepositoryName}/.github/workflows/docker-publish.yml 생성 name: Docker on: push: branches: - master tags: - v* # master 로 푸시된 모든 것을 대상으로 실행하며, Docker 에서는 latest ..

    NET5.0 으로 작성한 App CI/CD 구현하기 [1] - Dockerfile 생성하기

    root 위치에 Dockerfile 파일을 생성해주고 아래와 같이 내용을 넣어줍니다. # builds our image using dotnet's sdk FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /source # copy everything else and build app COPY . ./app/ WORKDIR /source/app RUN dotnet restore RUN dotnet publish -c release --runtime ubuntu.20.04-x64 -p:ImportByWildcardBeforeSolution=false -o /app -f net5.0 # runs it using aspnet runtime FROM mcr.micr..

    error during connect: Post .... LinuxEngine: The system cannot find the file specified. 에러 해결하기

    error during connect: Post .... LinuxEngine: The system cannot find the file specified. 에러 해결하기

    순간 에러를 보고 당황스러웠다. 처음 보는 에러였고, 검색을 해도 그다지 솔루션을 금방 찾을 수 없었다. 그리하여 생각을 하던 도중... Docker Desktop 이 실행되고 있지 않았다는 사실을 떠올렸다. 평소에 Docker 를 이용하지 않다보니 WSLv2 특성상 메모리를 과도하게 잡아먹어서 평소에는 Docker Desktop 을 꺼두고 있었다. Docker Desktop 실행 후 문제 해결.