"ASP.NET기반으로 웹 사이트를 구축하는 4가지 방법"중의 하나로 ASP.NET 웹 페이지 개발 맛보기를 다룰까 합니다. ASP.NET 기반의 개발 방법 중에서 가장 단순한 구조를 가지고 있고 PHP, ASP, JSP와 같은 스크립팅 언어를 이용하는 전통적인 웹 개발 방법과 유사하기 때문에 기존 개발 방법에 익숙해 있고 시스템 구조의 단순함을 원하는 사람이라면 "ASP.NET 웹 페이지" 개발 방법을 적용할 필요가 있습니다.ASP.NET 웹 페이지 개발을 위한 환경으로 .NET 프레임워크를 비롯하여 ASP.NET 코드를 작성하기 위한 편집기, 웹서버, 데이터베이스, 사이트 적용을 위한 도구등을 들수 있는데 이러한 환경을 손쉽게 구축할 수 있는 도구로 마이크로스프트에서는 웹매트릭스(WebMatrix)라..
"ASP.NET 레이저(Razor) 시작하기"에 이어서 VB.NET 기반의 레이저 문법을 정리해 봅니다. @Code Dim today_str = "오늘은 " + DateTime.Now.Date.ToString() + " 입니다." Dim req_type As String = Request.RequestType Dim max_year As Integer = 200 End Code 페이지 방문을 환영합니다. @today_str 요청 내용 : @* 코드 외부 주석 *@ URL : @Request.Url 요청형식 : @req_type 길이 : @Request.ContentLength @Code @주요 설정 : @:테스트 메시지 @* 코드내 주석 *@ @입력 가능 연도 : @max_year End Code ■ 기..
"ASP.NET 레이저(Razor) 시작하기"에 이어서 C# 기반의 레이저 문법을 정리해 봅니다. @{ var today_str = "오늘은 " + DateTime.Now.Date.ToString() + " 입니다."; String req_type = Request.RequestType; int max_year = 2030; } 페이지 방문을 환영합니다. @today_str 요청 내용 : @* 코드 외부 주석 *@ URL : @Request.Url 요청형식 : @Request.RequestType 길이 : @Request.ContentLength @{ 주요 설정 : @:테스트 메시지 @* 코드내 주석 *@ 입력 가능 연도 : @max_year } ■ 기본 문법@{ .... } 블럭으로 표현하는 C# 코드..
ASP.NET은 이전에 사용했던 ASP(Active Server Pages)의 단순한 업그레이드 판이 아닙니다. 마이크로소프트사에서 "통합 웹 개발 모델"로 소개하는 것과 같이 웹페이지를 표현하는 HTML 코드에 ASP 스크립트를 단순하게 섞어서 서버 작업을 수행하는 서버 스크립트 정도에 그치는 것이 아니라 .NET 프레임워크의 일부로 제공되어 ASP.NET에서 .NET에 간편하게 접근할 수 있을 뿐만아니라 C#, VB.NET 등의 다양한 언어를 사용하여 웹 응용을 개발할 수 있습니다. ASP.NET을 이용한 웹 개발은 클라이언트에 HTML을 제공하는 시각에서는 ASP.NET Web pages, ASP.NET Web Forms, ASP.NET MVC가 있고 이 방법론들과 결합하여 또는 독립적으로 동작할 ..
ASP.NET과 전통적인 ASP와의 큰 차이점중의 하나는 ASP에서는 서버 코드를 작성할 때 코드 블럭의 시작을 로 표시한 다음 블럭 내부에 VB Script로 코드를 작성 했으나 ASP.NET에서는 @문자를 사용하는 레이저(Razor) 마크업을 통해서 서버 코드로 C# 및 VB.NET 언어를 사용할 수 있다는 점입니다.위의 그림은 웹매트릭스("무료 웹 개발도구 웹매트릭스 설치하기 - WebMatrix3" 참조)에서 페이지를 추가할 때 나오는 기본 템플릿 예제로 레이저 기반의 웹페이지를 만들 때는 CSHTML 또는 VBHTML을 선택합니다. 다시 말해서 C# 언어를 사용하는 레이저 문법을 사용할 경우에는 *.cshtml 파일명으로 코드를 작성하고 VB.NET 언어를 사용하는 레이저 문법을 사용하는 페이지..
"VB.Net 프로그램의 완성 - 디플로이(Deploy)"에서 설치 프로그램을 통한 프로그램 배포 과정을 다루었습니다. 윈도우 시스템에서의 설치 및 설치 제거는 "msiexec.exe"를 통해 이루어지기 때문에 프로그램의 제거 과정에 특별한 조치가 필요해서 별도의 응용 프로그램을 실행시켜야 하는 경우가 아니라면 "msiexec.exe"를 실행시켜 해당 응용 프로그램을 제거할 수 있습니다. 제어판>프로그램 추가/삭제에서 제거하는 것과 동일한 작업을 수행합니다. 설치 프로젝트에 "msiexec.exe"를 실행시키는 배치 파일(*.bat)를 추가하고 사용자 메뉴에 언스톨을 추가하는 방법을 간단히 나누고자 합니다."*.bat"라는 파일을 새롭게 작성해서 위의 스크립트를 입력합니다. /x 옵션은 제거를 의미하고 ..
하나의 웹사이트를 통해서 단순한 홈페이지를 서비스하거나, 커뮤니티를 구성하거나, 업무를 수행하는 워크프로우를 제공하거나, 포털을 서비스 할 수도 있지만 어떠한 웹사이트를 만드는 과정에도 본격적인 개발에 앞서 요구사항 수집 및 분석, 기획, 설계등의 과정을 거치게 됩니다. 성공적인 개발은 개발에 앞서 이루어지는 이러한 과정들을 꼼꼼하게 수행해야만 가능한 것입니다. 산출물로는 요구사항 목록, 기획서, 스토리보드 등이 있을 것입니다. 경우에 따라서는 벤치마킹 보고서나 파일럿 보고서등도 포함될 것입니다. 그렇다면, 개발 단계에 이르러 주요 기술로 ASP.NET을 선택했다면 ASP.NET과 연관성을 가진 기술들은 무엇이 있을까요? 네이버나 다음과 같이 웹 기술을 다루는 대형 조직에서는 기획, UI(User Int..
스마트폰, 태블릿, 노트북, 데스크탑에 이르기까지 웹을 구동하지 않는 기기가 없을 정도로 웹은 우리 삶 전반에 깊은 영향을 주는 기술임에 틀림없습니다. 우리에게 이미 친숙한 프로그램인 익스플로러, 크롬, 사파리와 같은 웹 브라우저에서 웹 주소를 입력하는 방식으로 웹 페이지를 요청하면 아파치나 IIS(Internet Information Services)와 같은 웹서버는 요청한 주소의 페이지를 찾아 전달해주고 웹 클라이언트인 브라우저는 전달받은 페이지의 내용(HTML)을 사용자에게 보여주는 방식입니다. 단순한 회사 소개 페이지 처럼 HTML 파일이나 이미지를 보여주는 것이 전부인 웹 페이지를 정적(Static) 웹 페이지라 하고 로그인, 상품 주문, 게시판 처럼 사용자의 반응과 입력에 따라 내용이 달라지는..
"자바 환경에서 동영상 출력하기 - VLCJ 준비"에 이어서 VLCJ 프레임워크와 VLC 미디어 플레이어를 기반으로 자바 환경(Java AWT 및 Swing JFrame )에서 동영상 출력하기를 다룰까 합니다. VLCJ 프레임워크는 Java AWT나 Swing 내부에 VLC 미디어플레이어를 올려주는 역할을 하기 때문에 JNA(Java Native Access) 라이브러리를 필요로 합니다. 프로젝트에 JNA 라이브러리를 포함시키거나 실행 환경에 설치되어 있어야 합니다. JNA는 https://github.com/java-native-access/jna 에서 다운로드 받을 수 있습니다. 위의 그림처럼 jna.jar과 jna-platform.jar 모두가 필요합니다. JNA와 더불어서 동영상을 출력하기 위해서..
Java AWT나 Swing JFrame 환경에서 동영상을 출력하는 방법을 찾아보니 오라클에서 제공하는 JMF(Java Media Framework)를 사용하는 방법과 오픈소스 프로젝트인 VLCJ를 사용하는 방법이 눈에 들어왔습니다. 자바 개발사가 배포하는 패키지이므로 겉보기에는 JMF에 대한 신뢰성이 있다고 여겼으나 맛보기로 코드를 작성해 보니 뭔가 삐걱거렸고 개발자들의 평도 JMF보다는 VLCJ를 추천하더군요. 그래서 깃허브를 통해 최신 코드를 배포하고 있는 VLCJ를 사용해 보기로 했습니다.VLCJ는 오픈소스 미디어플레이어인 VLC Media player를("참 맘에 드는 VLC 미디어 플레이어" 참조) Java AWT나 Swing JFrame 환경에서 장착할 수 있는 프레임워크를 제공하는 라이브러..
C#은 C와 같은 프로그래밍 언어이지만 언어를 정의하는 규격(Specification)이 지속적으로 변하고 있는 특성이 있습니다. 이 버전에서는 되고 버 버전에서는 않되는 혼란이 있을 수는 있지만 개발자의 필요를 즉각적으로 반영하여 발전한다는 측면에서는 긍정적입니다. 2002년 C# 1.0 규격이 발표된 이래 현재는 2015년에 발표된 C# 6.0이 최신 규격으로 사용되고 있습니다. 문제는 언어 규격이 바뀌면 바뀐 언어 규격을 모르는 이전 컴파일러들은 새로운 규격을 소화할 수 없으니 당연히 문법 오류(Syntax error)를 발생시킬 것이라는 점입니다.C# 프로젝트의 속성 창에서 빌드>고급을 통해서 위의 그림과 같이 고급 빌드 설정을 확인해 보면 현재의 비주얼스튜디오에서 지원하는 C# 언어의 버전을 확..
리눅스용 비주얼스튜디오(Visual Studio Code)가 등장하고 마이크로소프트사에서 리눅스 진영에 대한 적극적인 대응이 활발하게 이루어 지고 있는 시기에 새 버전의 비주얼스튜디오를 만나게 되었습니다. 그 이유는 다른 아닌 C# 6.0 때문입니다. C# 언어의 새 버전 규격을 적용한 코드를 빌드하려다 보니 이전 버전에서는 불가능하고 어쩔수 없이 C# 6.0 규격을 지원하는 비주얼스튜디오 2015를 설치하게 되었습니다.Visual Studio Community 2015의 다운로드는 https://www.visualstudio.com/ko-kr/products/visual-studio-community-vs.aspx에서 할 수 있습니다. 개발자 버전인 "Express"의 모든 기능이 포함되고 사용할 수 ..
테스트와 디버깅 과정을 거쳐서 프로그램 제작을 끝내면 이제 남은 작업은 프로그램이 동작할 곳에 실행 파일을 복사하고 실행에 필요한 환경 설정이나 파일을 준비하는 것입니다. 이러한 준비 과정을 디플로이(Deploy)라고 합니다. 디플로이는 '전개시키다', '배치하다' 처럼 군사용어로 사용하는 것이지만 소프트웨어를 사용 가능하도록 준비하는 모든 과정을 디플로이라는 IT용어로 사용하고 있습니다. 디플로이에는 릴리즈, 설치, 가동 시작, 가동 중단, 설정 변경, 업데이트, 제거등의 요소가 포함되지만 통상적으로 배포(Distribute)와 설치(Install) 과정을 생각하면 적절하지 않을까 싶습니다. 프로그램은 특정한 한 서버에서만 동작할 수도 있고 불특정 다수의 컴퓨터에서 동작할 수도 있기 때문에 배포와 설치..
IPO(Input Process Output) 모델은 프로그램을 분석하거나 설명하는데 사용하는 가장 기본적인 모델입니다. 프로그램으로 들어오는 입력 자료의 구조와 형태, 처리 내용과 방식, 출력 자료의 구조와 형태를 명확하게 분석하거나 설계하는 것은 안정적인 프로그램의 시작이라 할 수 있습니다. [49-50] 다음과 같은 문제를 해결하기 위해 프로그램을 작성하였다. 물음에 답하시오. 무게가 서로 다른 개의 물건이 있다. 각 물건은 1부터 까지 번호가 매겨져 있다. 우리는 일부 물건 쌍에 대해서 양팔 저울로 어떤 것이 무거운 것인지를 측정한 결과표를 가지고 있다. 이 결과표로부터 직접 측정하지 않은 물건 쌍의 비교 결과 를 알아낼 수도 있고 알아내지 못할 수도 있다. 예를 들어, 총 6개의 물건이 있고, ..
조금 큰 규모의 프로그램 읽기는 올림피아드 문제를 푸는 것과는 조금 다른 양상을 띄게 됩니다. 올림피아드 문제를 푸는 과정은 코드도 길지 않기 때문에 메인 루프를 찾고 코드의 동작 방식을 파악하면 어렵지 않게 코드의 동작 결과나 의도하는 바를 예측할 수 있습니다. 그러나, 실제 현장에서 사용하는 조금 큰 규모의 프로그램을 읽기 위해서는 해당 코드를 빌드(Build)하여 완성된 프로그램으로 실행되는지 확인할 필요가 있고 구체적인 세부 기능들을 동작시켜서 실제로 접해보는 것이 선행되어야만 합니다. 프로그램을 동작시켜서 기능들이 실제로 어떻게 동작하는지 맛보았다면 코드를 읽는 과정에서 알고리즘의 작성 배경과 실행 결과를 예측할 수 있기 때문에 좀더 명확한 프로그램 읽기에 도움이 될 수 있습니다. 큰 규모의 프..
이번 글에서는 함수가 코드의 핵심 역할을 하는 문제들을 골라 보았습니다. C언어를 기반으로 프로젝트를 수행하다보면 개인적으로 자주 적용하는 프로그래밍 기법 중에 하나가 바로 모듈화 프로그래밍입니다. 모듈화 프로그래밍은 기능 단위로 코드를 나누어 작성하는 것으로 개별 기능을 함수 단위로 나눌 수도 있고 소스 코드 자체를 분할 할 수도 있습니다. C++과 같은 OOP(객체지향프로그래밍) 언어에서는 클래스를 사용해서 기능과 데이터등도 분리하여 묶을 수 있지만 C언어 에서는 데이터를 바라보는 범위(Scope)가 함수 내부인가 외부인가로 단순하게 나누어 지고 함수 외부의 경우 같은 소스인가 아닌가 정도로 나뉘어 지므로 C언어에서의 모듈화는 함수로 기능 나누기가 그 시작이 될 수 있습니다. 실제로 프로그램 작성 과..
프로그램 소스를 대하는 학생들의 입장에서는 올림피아드 문제들이 무슨 수수께기 푸는 놀이도 아니고 머리만 아픈 이 일을 굳이 왜 해야할까? 하는 사람들이 있을지도 모르겠습니다. 그렇지만 "프로그램 읽기(Reading source code)"는 프로그래머(개발자)에게는 숙명과 같은 일 입니다. 그렇지만 개발자의 생리 자체가 자신이 구상한 것을 프로그램 코드로 일단 작성하고 나면 다시 보려하지 않는 특성이 있습니다. 프로그램을 읽는 경우는 버그를 찾아야 하거나 다른 사람이 작성한 것을 수정해야 하는 경우, 또는 조직에 프로그램 리뷰 프로세스가 있는 경우 리뷰할 목적으로 읽는 정도입니다. 그러나, 프로그래밍 기술을 성장시키는 가장 좋은 방법 중에 하나는 잘 작성된 프로그램을 읽는 것입니다. 예를 들면 가장 널리..
복합 대입 연산자는 +=, -=, *=, /= 처럼 산술연산자(+, -, *, /, %)나 비트연산자(>>, 2) { tot += (n / 10 + 1) * i; } else { tot += (n / 10) * i; } a += i * (n % 10); i *= 10; n /= 10; } printf("%d\n", tot); ① 616 ② 617 ③ 618 ④ 619 ⑤ 620 위의 문제는 정수 연산과 복합 대입 연산자를 잘 알고 있다면 어렵지 않게 풀 수 있습니다. while문의 조건이 n이 0보다 클동안이므로 n의 값이 0이거나 음수면 루프를 빠져나갑니다. n의 값을 10으로 나누면서 루프를 수행하므로 결과적으로 n의 값이 2015, 201, 20, 2일 동안 총 4회 수행하면서 tot의 값을 더해 ..
최근의 웹페이지들은 UTF-8인코딩을 채용하는 경우가 점점 늘어나고는 있지만 윈도우 환경이 지배적인 한국에서는 여전히 EUC-KR인코딩 내지 CP949 인코딩을 지원해야하는 것은 한국 개발자들의 숙명이 아닌가 싶습니다. 최근 PHP 환경에서 인코딩 변환을 하다가 문제를 해결한 사례를 메모해 둡니다. 웹서버는 UTF-8 인코딩으로 웹페이지 및 MySQL 데이터베이스에 저장하는 체계인데 서너개의 테이블을 조인해서 엑셀로 내려받기하는 기능을 추가하려 했습니다. DB 쿼리도 문제없고 테스트 과정에서 댓글도 하나로 잘 조인 되었습니다. SELECT t.id, t.type ttype, FROM_UNIXTIME( t.time /1000000 ) ctime, t.priority, t.owner, t.reporter, ..
프로그램을 많이 개발해본 경험자라면 정보 올림피아드의 프로그램 분석 문제가 그리 낯설지 않겠지만, 개발을 많이 하지 않은 사람이라도 다양한 알고리즘에 대한 잦은 경험은 나도 모르게 프로그래밍 실력을 향상 시킬 수 있는 좋은 기회가 됩니다. 알고리즘(Algorithm)은 단순히 "계산법"으로 정리할 수도 있지만 사전에서는 "어떤 문제를 해결하기 위해 정해진 일련의 절차나 방법"으로 정의하고 있습니다. 알고리즘에는 입력이 있고 검증 가능한 처리 과정과 출력이 있는데 정보 올림피아드의 여러 문제들은 이러한 알고리즘의 검증 과정이라고 이해해도 크게 무리가 되지 않을것 같습니다.이러한 프로그램 분석 과정은 보다 효율적인 프로그램을 구현하는 밑바탕이 될 것입니다. 입출력이 작고 외부 연관성이 작은 프로그램이라면 알..
"PHP로 오픈 플래시 차트 출력하기"와 "오픈 플래시 차트 예제 목록 - PHP"에 이어 플래시 차트 출력과 관련한 실제적인 사례를 다루어 볼까 합니다.첫번째 예제는 각 항목의 색과 레이블을 지정하면서 파이 차트를 그리는 것입니다. 파이 차트를 그리면서 접히는 애니메이션 효과도 주고 마우스를 올렸을때 보이는 값 표시 형식도 변경합니다. require_once('OFC/OFC_Chart.php'); $pie_labels = array("신규", "진행중", "거절", "완료"); $pie_clrs = array("#7EEE8E","#7EC9EE","#D67EEE","#EEE97E"); $pie_dat = array(35, 20, 10, 50); $pie = new OFC_Charts_Pie(); $pie..
프로그래밍 언어에서 여러가지 타입의 기반이 되는 가장 원초적인 데이터 타입을 스칼라(Scalar) 타입이라고 합니다. 예를 들어 int, short, char, float, double등이 C언어의 대표적인 스칼라 데이터 타입입니다. 여러가지 데이터가 모여서 하나의 변수처럼 사용할 수 있는 데이터 타입도 있는데 대표적인 것이 배열(Array)과 구조체(Structure)입니다. 실제 프로그래밍 과정에서도 배열과 구조체 없이는 프로그래밍이 불가능할 정도로 매우 중요한 요소입니다. 배열은 동일한 데이터 타입의 집합으로 각 항목은 첨자(Index)로 접근합니다. int a[10][10]; 처럼 대괄호 속에 배열의 크기를 지정하여 선언하지만 첨자는 0부터 시작하기 때문에 a[0][0]부터 a[9][9]까지 접근..
이번 글은 오픈 플래시 차트를 설치한 ("PHP로 오픈 플래시 차트 출력하기" 참조) 이후 각 차트에 대한 실제 모습과 PHP 예제 코드를 참조하기 위해서 작성되었습니다. 3D Bar srand((double)microtime()*1000000); $data = array(); // add random height bars: for( $i=0; $iset_values( $data ); $bar->colour = '#D54C78'; $x_axis = new OFC_Elements_Axis_X(); $x_axis->set_3d( 5 ); $x_axis->colour = '#909090'; $x_axis->set_labels( array(1,2,3,4,5,6,7,8,9,10) ); $chart = new OF..
PHP 환경에서 웹페이지에 그래픽 차트를 출력하는 방법은 imagecreate() 함수로 시작하여 서버에서 직접 도표를 그려서 PNG나 GIF와 같은 동적 이미지를 생성하여 내려보내는 전통적인 방법이 있습니다. 이 방법을 사용하면 서버에서 도표를 그리는 과정에 여러가지 융통성을 부여할 수 있다는 장점이 있습니다. 데이터 생성과 그래픽을 모두 서버에서 수행한다는 특징이 있습니다. PHP 환경에서 웹페이지에 그래픽 차트를 출력하는 또다른 방법은 플래시(Flash) 오브젝트를 활용하는 것으로 도표 출력을 위한 데이터는 서버에서 생성하지만 차트 출력은 클라이언트의 플래시 오브젝트에서 수행하는 특징이 있습니다. 오픈 소스인 OFC(Open Flash Chart, https://sourceforge.net/proj..
C언어에서 함수 만큼이나 중요한 요소가 있을까 싶을 정도로 C언어에서 꼭 이해가 필요한 영역입니다. 함수를 사용하기 위해서는 선언(Declaration)과 정의(Definition)가 있어야 하는데 사용할 함수가 동일한 소스 코드에 위치하는 내부 함수의 경우에는 선언부를 생략하고 정의만 하기도 하지만 선언부를 소스 코드 상단이나 헤더 파일에 기술하고 하단부에 함수의 몸체(Body)를 정의하는 방식을 주로 사용합니다. void swap(int *i1, int *i2); int main() { int a = 10; int b = 20; swap(&a, &b); printf("\na = %d , b = %d", a, b); } void swap(int *i1, int *i2) { int tmp; tmp = *..
평소 수학에 관심을 가지고 있는 사람이 아니면 수열 문제 만큼 머리 아픈 것도 없을 것입니다. 그렇지만 프로그래밍은 단순한 "코딩"이기 보다는 "문제 해결"이 목적이고, "문제 해결"의 첩경은 집중력 있는 관찰과 그를 바탕으로한 적절한 해결책을 제시하는 것이므로 이런 관점에서 수열 문제는 면밀한 관찰을 통해서 단서를 찾고 대상이 아닌 부분을 배제하며 해결책을 찾으려는 태도가 꼭 필요합니다. 24. 다음 프로그램의 출력이 “2 5 10 17 26 ”이 되도록 _________부분에 들어갈 코드는 무엇인가? int i; i = 1; while (i
C언어에서는 문자열(String, 스트링) 타입을 지원하지 않습니다. char(signed char) 또는 unsigned char로 정의하는 문자의 배열이나 배열에 대한 포인터가 일반적으로 말하는 스트링이라 할 수 있습니다. 문자형 타입인 char은 1 바이트의 메모리 공간을 차지하는 타입으로 리터럴(상수)은 작은 따옴표(', apostrophe)로 a = 'A';와 같이 표현합니다. 대부분의 영문자, 숫자, 특수문자 등은 32~127 사이의 문자 값으로(아스키, ASCII) 표현 하는데 32 아래의 특수문자들은 눈에 보이지 않는 제어(컨트롤) 문자가 배정되어 있고 대표적인 제어문자로 C에서는 아래와 같이 표현할 수도 있습니다.'\a' : 알람음. 7'\b' : 백스페이스, 8'\f' : 폼피드, 12..
리눅스와 윈도우, 맥과 같은 요즘의 운영 체제는 대부분 한번에 여러개의 프로그램이나 프로세스를 실행시키는 멀티태스킹(Multi-tasking) 운영체제입니다. 멀티태스킹 운영체제에서 화면을 통해 사용자와 대화식으로 동작하는 콘솔 응용, 윈도우 폼 응용도 있지만 사용자 눈에 보이지는 않지만 백그라운드에서 동작하는 데몬(Daemon) 프로세스도 있습니다. 장치에 대한 처리를 수행하거나 일정한 예약시간에 프로그램 실행시키거나 하는 프로그램으로 윈도우에서는 이러한 데몬 프로세스를 서비스(Service)라 부르고 제어판>관리도구>서비스를 통해 관리할 수 있습니다. 위의 그림은 서비스 관리자의 목록 화면으로 일반적인 응용과 달리 시스템 구도 시점에 자동으로 시작시키는지 수동으로 시작시킬 지를 "시작 유형"을 통해서..
이번 문제를 통해서는 C언어 연산자(Operator)의 종류와 연산자별 우선 순위(Precedence)와 결합 방향(Associativity, 결합성, 연관성)을 다룰까 합니다. 연산 우선 순위는 서로 다른 연산자가 섞여 있는 경우 어떤 연산자를 먼저 수행할 것인지를 다루는 것으로 "a + b * c"인 경우 b*c를 먼저 수행하고 그 결과와 a를 더하는 작업을 나중에 수행하는 것과 같습니다. 결합 방향은 동일한 순위 레벨(+와 -는 같은 수위이고 *과 /도 동일 순위)을 가진 연산자가 섞여 있는 경우 연산 순서를 좌->우로 할지 우->좌로 수행할 지를 결정합니다. 예를 들어 "a + b+ c"는 좌->우 결합성을 가져서 a+b 결과에 c를 더합니다. 그런데 캐스팅, 주소추출등의 연산자는 우->좌 방향으..
- 런타임 에러 76은 경로를 찾을수 없다는 메시지 이군요. 입력하신 경로를⋯
- Set folder = fso.GetFolder(sFolder) 에서 런⋯
- [승인대기]
- 표준 시간은 제주 올레 홈페이지를 참조하시는 것이 좋을듯 하네요. 이 포⋯
- 안녕하세요. 리뷰 감사해요 소요시간이 어떻게 되나요? 저도 가보려고요
- 제주 올레길 / 까미노 데 산티아고 길 을 가봤는데 아직 해파랑 남파⋯
- 아 오르세... 제 가 갔을땐 실내 촬영이 안됬는데 지금은 된다고 하지요⋯
- 법환 포구 빌라 자리엔 원래 각종 맛집들이 있엇는데 말이죠.. 싹 밀어서⋯
- 리눅스의 쉘 환경과 같은 준비를 해주는 것으로 이해하면 좋을듯 합니다. ⋯
- 안녕하세요.. 야라바님 초면에 갑작스럽겠지만 제 생명의 은인입니다. T⋯