반응형

전체 글 220

JoGi Soccer - 1인 개발자의 SaaS 인프라 셋업기

지난번 글까지는 왜, 무엇을 어떻게 만들었는지 말했었다. 그건 이제 개발스펙이였고. 오늘은 인프라쪽 이야기다. 하던 일이 그런거니까. DevOps가 되어버린지 오래되었다. 1인 개발 사이드프로젝트의 인프라 구성 — AWS ECS + Terraformjogisoccer.com 을 띄우기까지의 인프라 이야기배경앱을 만드는 건 반쪽이고, 띄우는 게 나머지 반쪽이다. 라는 말이 있다.근데 요새 워낙 툴들이 좋아서쉽게 만들었다.대 Terraform으로 코드화했다. 그래야 클로드가 잘 도와주니까.전체 구조리전은 ap-northeast-2 (서울).처음에 아무생각없이 us-east-1로 했다가 바꿨다.큰 그림은 이렇다:VPC — 10.0.0.0/16, AZ 2개 (ap-northeast-2a, 2c)ALB — ..

etc./Side Project 2026.04.26

조기축구 앱을 만들게 된 과정 & 기획부터 출시까지( 기술 스펙 )

시작매주 일요일 조기 축구를 한다. 겨울에는 잠깐 쉬고, 봄, 여름, 가을에는 선선한 이른 아침에 20대부터 50대까지 축구를 사랑하는 사람들이 모여서 운동을 한다. 그리고 매년 시즌이 바뀐다. 1년간 함께한 팀을 갈아치운다(내부 팀). 각자의 선호 포지션을 받는다. 회비를 걷는다. 팀을 나눌때 2~3주동안 고민을 하는 운영진.고려해야할 것 - 출석율 - 포지션 - 실력아주 힘들다. 감으로 다 해야한다. 명확한건 출석률뿐. 그것도 엑셀로 기록했던 출석률과 느낌적인 느낌으로 느끼는 실력. 그리고 포지션은 선수가 원하는 포지션.매년 같은 패턴이 반복된다.또 매주 반복된다. "이번주 참석하시는 분~" → 금요일까지 3명 응답"회비 안 내신 분 확인해주세요~" → 읽씹총무가 엑셀로 정리하다가 파일 날림"나 공..

etc./Side Project 2026.04.24

JoGi Soccer — 조기축구 팀 관리 앱을 만들었습니다

JoGi Soccer — 조기축구 팀 관리 앱을 만들었습니다JoGi Soccer아마추어 축구팀 관리의 새로운 기준조기축구 팀 관리 앱을 만들었습니다.우선 이 앱을 만들게 된 과정부터 말씀드리면,조기축구를 하면서 팀 관리의 불편함을 체감카카오톡 단체방이 팀 운영 툴의 전부인 현실에 절망그래서 직접 만들기로 결정아주 까탈스럽고 예민한 개발자의 선택과실제 아마추어 축구 현장의 니즈를 동시에 반영한,순수하게 실용성을 기준으로 개발''JoGi Soccer''왜 만들었는가조기축구를 해보신 분들은 다들 아시죠?매주 반복되는 이 루틴:총무가 단톡방에 "이번주 회비 안내신 분~" 올리면 읽씹하는 사람들"토요일 참석하시는 분 손~" 하면 목요일까지 3명만 응답엑셀로 회비 관리하다가 파일 날리는 총무아반떼 사려다가 그랜저 ..

etc./Side Project 2026.04.24

더그레이스무비(The Grace Movie) 본식 DVD 후기 in 명동 라루체

THE GRACE MOVIE 더 그레이스 본식 DVD 후기https://thegracemovie.com 더그레이스무비 - "당신의 결혼이 영화가 되는 곳"당신의 결혼이 영화가 되는 곳, 더그레이스무비thegracemovie.com    본식 DVD 후기를 가져왔습니다.우선 DVD업체 선정 과정부터 말씀드리면,1. 결혼식 DVD업체를 먼저 검색2. Youtube와 인스타그램을 통해 영상 확인3. 촬영 스타일과 편집 느낌이 가장 와닿는 곳으로 선정  아주 까탈스럽고 예민한 저의 선택과미적 감각이 아주 뛰어난 예비신부의 선택을 동시에 받은,순수하게 영상미를 기준으로 선정''THE GRACE MOVIE''  +저희 식장(라루체)의 영상이 있었던 것도 가산 그리고 다양한 웨딩홀 영상들이 있으니 홈페이지에서 확인..

Life/Comma 2024.12.19

Odoo - 오픈 소스 비즈니스 솔루션 Open source ERP 설치

