개발 언어/C,C++,C#12 C++ 동적 메모리 할당 (new, delete) 흔히 많이 쓰는 Java, c#, python 등 고수준 언어들 같은 경우 가비지 콜렉터(Garbage Collector (일명:GC))를 사용하여 메모리 관리를 자동으로 해줍니다. 하지만 C와 C++은 위의 개발 언어와 달리 포인터를 사용하여 메모리를 직접 관리할 수 있습니다. 포인터를 잘 사용한다면 메모리를 더욱 효율적으로 관리할 수 있고, 잘못 사용한다면 메모리 누수가 날수 있습니다. (그래서 C C++이 어렵다고 하는 사람이 많습니다.) C에서는 malloc()과 free()라는 함수를 통해서 메모리를 할당하고 해제하였는데 C++에서는 new와 delete라는 연산자를 활용하여 메모리를 관리합니다. 차이점은 new는 malloc() 함수와 달리 메모리 크기를 정하지 않고 동적으로 할당합니다. ne.. 개발 언어/C,C++,C# 2020. 4. 22. C# 웹 컴파일러 / C# 실습해보기 간단한 알고리즘 결과나 문법, 테스트를 해볼때 유용한 웹 컴파일러다. 웹에서 컴파일을 해볼수 있고 빌드결과를 볼수 있다. c# 외에도 아주 많은 언어를 지원한다. (파이썬, c, c++, java 등등) compile c# online rextester.com 개발 언어/C,C++,C# 2020. 2. 9. C# URL 가져와서 파라미터 자르기 (호출) c# url 가져오기 파라미터 자르기 c#에서 GET 방식으로 URL에 파라미터를 붙여서 사용하는 경우가 많다. 예를 들어, http://www.ringobee.com:80/js/test.aspx?title=ringobee&content=test title = ringobee content = test - C# 코드에서 url를 불러오는 문법 Ex) http://www.ringobee.com:80/js/test.aspx?title=ringobee&content=test HttpContext.Current.Request.Url.Host 도메인 www.ringobee.com HttpContext.Current.Request.Url.Authority 도메인+포트 www.ringobee.com:80 HttpCo.. 개발 언어/C,C++,C# 2020. 2. 8. c# 데이터 셋, 데이터 테이블, 데이터 로우 (data set, data table, data row) c#에서 사용하는 DataSet, DataTable, DataRow의 개념을 한눈에 보여주는 사진이 있길래 들고 왔다. DataSet, DataTable, DataRow의 클래스 구조나, 메서드 들은 아래의 링크에 잘 설명 되어있다. https://docs.microsoft.com/ko-kr/dotnet/api/system.data.dataset?view=netframework-4.8 DataSet 클래스 (System.Data) 데이터의 인-메모리 캐시를 나타냅니다.Represents an in-memory cache of data. docs.microsoft.com 위 링크에 사용된 DataSet 예제를 간단히 인용해 설명해보자면, using System; using System.Data; using.. 개발 언어/C,C++,C# 2019. 12. 24. [C#] 문자열 - 특정 문자열 위치 값 알아내기 (LastIndexOf() 함수) C# 에서 문자열에서 특정 문자 위치 값을 알아내야 할때 어떻게 해야할까 LastIndexOf() 함수를 사용하면된다. 예시. string Name = "ringobee"; // Name 변수에 ringobee를 삽입 int certain_index = Name.LastIndexOf("g"); // certain_index 에 문자'g'의 위치가 삽입.(3이 들어감) 간단하게 이렇게 사용가능. "g" 가 들어간 자리에 문자열도 대입 가능하다. 또한, 이 함수는 찾기 시작할 위치, 끝나는 위치, StringComparison 등을 설정할 수 있다. 더 자세한 내용은 아래의 링크 참조 바람. reference: https://docs.microsoft.com/ko-kr/dotnet/api/system.str.. 개발 언어/C,C++,C# 2019. 11. 20. c# 스레드 중단 / thread.abort() c#에서 스레드를 중단할 때, 사용하는 메소드는 abort() 이다. thread.abort(); java에서는 interrupt() 메소드로 같은 효과를 볼수 있다. thread.interrupt(); 개발 언어/C,C++,C# 2019. 9. 3. [C#] namespace 네임스페이스 / using 1. namespace c#에는 namespace 라는 구문이 있다. 어떨때 필요하냐? 예를들어 규모가 큰 프로젝트에서 개발팀 A,B,C가 파트를 나누어서 개발을 하고 프로젝트를 합칠때, 같은 변수명, 함수명을 만들었다면, 중복으로 에러가 날 것이다. 이럴때, 필요하다. 예시) // A팀의 namespace namespace A { string people; void eat() { printf("A팀의 eat() 호출!\n"); } } // B팀의 namespace namespace B { string people; void eat() { printf("B의 eat() 호출!\n"); } } int main() { A::people = "A팀개발자"; A::eat(); //A팀의 메서드 B::people.. 개발 언어/C,C++,C# 2019. 9. 3. c# partial class c# 에서 partial class 라는 개념이 있다.(partial은 메소드) parial class는 다른 파일, 다른 클래스에서 partial class를 정의할 수 있는 것이다. 즉, 서로 다른 개발자가 협업을 할때, 클래스를 부분적으로 예시를 보는게 이해가 더 빠르다. partial class person { public string name; } // 사람 클래스 => 이름 변수 선언 partial class person { protected int age; } // 사람 클래스 => 나이 변수 선언 사용시 참고 사항. 1. 각 class의 선언 타입이 같아야 한다. ex) 이렇게 선언하면 안된다. public partial class person { } private partial class.. 개발 언어/C,C++,C# 2019. 8. 28. c# InitailizeComponent 메서드 C# winform 개발을 하다보면 InitailizeComponent(); 메서드를 많이 볼수 있다. Initailize 는 초기화 Component 구성요소라는 뜻을 가지고 있다. 간단히 구성요소를 초기화 한다.라고 해석할 수 있고, 실제로, 폼 속성 및 자식 컨트롤 배치 등의 작업을 수행한다. 주의할 점은 컴포넌트 객체나 컨트롤 등을 호출할때, InitailizeComponent(); 뒤에 코드 작성을 해야한다. 즉, 컴포넌트가 배치되기 전에 코드 작성을 하면 무의미 해진다는 뜻이다. public Form1(){ InitializeComponent(); //코드 작성 } 개발 언어/C,C++,C# 2019. 8. 27. c# color.FromArgb 매서드 사용법은 아래 그림과 같이 4가지가 있다. 1. FromArgb(Int32, Int32, Int32, Int32) 순서대로 (알파값, red 값, green 값, blue 값)을 넣어 사용할 수 있다. - Int32 에 들어갈 값은 0~255 숫자다. - 알파값은 투명도를 나타냄 (0을 넣으면 투명한 색이 표출된다.) 2. FromArgb(Int32, Int32, Int32) // Opaque colors (alpha value defaults to 255 -- max value). Color red = Color.FromArgb(255, 0, 0); // 빨강 Color green = Color.FromArgb(0, 255, 0); // 초록 Color blue = Color.FromArgb(0, 0,.. 개발 언어/C,C++,C# 2019. 7. 31. 클라이언트에서 잠재적 위험이 있는 Request.Form 값을 발견했습니다 '클라이언트에서 잠재적 위험이 있는 Request.Form 값을 발견했습니다' ASP.NET 에서 html 태그(꺽세)를 보낼 때 생기는 오류다. HTML 스크립트가 포함된 내용을 전송 받을 경우 XSS(Cross-site scripting)와 같은 보안상 이슈가 생기기 때문에 .NET 기반 웹 기술(ASP.NET, MVC, Razor)의 기본설정에서 막고 있다. 꺽세 ''가 들어간 문자열을 받아서 넘기면 만들어진 웹 페이지에 insert 인젝션 공격을 할여지가 생기기 때문에 막아놓은 것이다. 예를 들어 ET 에서 html 태그를 보낼 때 생기는 오류다. HTML 스크립트가 포함된 내용을 전송 받을 경우 XSS(Cross-site scripting)와 같은 보안상 이슈가 생기기 때문에 .NET 기반 웹 .. 개발 언어/C,C++,C# 2019. 5. 31. [c#] const & static 차이 1. static - 프로그램이 시작되면 메모리에 할당 - 값을 변경가능. 2.const - 한번 할당 되면 값을 변경 할수 없음. - 참고) java(안드로이드)에서 static final 으로 선언 하면 c#의 const 와 같은 효과. ex) c# public const string a = "test" 안드로이드 public static final String a = "test" 개발 언어/C,C++,C# 2019. 5. 23. 이전 1 다음