전체 글(195)
-
VB.NET Rnd, Randomize, Random 랜덤값 난수 사용하기
랜덤값은 의외로 여러 분야에서 많이 사용하게 되는 기능이니 이번 기회에 확실히 알아보도록 하자. 예전 VB98에서 랜덤값을 사용하려면 Rnd 함수를 사용해야 했고, 지금도 이 방법이 익숙해서 많이 사용된다. 사용법은 아래와 같다. Rnd() 함수는 0 이상, 1 미만의 임의의 부동 소수점 숫자를 반환한다. 1 미만이기 때문에 1은 반환하지 않는다는 것에 주의하자. 0은 반환하기도 하지만, 확률적으로 아주 낮다. 아래 예제를 살펴보자. Dim rndVal = Int(Rnd() * 10) + 5 이렇게 하면, rndVal에는 5 이상, 15 미만의 랜덤값이 들어가게 된다. 랜덤값은 말 그대로 임의의 값이기 때문에 어떤 값이 들어갈지는 며느리도 모른다. 다만 범위만 정해줄 뿐이다. 그러면 Randomize()..
2024.02.20 -
VB.NET HTML 파싱 - XPath를 사용한 HtmlAgilityPack 예제
VB.NET으로 HTML을 파싱하기 위해 예전에는 InStr, Mid, Left 등을 이용해서 하나하나 위치 잡아서 값을 가져왔던 기억이 나는데, 이제는 그럴 필요가 없다. 물론 예전 방식으로 작업해도 동작에 무리가 없지만 그럴 필요가 없어졌으니 HtmlAgilityPack을 이용해서 HTML을 파싱해보도록 하자. 1. HTML 파일 생성 아래 소스처럼 예제에 사용할 간단한 HTML 문서를 하나 만들어 보자. 1행 1열 1행 2열 1행 3열 2행 1열 2행 2열 2행 3열 3행 1열 3행 2열 3행 3열 Div 2번째 테이블을 하나 그려서 각 열과 행을 표시하는 간단한 HTML 문서이다. 이제 이 문서를 파싱하며 HtmlAgilityPack가 제공하는 다양한 기능을 확인해보자. 우선 위 HTML 소스를 ..
2024.02.19 -
VB.NET 웹페이지 소스 가져오기 - HttpClient 비동기
VB.NET으로 웹페이지 소스를 가져올때는 비동기 방식을 사용하는게 좋다. 왜냐하면 외부 페이지에 접속해서 소스를 받아올때는 필연적으로 Delay Time이 발생하는데 비동기 방식이 아닌 동기 방식으로 사용하게 되면 이 타이밍에 프로그램이 죽은것처럼 응답이 없기 때문이다. 대상 사이트가 빠른 응답을 하면 프로그램이 1초 이내로 다시 반응하지만, 혹시라도 점검중인 사이트이거나 사용자가 몰려서 응답이 오래 걸리게 되면 10초 이상도 걸리게 되니 무조건 비동기 방식으로 사용하는걸 추천한다. 이번 시간에는 비동기방식으로 웹페이지에 접속해서 소스를 받아오는 간략한 예제를 만들면서 세부적인 구현 방법을 알아보기로 하자. 1. 폼 꾸미기 아래 캡처이미지를 참고해서 메인페이지에 컨트롤을 넣고, 속성을 설정해주자. (1..
2024.02.16 -
VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #3/3
이번 시간에는 지난 시간에 이어서 EntityFrameworkCore을 사용해서 DB의 내용을 가져오고, DB에 내용을 저장하는 기능을 구현해 보도록 하자. 2024.02.12 - [VB.NET/MS-SQL] - VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #1/3 VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #1/3 항상 ADO를 사용하는게 익숙했는데, 아무래도 MAUI와 같은 멀티플랫폼에서의 호환성을 위해 ADO는 점점 사라지는 추세인듯 하다. 그래서, 다른 대안을 찾다보니 EntityFrameworkCore가 있더라. 이건 하위 chakhani.tistory.com 2024.02.14 - [VB.NET/MS-SQL] - VB.NET 쿼..
2024.02.15 -
VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #2/3
이번 시간에는 지난번에 언급했던 작업 순서에 따라 차근차근 아주 상세하게 EntityFrameworkCore을 이용해서 MS-SQL을 사용하는 방법에 대해 알아보도록 하자. 2024.02.12 - [VB.NET/MS-SQL] - VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #1/3 VB.NET 쿼리 없이 DB 사용하기 (EntityFrameworkCore) #1/3 항상 ADO를 사용하는게 익숙했는데, 아무래도 MAUI와 같은 멀티플랫폼에서의 호환성을 위해 ADO는 점점 사라지는 추세인듯 하다. 그래서, 다른 대안을 찾다보니 EntityFrameworkCore가 있더라. 이건 하위 chakhani.tistory.com 1. 프로젝트 생성 VS2022 Community로 새..
2024.02.14 -
VB.NET IIf 문과 If문의 차이점
한줄짜리 조건문을 사용하기 위해서 여태까지는 IIf문을 사용했지만, VS2008 이후부터는 동일한 형식의 문법으로 If문을 그냥 사용할 수 있도록 기능이 추가되었다. 하지만 이들 사이에는 아주 큰 차이점이 있는데 이번에는 이 차이점에 대해 알아보도록 하자. 모두들 알다시피 IIf문의 문법은 아래와 같다. Public Function IIf(ByVal Expression As Boolean, ByVal TruePart As Object, ByVal FalsePart As Object) As Object 총 3개의 파라미터가 들어가며, 첫번째 파라미터의 결과에 따라 True이면 두번째 파라미터를 반환하고, False이면 세번째 파라미터를 반환하는 단순한 구조이다. 아래 예제를 살펴보자. Dim val1 As..
2024.02.13