현재 회사에 들어와서 오두 Odoo 를 처음 들었다. 오두가 프레임워크로써 역할을 해주고 모듈들을 독립적인 APP으로 사용할 수 있다. 여타 다른 프레임워크들이 안 그렇겠냐만은 좀 더 원하는 방식대로 편하게 조합하여 만들어갈 수 있다. 무료 버전인 커뮤니티 버전으로 Third-Party App에서 원하는 모듈들을 다운 받아 회사에서 원하는 것들을 만들어 본다. 우리팀 매니저님이 오두의 매력에 매료되어 이걸로 회사의 SAP과 User사이의 Middleware 역할을 하는 소프트웨어를 구성할 것 같다. 설치 Install https://www.odoo.com/documentation/16.0/administration/install/install.html Installing Odoo — Odoo 16.0 d..

Framework/Odoo 2023.02.14

PHP 엑셀 다운로드 export data to Excel

PHPExcel 이라는 모듈을 통해 엑셀파일을 다운로드 받을 수 있다. require_once("./include/PHPExcel/Classes/PHPExcel.php"); $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("NoErrorNoGain") ->setLastModifiedBy("NoErrorNoGain") ->setTitle("데이터") ->setSubject("데이터") ->setDescription("데이터") ->setKeywords("데이터") ->setCategory("데이터"); $objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);..

Language/PHP 2022.11.17

수익 공개)블로그 자동 업로드 프로젝트 결과

Stackoverflow 글을 올린건 작년 9월 22일이 처음이다. 그 전에 일련의 과정을 거치고 시작했다. 그 과정은 1. StackOverFlow Endpoint 수집 (순서는 Highest Score로 하고 1페이지부터 크롤링하였다.) 2. 수집된 Endpoint를 순방하며 내용물을 긁어 모았다. 블로그API를 통해 HTML 통째로 넣을 수 있기 때문에 html 통째로 긁어 왔다. 그렇게 해서 긁어온게 5만 7천개. (지금 맥북이 없어 정확한 수치를 확인 못하지만..) 3. 구글 번역기 API를 통해 번역을 한다. 영어 그자체로 올리면 스택오버플로우에게 밀릴 것을 알기에 번역을 하기로 함. 공짜 크레딧 300불 + 번역기 보너스(?) 10불 해서 총 310불어치 번역을 함. 대략 1090개 정도 번..

etc./Side Project 2022.09.16

SQL Server-릿코드 데이터베이스 Trips and Users / Cancellation rate

여정에 대한 기록을 하는 테이블과 유저에 대한 테이블이 있다. User가 client가 될 수도 있고, driver가 될 수도 있다. 문제: 그 날의 Ban되지 않은 유저가 요청한 Canceled인 상태의 Trip에 총 Trip 횟수를 나누어 표시하라. Trip에서 client와 driver 양쪽이 다 ban이 되지 않고 2013-10-01에서 2013-10-03 사이의 Trip으로 소숫점 2번째 자리의 취소율을 구하면 된다. The cancellation rate is computed by dividing the number of canceled (by client or driver) requests with unbanned users by the total number of requests with ..

Database/SQL Server 2022.08.25

SQL Server - 릿코드 데이터베이스 문제 177. Nth Highest Salary // Leetcode Database Problem

