728x90 반응형 Skills101 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. aspx와 ascx의 차이 ASPX와 ASCX는 모두 ASP.NET 웹 애플리케이션에서 사용되는 파일 형식입니다. 둘 다 HTML과 서버 사이드 코드를 혼합하여 웹 페이지를 동적으로 생성하는 데 사용되지만, 각각의 목적과 사용 방식이 다릅니다. 1. ASPX (Active Server Pages Extended)정의: ASPX 파일은 ASP.NET에서 웹 페이지를 정의하는 파일입니다. 이 파일은 웹 애플리케이션의 개별 페이지를 구성하며, 사용자가 브라우저에서 직접 접근할 수 있는 단위입니다.구조: ASPX 파일은 HTML, CSS, JavaScript와 같은 클라이언트 사이드 코드와 서버 사이드 코드(예: C# 또는 VB.NET)를 포함할 수 있습니다. 서버 사이드 코드는 태그 사이에 작성되며, 페이지가 요청될 때 서버에서 실행.. 2024. 9. 7. bin과 obj 폴더의 역할 bin과 obj 폴더는 일반적으로 .NET 프로젝트에서 중요한 역할을 합니다. 이 두 폴더는 주로 빌드 및 배포와 관련된 폴더로, 프로젝트가 컴파일되고 실행될 때 필요한 파일들을 관리합니다. bin 폴더역할- 프로젝트가 빌드될 때 생성된 실행 파일(assembly)과 필요한 의존성 파일을 포함합니다. - 주로 .dll 파일(컴파일된 어셈블리), 배포 시 필요한 구성 파일(예: .pdb, .config) 및 외부 라이브러리 파일이 위치합니다. 주요 파일- 프로젝트의 컴파일 결과물: 컴파일된 어셈블리 파일(예: MyProject.dll). - 참조된 외부 라이브러리: NuGet 패키지에서 가져온 외부 .dll 파일. - PDB 파일: 디버깅 정보를 포함한 파일 (예: MyProject.pdb). 웹 배포 시.. 2024. 9. 7. Margin, Padding의 개념과 EdgeInsets 클래스 Marginmargin은 위젯의 경계와 해당 위젯 주위의 다른 요소 사이의 외부 공간을 의미합니다. 즉, margin을 설정하면 위젯 주위의 외부 공간이 생성됩니다. 예를 들어, Container 위젯에 margin을 설정하면 다른 위젯과의 거리(외부 간격)가 늘어납니다. Container( margin: EdgeInsets.all(10), // 위젯 주위에 10의 마진을 설정 color: Colors.blue, child: Text('Hello, margin!'),)위 코드에서 EdgeInsets.all(10)은 모든 방향에서 10의 마진을 생성합니다. Paddingpadding은 위젯의 경계와 해당 위젯 내부 내용 사이의 내부 공간을 의미합니다. padding을 설정하면 위젯 내부의 내용과.. 2024. 5. 1. [RiverPod] ref select 기능 2024.04.28 - [Skills/Flutter] - [RiverPod] ref.watch, ref.listen, ref.read의 차이 이전 포스팅에서 ref에서 다뤘지만, select를 제외한 나머지 기능에 대한 포스팅이였습니다. 그러나 select 역시 ref의 주요 기능 중 하나이기 때문에 이번 글은 추가적으로 select에 대한 포스팅입니다. selectRiverpod에서 select는 매우 유용한 기능으로, 프로바이더에서 특정 부분의 데이터만을 구독하고자 할 때 사용됩니다. 이를 통해 필요한 데이터 부분만을 선택하여 관찰하고, 해당 부분이 변경될 때만 위젯을 재빌드하도록 설정할 수 있습니다. select는 성능 최적화에 큰 도움이 되며, 불필요한 빌드를 줄여줍니다. 사용법select를 .. 2024. 4. 28. 이전 1 2 3 4 ··· 17 다음 728x90 반응형