본문 바로가기
728x90
반응형

C#10

Java와 C#의 컴파일 방식의 공통점과 차이점 1. Java의 컴파일 및 실행 과정 Java는 다음과 같은 컴파일 및 실행 단계를 거칩니다:Java 소스 코드(.java): 개발자가 Java로 작성한 소스 코드.바이트코드(.class): Java 컴파일러(javac)가 .java 파일을 바이트코드인 .class 파일로 컴파일합니다. 이 바이트코드는 플랫폼 독립적입니다.JVM(Java Virtual Machine): JVM은 바이트코드를 읽고, 이를 기계어로 변환하여 실행합니다. Java는 이 과정에서 JIT(Just-In-Time) 컴파일을 사용하여 바이트코드를 실행 시점에 기계어로 변환합니다.이 흐름에서 JVM이 Java 바이트코드를 기계어로 변환하여 실행합니다.  2. C#의 컴파일 및 실행 과정 C#은 다음과 같은 컴파일 및 실행 단계를 거칩니.. 2024. 9. 7.
.NET의 컴파일 과정: C#에서 IL, DLL, JIT, 기계어까지, 그리고 CLR의 역할 .NET 애플리케이션은 코드가 컴파일되고 실행되는 과정에서 여러 단계의 변환을 거칩니다. 이 과정은 C#과 같은 고수준 언어에서 작성된 코드가 최종적으로 하드웨어에서 실행될 때까지의 복잡한 여정을 설명합니다. 이 포스팅에서는 C# 코드가 어떻게 실행되는지를 살펴보고, IL(Intermediate Language), DLL, JIT(Just-In-Time) 컴파일, 그리고 CLR(Common Language Runtime)이 각각 어떤 역할을 하는지 알아보겠습니다. 1. C# 코드 작성.NET 애플리케이션 개발자는 C#으로 소스 코드를 작성합니다. 예를 들어, 간단한 두 숫자를 더하는 클래스를 작성할 수 있습니다:// MyMath.cspublic class MyMath{ public int Add(i.. 2024. 9. 7.
C#에서 int로 변환하는 기본 함수 정리 Convert.ToInt32() 이 함수는 다양한 데이터 형식을 int로 변환하는데 사용됩니다. 변환할 수 없는 형식을 전달하면 예외가 발생합니다. null 값을 전달하면 0을 반환합니다. string str = "123"; int num = Convert.ToInt32(str); // "123"을 정수로 변환 int.Parse() 문자열을 int로 변환하는데 사용되며 다음과 같은 특징이 있습니다: 변환할 수 없는 형식을 전달하면 FormatException 예외가 발생합니다. null 값을 전달하면 ArgumentNullException 예외가 발생합니다. string str = "456"; int num = int.Parse(str); // "456"를 정수로 변환 int.TryParse() 문자열을.. 2024. 1. 3.
[Asp.net] C# .NET 프로젝트에서 ChatGPT API 연동하기 1. SDK 설치하기 마켓에 검색해보니, 여러 SDK나 라이브러리가 나옵니다. 그 중 마음에 드시는 걸 고르면 됩니다. 저는 Betalgo.OpenAI를 설치하였는데, 다른 라이브러리를 쓰셔도 무방할 듯 합니다. 가장 첫 상단에 나오는 OpenAI 라이브러리가 다운로드 수는 더 높네요. 2. 프로젝트 아키텍처 아키텍처는 아래 그림과 같이 구성해 보겠습니다. 클라이언트 단에서 텍스트를 입력하고, 버튼을 누르면 콜백 함수를 실행시킬 것이고, 실행시킨 콜백 함수에서 텍스트를 받아서, OpenAI 서버로 전달하는 프로세스입니다. 3. API KEY 생성하기 https://openai.com/ OpenAI Creating safe AGI that benefits all of humanity openai.com 에.. 2023. 11. 30.
[Error] This action has been disabled for security reasons. The control cannot serialize complex primary key field values. 해결방법 문제 원인 특정 컨트롤에서는 KeyFieldName을 설정해야 한다. KeyFieldName이란 primary key처럼 row를 unique하게 구분해줄 컬럼을 설정하는 것이다. 그러다 가끔 이런 에러 메세지를 마주한다. This action has been disabled for security reasons. The control cannot serialize complex primary key field values. 이 에러가 발생하는 이유는 serialize, 직렬화하기에 primary key field가 너무 복잡하다는 것이다. 즉, 간단한 number같은 key field로 바꿔달라는 의미이다. (사실, devexpress docs를 보면, string, number를 다 허용한다고 되어있.. 2023. 11. 27.
[Asp.net] PostBack 시에도 데이터 유실을 방지하는 방법 ASP.NET에서 데이터가 손실되는 경우 ASP.NET 웹 프로젝트에서 콤보박스나, grid lookup 등에 DB에서 받아온 데이터를 바인딩하는 코드가 있다고 하면, 페이지를 넘기거나 할 때, 컨트롤의 데이터가 손실되는 경우가 발생합니다. 왜 그런 일이 벌어지는 걸까요? 바로 PostBack 때문입니다. PostBack이란? PostBack은 웹 애플리케이션에서 사용자의 요청에 대한 서버 측 응답을 다시 클라이언트 측으로 보내는 프로세스를 의미합니다. 사용자가 웹 페이지에서 어떤 상호 작용을 하면, 페이지는 변경된 상태로 다시 서버에 전송되고, 서버는 이 요청을 처리한 후 다시 클라이언트에게 응답을 보냅니다. 이로써 웹 애플리케이션은 사용자와 상호 작용하며 데이터를 표시하고 업데이트할 수 있게 됩니다... 2023. 11. 21.
728x90
반응형