전체 글
[MSSQL] yyyyMMddHHmmss to yyyy-MM-dd HH:mm:ss
테이블에 varchar 타입으로 날짜를 저장하기 위해 yyyyMMddHHmmss 형식으로 넣는 경우가 있습니다. 사용자에게는 날짜 형식으로 노출 시키기 위해 datetime으로 변환해서 노출 시켰습니다. declare @date varchar(14) = '20240327113500' select CAST(STUFF(STUFF(STUFF(@date, 9, 0, ' '), 12, 0, ':'), 15, 0, ':') as datetime) 실제 사용자는 분까지만 시간을 확인할 수 있게 하면 되었기 때문에 사용자에게 노출하는 화면에서는 한번 더 convert하여 사용했습니다. declare @date varchar(14) = '20240327113500' select CONVERT(VARCHAR(16), CA..
[C#/ASP.NET] 폼 인증 방식으로 로그인 관리 및 체크하기
로그인 관리 1. FormsAuthentication 웹 응용 프로그램에서 사용자 Forms 인증 및 세션 관리를 위한 클래스 사용자의 로그인 상태를 관리하고 사용자를 인증하는 데 사용됨 Forms 인증은 사용자가 웹 애플리케이션에 로그인하고 인증된 사용자로 세션을 유지하는 데 도움을 줍니다. 이를 통해 사용자는 로그인한 상태에서 특정 페이지에 엑세스할 수 있습니다. Forms 인증은 사용자의 인증 정보를 암호화된 쿠키에 저장하여 로그인 상태를 추적하고 웹 페이지 요청마다 사용자를 식별합니다. 2. SetAuthCookie 사용자를 성공적으로 인증하고 인증 쿠키를 설정하는 데 사용 사용자의 식별 정보를 쿠키에 저장하고 사용자가 재인증 없이 애플리케이션 내에서 세션을 관리할 수 있게 함 SetAuthCoo..
[JavaScript] Object 속성, 값 관련 메서드
1. Object.entries 객체의 속성들을 [키, 값] 형태의 배열로 변환해 주는 메서드 객체의 열거 가능한 속성들을 순회 속성들의 순서 보장하지 않음 const person = { name: 'John', age: 30, occupation: 'Engineer' }; const entries = Object.entries(person); console.log(entries); // [ ["name", "John"], ["age", 30], ["occupation", "Engineer"] ] 위의 출력 결과처럼 'Object.etries' 메서드는 주어진 객체의 각 속성을 [키, 값] 형태의 배열로 변환하여 배열로 묶어 반환합니다. 이를 통해 객체의 속성들을 배열 형태로 순회하거나, 다른 배열과 합..
[JavaScript] 파일 업로드 기능 구현
1. HTML input 태그 input 태그의 file 타입을 사용하면 파일 선택 다이얼로그가 열리고 사용자는 로컬 파일 시스템에서 원하는 파일을 선택할 수 있습니다. 파일 업로드 : 선택한 파일은 웹 서버로 업로드됩니다. 폼태그의 'action' 속성에 지정된 URL로 파일이 전송되며, 서버 측에서는 이 파일을 처리하고 저장할 수 있습니다. 파일 형식 제한 : 'accept' 속성을 사용하여 특정 파일 형식만 선택할 수 있도록 제한할 수 있습니다. 다중 파일 선택 : 'multiple'속성을 사용하여 다중 파일 선택을 지원할 수 있습니다. 파일 정보 확인 : JavaScript를 사용하여 선택한 파일의 정보를 확인할 수 있습니다. 'FileReader' 객체를 사용하여 파일 이름, 크기, 유형등의 정..
[HTML5] HTML 데이터 속성
1. HTML 데이터 속성 HTML의 데이터셋 속성은 커스텀 사용자 속성을 DOM 요소에 저장하는데 표준화된 방법을 제공한다. 한마디로 자바스크립트에서 변수를 사용하듯이, 일종의 html의 변수 역할이라고 말할 수 있다. 2. 일반 속성과 데이터셋 속성 데이터셋도 일종의 속성(attribute)이다. 보통 html에서 속성이라 하는 것은 여러분도 잘 알듯이 id, class, src, title 등의 태그에 붙이는 어트리뷰트를 말한다. 이들 속성은 특정 태그의 소스 경로나 이름, 너비, 아이디를 기재하는데 정해져 있다. 그런데 html 태그에 그 엘리먼트만이 지니고 있는 고유한 커스텀 값을 지정해 사용하고 싶을 때가 있다. 마치 아래 코드처럼 input 태그의 value 속성으로 값을 기재해 주면, 자바..
[JavaScript] for in, for of 반복문 차이
1. for ...in 문 객체의 열거 가능한 속성(프로퍼티)에 대해 순회(반복) 객체의 key 값에 접근 가능, value 값에는 직접 접근 불가능 모든 객체에서 사용 가능 for ...in 문은 객체의 열거 가능한 속성(프로퍼티)에 대해 반복합니다. 열거 가능하다는 것은 enumerable 속성을 가지고 있다는 것을 의미합니다. keys는 열거 가능한 속성이고, valueOf는 열거 불가능한 속성이기 때문에 객체의 key 값에는 접근할 수 있지만, value 값에는 직접 접근할 수 없습니다. key값을 이용해 간접적으로 접근하는 것은 가능합니다. 예를 들어, 객체의 속성을 출력하거나 속성에 대한 작업을 수행할 때, for ...in 문을 사용할 수 있습니다. const obj = { a: 1, b: ..
[Javascript] 파일의 확장자 추출하는 함수
파일 업로드를 구현하다 보면 파일의 확장자를 체크해야 하는 경우가 많이 있습니다. 간단한 로직이지만 자주 쓰이기 때문에 함수로 만들어서 사용해 봤습니다. function getFileExtenstion(filename) { // 파일이름의 마지막 점(.)의 인덱스를 찾습니다. var dotIndex = filename.lastIndexOf("."); // 점이 없는 경우 확장자 없음으로 간주합니다. if (dotIndex == -1) { return ""; } else { return filename.substr(dotIndex + 1); } } 위 함수에 "test.jpg"라는 파일 이름을 변수로 넣으면 결과로 "jpg"를 반환합니다. 만약 파일이름에 점(.)이 없는 경우 빈 문자열을 반환합니다. fu..
[JavaScript] FileReader 객체
1. FileReader 객체란? FileReader 객체를 활용하면 파일을 읽고 서버로 업로드하는 등 다양한 파일 처리 작업을 수행할 수 있습니다. FileReader는 비동기적인 방식으로 파일을 읽기 때문에 파일이 크거나 읽는데 시간이 걸릴 수 있는 경우에도 웹 페이지의 응답성을 유지할 수 있습니다. 태그를 이용하여 유저가 선택한 파일들의 결과로 반환된 FileList 객체에서 파일 객체를 얻을 수 있고, 드래그 앤 드롭으로 반환된 DataTransfer 객체에서도 파일 객체를 얻을 수 있습니다. 2. 속성 FileReader 객체의 주요 속성은 다음과 같습니다. 1. result: 파일의 내용을 나타내는 데이터입니다. 파일을 읽은 후에는 해당 속성을 통해 파일 내용에 접근할 수 있습니다. 이 값은 ..
[MSSQL] insert into vs select into
1. INSERT INTO 문 INSERT INTO문은 데이터베이스 테이블에 새로운 레코드(행)을 삽입하는 역할을 합니다. INSERT 문을 사용하여 데이터를 테이블에 추가할 수 있습니다. 기본적인 INSERT INTO 문은 다음과 같습니다. INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...); -- 컬럼 명시하지 않는 경우 INSERT INTO 테이블명 VALUES (값1, 값2, ...); INSERT INTO 문은 삽입하려는 테이블의 구조와 일치하는 컬럼과 값을 지정해야 합니다. 데이터의 유효성을 확인하고 제약 조건을 준수하는 등의 추가적인 작업을 수행할 수도 있습니다. INSERT INTO 문은 자주 사용하는 SQL문이고 사용하면서 특별하게 어려운 점은..
[IIS] [HttpException (0x80072749): 세션 상태 서버에 세션 상태 요청을 할 수 없습니다. ASP.NET 상태 서비스가 시작되었으며 클라이언트 포트와 서버 포트가 같은지 확인하십시오.
Step1. 제어판 > 서비스 > ASP.NET State Service > 서비스 실행 Step2. Web.config > connectionStrings > DB Connection 확인 Step3. sessionState > mode 값이 StateServer로 되어있다면 InProc으로 변경