본문 바로가기

복습용 기술공부

(27)
C# 잊기 전에 팁 적어 놓기 1. LINQ에서 정렬을 여러번 해야할 때 ThenBy 사용하기 아래는 예시 var groupTypeCall = await _userdb.COUSWB_Groups.Select(s => s.GroupType).Distinct() .OrderByDescending(gt => gt == "초등학교") .ThenByDescending(gt => gt == "중학교") .ThenByDescending(gt => gt == "고등학교") .ToListAsync(); 2. LINQ에서 IQueryalbe ~> IEnumerable 변환하라고 오류 날 경우 아래 줄 넣기 .AsEnumerable() // IQueryable에서 IEnumerable로 변환 .GroupBy(g => new { Year = g.Create..
C# 에서 csv 파일 읽어오기 공공데이터를 가져와 pandas에서 가공 후 원하는 모델 형식에 맞춰 C#에 데이터를 넣어야 했다. public void로 반환 없이 1회면 사용해 DB에 저장했다. 우선 csv 경로를 가져오고 string csvFilePath = "경로/파일.csv"; TextFieldParser로 csv를 불러왔다. using (TextFieldParser parser = new TextFieldParser(csvFilePath)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); // 구분자 설정 int cnt = 0; try { while (!parser.EndOfData) { if (cnt == 0) { cnt += 1; strin..
Claim에 강제로 데이터 넣기 Claim을 사용하면 로그인 마다 데이터를 넣을 수 있다. 특정 상황에서 claim을 넣어야 할 경우가 있다. 보안 상 문제가 있을 수 있지만, 아래와 같이 해결이 가능하다. 먼저 아래처럼 불러오고 private readonly SignInManager _signInManager; private readonly UserManager _userManager; public 사용할Controller(UserManager userManager, SignInManager signInManager) { _userManager = userManager; _signInManager = signInManager; } 기존 코드에 한줄을 추가하면 된다. // Claim 수정 var claims = new List { ne..
Claim 활용하는 방법 Claim을 활용해 @User.Identity에서 특정값을 사용하는 방법 1. 로그인 시 Claims에 사용자 정보 추가로 저장해두기 예시, AAA를 Claim에 집어넣으면, var user = _userdb.Users.FirstOrDefault(u => u.UserName == Input.Email); // Claims를 사용해서 사용자 정보 추가로 저장해서 쉽게 가져오기 var claims = new List { new Claim(ClaimTypes.Name, user.UserName), new Claim("AAA", user.AAA) }; 참고, Claim 객체 생성하는 방법, 아래 주석을 풀어 사용하면 된다. 나 같은 경우는 기존 로그인에 User.Identity를 먼저 저장하고 사용해서 아래 방..
Local Storage 저장하는 방법 사용자의 정보를 로컬 스토리지에 저장해서 써야하는 경우가 생겼다. 쿠키만 사용해보고 로컬 스토리지는 개념으로 밖에 몰랐는데 이번 기회에 사용해봤다. 주의 사항, 로컬 스토리지는 자바스크립트로만 생성 가능하다?, C#에서는 안되는 것 같다. (내가 찾은 바로는..) 아래는 remember me 구현하는 예시 // step 1. 로컬 스토리지 저장 함수 생성 localStorage.setItem('key 이름', 'value 내용'); // 로컬스토리지 저장 function saveInfo(Value) { localStorage.setItem('사용 할 Key', Value); } // step 2. 로컬 스토리지 사용하는 함수 생성 // 로컬스토리지 -> 이메일 필드 사용할 때, function fillU..
c# 도메인 가져오기, Custom Validation 사용방법 c# 도메인 가져올 때 _ 6.0V 기준 // 도메인 가져오기 string domain = HttpContext.Request.Host.Value; // 도메인 및 path 가져오기 string path = HttpContext.Request.Path.Value; path -> .ToLower()로 소문자 정리 후 사용하기! Compare Validation -> [Compare("Name", ErrorMessage = "에러메시지")] 같은 값인지 아닌지 비교, 값이 다르면 validation 띄움 반대로 사용하고 싶을 경우 커스텀 Validation을 사용하기 step 1. Validation Class 추가 // Custom Validation 추가 public IEnumerable Validate..
230410 _ spotify api 사용과 tictok에서 빌보드 올라간 곡 체크 @@ 코드 정리해보면서 다시 복습하기 import os import re import pickle from pprint import pprint 파일 로드 # 빌보드 파일 가져오기 with open('billboard_JSON_0410_1_100.pickle', 'rb') as f: billboard100w2 = pickle.load(f) 스포티파이 설치 - 조원 위해서 # 스포티파이 설치 !pip install spotipy 스포티파이 api 가져오기 # 스포티파이 api 가져오기 import spotipy from spotipy.oauth2 import SpotifyClientCredentials client_credentials_manager = SpotifyClientCredentials(clie..
빌보드 크롤링 _ 레이블 수정 과정 @ 나중에 보면서 복기하려고 적는 글 @ 옆 친구가 빌보드 100위 가져오면, 내가 다른 사이트에서 추가 정보 얻어오는 코드 @ 하루 뒤에 정리하면서 보니, 그냥 spotify api 쓸 걸 그랬다. from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from bs4 import BeautifulSoup as bs import requests import time import os import urllib.request import re import pickle 크롤링 chrome 열기 wd = webdriver.Chrome() path1..