177. Nth Highest Salary 이번에도 하나의 테이블이 주어진다. Write an SQL query to report the nth highest salary from the Employee table. If there is no nth highest salary, the query should report null. n번째로 높은 샐러리를 뽑는 SQL 쿼리를 작성하시오. 만약 n번째 높은 샐러리가 없다면 null값을 리턴하시오. 예시, 풀이, Input Parameter가 있으니 Function으로 만들어야 한다. 틀은 이미 주어져 있다. CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS BEGIN RETURN ( /* Write yo..

Database/SQL Server 2022.07.27

SQL Server - 릿코드 데이터베이스 문제 176. Second Highest Salary // Leetcode Database Problem

176. Second Highest Salary Second Highest Salary - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이번엔 테이블이 하나가 주어진다. 문제는, Write an SQL query to report the second highest salary from the Employee table. If there is no second highest salary, the query should report null. Employee 테이..

Database/SQL Server 2022.07.27

SQL Server - 릿코드 데이터베이스 문제 175. Combine Two Tables //Leetcode Database Problem

175. Combine Two Tables 두개의 테이블이 주어진다. Person, Address .여기서 문제는 Write an SQL query to report the first name, last name, city, and state of each person in the Person table. If the address of a personId is not present in the Address table, report null instead. Return the result table in any order. The query result format is in the following example. 해석하면, Person 테이블에 있는 각 사람의 이름과 성, 사는 도시, 사는 주를 S..

Database/SQL Server 2022.07.27

SQL Server - MS SQL - 기초 교육 자료 - 데이터 타입

정확한 숫자 Exact numerics Type Range Storage bigint -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) 8 Bytes int -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) 4 Bytes smallint -2^15 (-32,768) to 2^15-1 (32,767) 2 Bytes tinyint 0 to 255 1 Byte 대략의 숫자 Approximate numerics Type Range Storage float - 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 Depends on the value of..

Database/SQL Server 2022.04.05

SQL Server, MS SQL - 트리거 성능 통계 보기 , Aggregate performance statistics for cached triggers.

--이거 그대로 붙여 넣으면 됨 SELECT TOP 5 d.object_id, d.database_id, DB_NAME(database_id) AS 'database_name', OBJECT_NAME(object_id, database_id) AS 'trigger_name', d.cached_time, d.last_execution_time, d.total_elapsed_time, d.total_elapsed_time/d.execution_count AS [avg_elapsed_time], d.last_elapsed_time, d.execution_count FROM sys.dm_exec_trigger_stats AS d ORDER BY [total_worker_time] DESC; Column name..

Database/SQL Server 2022.03.11

MS SQL, SQL Server - 스칼라 반환 함수 권한 허용 grant scalar valued function

SQL query를 요청하여 만들어 전달하였는데 당연하게 쓰고 있던 저장된 함수들이 다른 유저에게는 작동이 안되었다. Execute Permission was denied 같은 에러가 떴고, 아래의 명령어로 풀어주었다. Grant [뭐에 대한-execute, select] on [함수이름] to [누구에게, 유저 아이디] GRANT EXECUTE on dbo.getLocalTime() TO public GRANT EXECUTE on dbo.getLocalTime() TO [Grace.Ha] GRANT EXECUTE on dbo.getLocalTime() TO [Admin] GRANT EXECUTE on dbo.getLocalTime() TO [IT] 그 뒤에 한번 더 에러가 생겼다. Error Messa..

Database/SQL Server 2022.03.11

MSSQL - SQL Server - SSMS 데이터베이스 용량, 테이블 당 건수 확인하기, 테이블당 데이터 개수 확인

--먼저 건수 Database에 있는 테이블당 건수 확인하기 select o.name, i.rows from sysindexes i inner join sysobjects o on i.id = o.id where i.indid < 2 and o.xtype = 'U' order by i.rows desc -- 테이블당 용량 확인하기 select convert(varchar(30), min(o.name)) as table_name, ltrim(str(sum(reserved) * 8192.00 / 1024.00 / 1024.00, 15, 0) + ' MB') as table_size from sysindexes i inner join sysobjects o on o.id = i.id where i.indid ..

Database/SQL Server 2022.01.26

.NET core 5.0 MVC - Session 사용하기.

0. 맨 먼저 Startup.cs 설정 COnfigureService와 Configure에 각각 AddSession과 UseSession을 추가한다. namespace EmployeeManagement { public class Startup { private readonly IConfiguration _config; public Startup(IConfiguration config) { _config = config; } public IConfigurationRoot Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddSession(options => { options.IdleTime..

블로그 자동 업로드 프로젝트!

손으로 쓰던 블로그, 1년 동안 200개의 게시물에 올리는 것에 그쳤다. 블로그에도 api가 있는 것을 알았고, 자동 글쓰기에 관심을 가졌다. 그리고 stackoverflow를 스크래핑하기 시작하였고, 360만개의 질문 endpoint를 긁었다. 380만개의 엔드포인트를 하나하나 들리며 컨텐츠를 가져오고 있다. 질문과 거기에 달린 답변들, 그리고 번역 api를 사용하여 번역한다. 사실 번역은 돈이 많이 들어 할 수가 없다. 공짜 크레딧을 다 써버렸다. 여기저기 번역 툴을 알아볼 생각이다. 현재 380만개 정도의 질문에서 5만 7천개정도의 질문과 답변들을 가져왔고 1044개의 번역된 데이터가 있다. 현재 번역된 것을 480개정도 이 블로그에 올렸다. 나머지 500개정도 더 올리게 되면 영어버전을 올릴 예정..

etc./Side Project 2021.09.29

.NET 5.0 컨트롤러에서 권한 지정해주기 Role based Authorization

그림과 같이 [Authorize(Roels = "Admin")] 을 붙여주면 Admin만 접속 가능하다. 이렇게 하면 Admin or User가 접속 가능하다. OR이 된다. 두개의 인스턴스를 만들 경우 AND가 적용이 된다. 위에 그림은 Admin이면서 User의 권한을 가지고 있는 사람만 접속 할 수 있다는 뜻이다. 아무리 위에 admin과 user를 갖다 붙여도 [AllowAnonymous]가 있으면 아무나 접근 가능하다~

.NET Framework

닷넷 프레임워크의 구조[편집] 공통 언어 기반 (Common Language Infrastructure: CLI) 공통 언어 기반[편집] 이 부분의 본문은 공통 언어 기반입니다. .NET 프레임워크의 가장 중요한 콤포넌트는 공통 언어 기반(Common Language Infrastructure)이다. 다른 말로 CLI라고 한다. CLI를 둔 목적은 애플리케이션의 개발과 실행 시 언어에 종속적이지 않은 플랫폼을 제공하기 위해서이다. 예외 처리, 가비지 콜렉션, 보안, 호환 등을 위한 소프트웨어 콤포넌트를 포함한다. 마이크로소프트가 구현한 CLI를 일컬어, 공통 언어 런타임(Common Language Runtime, CLR)이라고 한다. CLR은 다음과 같은 4개의 주요 부분으로 구성된다. 공통 타입 시스..

카테고리 없음 2021.09.10
반응형