Programming109 [C#] Linq로 INNER JOIN하기 SQL에서 두 테이블을 JOIN 해서 가져오기도 하지만 C#에서 각가의 두 테이블을 Linq를 활용해서 JOIN 할 수 있다. List tableA = new List(); List tableB = new List(); var join1 = tableA.Join( tableB, a => a.Code, b => b.Code, (a, b) => new { b.ColumnB, a.ColumnA }); var join2 = from a in tableA join b in tableB on a.Code equals b.Code select new { b.ColumnB, a.ColumnA }; 위 두 가지 방식으로 사용할 수 있는데 join1은 Linq query syntax, join2는 Linq method c.. 2022. 8. 24. C# Linq 시각화 C# Linq 시각화해서 설명한 좋은 아티클 Zip(), Intersect() 같은 아직 생소한 Method도 있었네. https://steven-giesel.com/blogPost/d65c5411-a69b-489f-b73f-18ce0ed8678d LINQ explained with sketches Often times it is easier to have a nice illustration at hand, which explains you things the easy way. So let's do this for a lot of LINQ operations like Where, Select and friends. Of course a small explanation will be attached as .. 2022. 8. 10. [javascript] IE에서 Edge로 redirect하기 역사의 뒤안길로 사라진 IE. Google, Twitter, Facebook, Instagram 등 사이트는 IE로 접근 시 다음과 같이 동작한다. 1. IE는 "이 웹 사이트는 Microsoft Edge에서 더 잘 작동합니다." 안내 페이지로 이동 2. Edge browser로 해당 사이트를 팝업 한다. 다음 소스코드로 구현할 수 있다. if (/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) { window.location.href = 'microsoft-edge:' + window.location.href; setTimeout(function () { window.location.href = 'https://go.microsoft.com/fwlink/?link.. 2022. 7. 12. [MS-SQL] Alter Constraint 있을 법하다고 생각했는데 ALTER CONSTRAINT는 없다. DROP CONSTRAINT 후 ADD CONSTRAINT으로 해결한다. ALTER TABLE MY_TABLE DROP CONSTRAINT CHK_Column1; ALTER TABLE MY_TABLE ADD CONSTRAINT CHK_Column1 CHECK (Column1 BETWEEN 1 AND 10); 2022. 7. 10. Heroku로 Node.js 배포하기(github action, secrets 설정) 아래 repository에서 Heroku로 git action을 이용해서 간단 CI/CD를 구현했다. https://github.com/HanJaeJoon/Web3API GitHub - HanJaeJoon/Web3API: Node.js + vanilla js NFT transfer Node.js + vanilla js NFT transfer. Contribute to HanJaeJoon/Web3API development by creating an account on GitHub. github.com 물론 아래와 같이 Heroku에서 Automatic Deploys를 설정해도 된다. 하지만 일일이 github secrets를 Heroku settings > Config Vars에 입력해야 해서 귀찮다. .. 2022. 7. 7. MVC Controller HttpGet, HttpPost Attribute 동시 사용시 주의점 .NET MVC Controller 에서 아래와 같이 HttpGet, HttpPost Attribute를 동시에 사용할 경우 조심해야 한다. [HttpGet] [HttpPost] public ActionResult SomeController() { return View(); } 이 경우 GET, POST request 모두에 대해서 404 에러가 발생한다. 이를 방지하기 위해 아래와 같이 사용해야 한다. [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)] public ActionResult SomeController() { return View(); } 어떤 착한 아저씨가 test case를 정리해주셨다. | Method | URL | Response | |-------- .. 2022. 6. 23. C# Class 내부 구성 요소의 순서 팀에서 Resharper와 StyleCop을 이용해서 코딩 컨벤션을 맞추고 있다. 컨벤션 규칙을 정하다가 C# Class 내부 구성 요소는 어떤 순서로 배치해야 하는지 궁금해졌다. StyleCop에서 정한 C# Class 구성요소의 순서는 다음과 같다. SA1201: Ordering Rules Fields Constructors Finalizers (Destructors) Delegates Events Enums Interfaces Properties Indexers Methods Structs Classes* 📝 For ordering purposes, C# 9 records are treated as classes. Constructor 다음에 Property가 있어야 하는 것은 그동안 모르고 있었다. 2022. 6. 22. C# string Contains() Linq나 문자열에서 원하는 문자열을 찾을 때 사용하는 Contains() 영어의 경우 대소문자 구분이 있다. String.Contains()에서는 대소문자 구분이 불가능해서 String.IndexOf(String, StringComparison) overload를 사용하고는 했다. 하지만, .NET core 에서는 StringComparison 파라미터를 지원한다. https://docs.microsoft.com/en-us/dotnet/api/system.string.contains?view=net-6.0#system-string-contains(system-string-system-stringcomparison) string a = "abc"; string b = "C"; // False Consol.. 2022. 5. 3. [Azure] Azure Storage - Blob Storage 우리 제품은 Saas이고 당연히 멀티 테넌시 아키텍쳐가 적용되어 있다. 고객 테넌트마다 많은 파일이 생성되고 저장되고 있다. 네트워크 드라이브에 수십만 개의 파일이 쌓였고 File Explorer에서나 프로그램에서 개별 파일에 접근하기 힘들어지기 시작했다. 그렇게 대안을 찾았고 그것이 바로 Azure Storage의 Blob Storage다. 지난 달 프로토타입을 개발해서 시범 적용을 끝냈고, 드디어 오늘 대부분의 기능에 적용해서 배포를 완료했다. 사용법 아래 방법으로 Azure Portal - Azure Storage 에서 Container를 추가한다. https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal.. 2022. 4. 15. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음