전체 글 208

[C#] int형 변수끼리 나눗셈 결과 소숫점 이하 값이 버려지는 현상

JavaScript과 같은 동적 타이핑(dynamic typing)을 지원하는 언어를 사용하다가 C#으로 넘어와 개발하다보면 자료형에 대해 간과하다가 이슈가 생길 때가 있다 . 이번 포스팅에서는 int형 변수끼리 나눗셈 수행하면 소숫점 이하 값이 버려지는 현상과 그 이유에 대해 알아보자. 1. 문제 현상 C#에서 int현 변수끼리의 나눗셈을 수행하면 소숫점 이하 값이 버려지고, 정수 결과로 나타나는 경우가 있다. using System; public class Program { public static void Main() { int num1 = 3; int num2 = 2; Console.WriteLine("나눗셈 결과: " + num1 / num2); } } 위의 코드를 실행하면 결과는 '1'이 출력..

Language/C# 2023.07.02

C# ASP.NET에서 JavaScriptSerializer maxJsonLength 초과 에러 발생 해결

1. 발생현상 C# ASP.NET 4.6.1버전으로 웹페이지를 개발하던 중, View에서 요청한 데이터를 Controller에서 리턴해주는 과정에서 다음과 같은 오류가 발생했다. 이는 기본 Json 응답 크기 제한(ASP.NET 4.6.1버전 기준 - 4MB)을 넘어선 데이터를 응답하려 해서 발생한 에러이다. 이를 해결하기 위한 여러 방안은 다음과 같다. maximum JSON response size를 증가시킨다 - Controller에서 더 큰 JSON응답을 반환할 수 있도록 설정을 수정해주는 방법이다. 페이지 매김 또는 데이터 필터링을 구현한다. - 큰 크기의 데이터를 요청하는 대신 특정 부분을 조회할 수 있게 해주어, 응답하는 데이터의 크기를 간소화하는 방법이다. JSON 응답 데이터를 압축시킨다..

HackerRank 문제풀이 - 10 (Two Strings)

1. 문제 문제는 다음과 같다. 두 string이 주어졌을때, 공통되는 문자가 있으면 “YES”, 없으면 “NO” 를 출력해야 한다. 2. 1차 문제풀이 2.1 풀이 과정 function twoStrings(s1, s2) { // Write your code here const splitS1 = s1.split(""); const splitS2 = s2.split(""); var result = false; splitS1.forEach((char)=>{ if(splitS2.indexOf(char) !== -1){ result = true; return; } }) return result? "YES": "NO"; } 풀이 과정은 다음과 같다. “result” 변수를 false로 초기화한다. 주어진 두 문자..

HackerRank 문제풀이 - 9 (Hash Tables: Ransom Note)

1. 문제 문제 구조는 다음과 같다. 주어진 두 A, B string 배열을 비교하여, A배열에서 단어를 완벽히 사용하여 B 배열의 문장을 완성할 수 있는지 확인하여, 그 여부를 출력하는 간단한 문제이다. 2. 문제 풀이 2.1 풀이 과정 function checkMagazine(magazine, note) { // Write your code here var result = true; note.forEach(str =>{ const idx = magazine.indexOf(str); if(idx == -1){ result = false; return; } else { magazine.splice(idx, 1); } }); console.log(result? "Yes": "No"); } 풀이 과정은 다음..

HackerRank 문제풀이 - 8 (Array Manipulation)

1. 문제 1부터 시작하는 인덱스가 지정된 배열과 연산 목록이 주어진다. 각 연산은 시작 인덱스와 끝 인덱스 사이에 속한 배열 요소에 일정한 값을 더하는 작업이다. 연산을 모두 수행한 후, 배열에서 가장 큰 값을 찾아 반환해야 한다. 2. 1차 문제풀이 2.1 풀이 과정 function arrayManipulation(n, queries) { // Write your code here const listLength = queries.length; console.log("n:", n); console.log("queries:", queries); console.log("listLength:", listLength); let resultList = []; for(let i = 0; i < n; i ++){ ..

ASP.NET와 ASP.NET Core의 차이점

ASP.NET와 ASP.NET Core 모두 마이크로소프트에서 개발된 웹 애플리케이션 프레임워크이다. 하지만 둘은 몇 가지 중요한 차이점이 있다. 아래는 ASP.NET와 ASP.NET Core의 주요 차이점이다. 1. 아키텍쳐 ASP.NET은 Windows 전용이며 Windows 운영체제가 필요한 전체 .NET Framework를 기반으로 한다. 반면 ASP.NET Core는 Windows, macOS및 Linux에서 실행할 수 있는 크로스 플랫폼 프레임워크이다. ASP.NET Core는 성능과 확장성을 위해 설계된 경량의 모듈식 아키텍처를 기반으로 한다. 2. 크로스 플랫폼 지원 앞서 언급했듯이, ASP.NET Core는 플랫폼 간 지원을 제공하여, 개발자가 다양한 운영 체제에서 웹 애플리케이션을 빌드..

Language/ASP.NET 2023.06.11

ASP.NET Core의 폴더 구조

1. 개요 이 포스팅에서는 ASP.NET 프로젝트의 폴더 구조와 파일에 대해 상세히 알아보려고 한다. ASP.NET 애플리케이션 개발 시 필수적으로 사용되는 각 폴더와 파일에 대한 설명을 제공할 것이다. 2. ASP.NET의 주요 폴더 App_Data 데이터 파일을 저장하는 데 사용된다. 주로 데이터베이스 파일이나 XML 파일과 같은 데이터 소스를 저장하는 데 사용된다. App_Start 애플리케이션 시작 시 실행되는 코드 파일을 포함한다. 일반적으로 라우팅, 필터 설정, DI(Dependency Injection) 컨테이너 설정 등과 같이 애플리케이션을 구성하는 초기화 코드가 포함된다. Content CSS(Cascading Style Sheets), 이미지 및 기타 정적 컨텐츠 파일을 저장하는 데 사..

Language/ASP.NET 2023.06.11

ASP.NET에 대해

1. ASP.NET이란 ASP.NET은 Microsoft가 개발한 웹 응용 프로그램 개발 프레임워크이다. 이 프레임워크는 웹 애플리케이션, 웹 서비스 및 웹 페이지 개발에 사용된다. ASP.NET은 기본적으로 .NET 프레임워크에서 지원되며, C#이나 Visual Basic과 같은 .NET 언어를 사용하여 개발할 수 있다. 2. ASP.NET의 특징 (1) 서버 측 기술 ASP.NET은 서버 측에서 실해오디는 웹 응용 프로그램을 개발하기 위한 강력한 기술이다. 서버에서 애플리케이션 로직을 처리하고 클라이언트에게 결과를 제공한다. (2) 다양한 언어 지원 C#, Visual Basic등 다양한 언어를 사용하여 개발할 수 있다. 이는 개발자가 자신이 편한 언어를 선택하여 웹 애플리케이션을 개발할 수 있도록 ..

Language/ASP.NET 2023.06.11

[JavaScript] CSV파일 한글 깨짐 현상 해결: ANSI인코딩 저장 방법

1. 문제 현상 JavaScript로 데이터를 CSV파일로 내보내었는데, Microsoft Excel 프로그램에서 이를 열어보니 한글이 깨져보이는 현상이 발생하였다. 이를 해결한 과정을 포스팅으로 정리해본다. 2. 해결 과정 문제의 csv파일을 notepad로 열어서 “다른 이름으로 저장” 을 해보면, 하단에 인코딩 방식을 볼 수 있는데, “UTF-8”로 지정되어있음을 확인할 수 있다. 따라서, 이 인코딩 방식을 수정해주어야 함을 느끼고 인코딩 방식을 “ANSI”로 지정하여 저장하고 싶었다. 그러나, JavaScript에서 데이터를 CSV 파일로 저장할 때, 인코딩을 “ANSI”로 지정하는 것은 언어 자체에서 직접 지원하지 않는다. "ANSI"는 일반적으로 Windows 시스템에서 사용되는 인코딩을 의미..

[jQuery] 동적으로 추가된 요소에 대해 이벤트 바인딩하는 방법

1. 문제 상황 만약 jQuery를 사용하여 동적으로 element를 추가한 후에 $(document).ready() 이벤트가 작동하지 않는다면, 이는 이벤트가 DOM에 새로운 요소가 추가되기 전에 바인딩 되었기 때문일 수 있다. 이를 쉽게 설명하기 위해 예시를 들어보겠다. 아래는 일반적으로 jQuery에서 on() 메서드로 이벤트 핸들러를 연결하는 코드이다. $(document).ready(function() { // 이벤트 핸들러를 특정 요소에 연결한다. $('.itemCheckBox').on('click', function() { // 이벤트 처리 코드 // ... }); }); 이렇게 이벤트 핸들러를 연결하고 나면, jQuery를 사용하여 나중에 동적으로 추가된 .itemCheckBox 요소에 대..

FrontEnd/JQuery 2023.06.11
반응형