From b2d80610db6beda38573890ed169815e495bc663 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sun, 24 May 2020 16:34:31 +0700 Subject: [usth/ICT2.7] Engineer software --- .../1 - Lesson Overview - lang_en_vs5.srt | 39 +++ .../2 - Eclipse Introduction - lang_en_vs5.srt | 91 ++++++ .../3 - IDE Overview - lang_en_vs6.srt | 143 +++++++++ .../4 - Plug-Ins - lang_en_vs5.srt | 99 +++++++ ...pse Demo: Create Java Project - lang_en_vs5.srt | 323 +++++++++++++++++++++ ... Eclipse Demo: Create a Class - lang_en_vs6.srt | 135 +++++++++ ...lipse Demo: Run Configuration - lang_en_vs6.srt | 115 ++++++++ .../8 - Eclipse Demo: Debugging - lang_en_vs5.srt | 275 ++++++++++++++++++ 8 files changed, 1220 insertions(+) create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/1 - Lesson Overview - lang_en_vs5.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/2 - Eclipse Introduction - lang_en_vs5.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/3 - IDE Overview - lang_en_vs6.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/4 - Plug-Ins - lang_en_vs5.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/5 - Eclipse Demo: Create Java Project - lang_en_vs5.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/6 - Eclipse Demo: Create a Class - lang_en_vs6.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/7 - Eclipse Demo: Run Configuration - lang_en_vs6.srt create mode 100644 usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt (limited to 'usth/ICT2.7/P1L3 Integrated Development Environment Subtitles') diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/1 - Lesson Overview - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/1 - Lesson Overview - lang_en_vs5.srt new file mode 100644 index 0000000..afc573d --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/1 - Lesson Overview - lang_en_vs5.srt @@ -0,0 +1,39 @@ +1 +00:00:00,650 --> 00:00:07,470 +Hi, and welcome to the first of several lessons on tools of the trade. I'm + +2 +00:00:07,470 --> 00:00:12,200 +very excited about these lessons, because I believe that tools are a cornerstone + +3 +00:00:12,200 --> 00:00:14,390 +of the software engineering discipline, and it + +4 +00:00:14,390 --> 00:00:17,570 +is of paramount importance to know and + +5 +00:00:17,570 --> 00:00:20,330 +use them. In this lesson, we will + +6 +00:00:20,330 --> 00:00:25,530 +talk about integrated development environments, normally called IDEs. + +7 +00:00:25,530 --> 00:00:29,780 +And these are software applications that support developers in many of their + +8 +00:00:29,780 --> 00:00:36,870 +everyday tasks, such as writing, compiling, and debugging code. And to make the + +9 +00:00:36,870 --> 00:00:42,470 +discussion more concrete we will focus on a specific IDE, Eclipse. We will + +10 +00:00:42,470 --> 00:00:47,250 +first present Eclipse, and then get some hands-on experience through a demo. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/2 - Eclipse Introduction - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/2 - Eclipse Introduction - lang_en_vs5.srt new file mode 100644 index 0000000..1d0ff56 --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/2 - Eclipse Introduction - lang_en_vs5.srt @@ -0,0 +1,91 @@ +1 +00:00:00,160 --> 00:00:02,750 +As I just told you, tools are fundamental in + +2 +00:00:02,750 --> 00:00:06,050 +software engineering. And I will stress this concept over and + +3 +00:00:06,050 --> 00:00:08,240 +over, throughout the class. And today we're going to talk + +4 +00:00:08,240 --> 00:00:11,310 +about a tool that is especially important, which is integrated + +5 +00:00:11,310 --> 00:00:15,060 +development environments, or IDEs. And you're probably familiar with + +6 +00:00:15,060 --> 00:00:18,060 +IDEs. So IDEs are environments that give you support for + +7 +00:00:18,060 --> 00:00:21,580 +your development activities. For example, for writing code, editing code, + +8 +00:00:21,580 --> 00:00:25,320 +compiling code, and so on. And we will focus specifically + +9 +00:00:25,320 --> 00:00:28,890 +on one particular IDE, which is called Eclipse. And + +10 +00:00:28,890 --> 00:00:31,450 +what I'm showing here is the two splash screens for + +11 +00:00:31,450 --> 00:00:35,350 +two versions of eclipse, Helios and Kepler. Eclipse is an + +12 +00:00:35,350 --> 00:00:39,200 +open, extensible development environment that was initially created by IBM + +13 +00:00:39,200 --> 00:00:41,510 +and is now managed by the Eclipse Foundation. And of + +14 +00:00:41,510 --> 00:00:43,840 +course, there are many other great IDEs such as for + +15 +00:00:43,840 --> 00:00:47,310 +example, Microsoft Visual Studio or Netbeans. We will be using + +16 +00:00:47,310 --> 00:00:50,830 +Eclipse because it is open and because it is multi-platform, + +17 +00:00:50,830 --> 00:00:52,390 +which means that you can use Eclipse + +18 +00:00:52,390 --> 00:00:55,140 +no matter what operating system we're using. + +19 +00:00:55,140 --> 00:00:59,030 +So if we consider the most commonly used operating system, such as Mac + +20 +00:00:59,030 --> 00:01:02,780 +OS, Windows, Linux, Eclipse runs on any + +21 +00:01:02,780 --> 00:01:04,769 +of these environments. Therefore, no matter what + +22 +00:01:04,769 --> 00:01:06,490 +you're using, you'll be able to install + +23 +00:01:06,490 --> 00:01:08,560 +Eclipse, run Eclipse, and follow the class. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/3 - IDE Overview - lang_en_vs6.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/3 - IDE Overview - lang_en_vs6.srt new file mode 100644 index 0000000..e2b63b3 --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/3 - IDE Overview - lang_en_vs6.srt @@ -0,0 +1,143 @@ +1 +00:00:00,130 --> 00:00:05,680 +So, now let's look in a little more detail to what is an IDE. An IDE is a + +2 +00:00:05,680 --> 00:00:09,790 +software application that supports software developers in many of + +3 +00:00:09,790 --> 00:00:13,840 +their everyday tasks. It has many useful features. Most IDEs + +4 +00:00:13,840 --> 00:00:16,790 +provide views that can be used to navigate, project + +5 +00:00:16,790 --> 00:00:20,140 +resources from different perspectives. For example, you might want to + +6 +00:00:20,140 --> 00:00:22,390 +look at your code differently when you're writing code, + +7 +00:00:22,390 --> 00:00:25,950 +and when you're debugging. They also normally provide an intelligent + +8 +00:00:25,950 --> 00:00:29,380 +source code editor. For example, an editor that will allow you + +9 +00:00:29,380 --> 00:00:32,110 +to browse the documentation when you're writing a code that + +10 +00:00:32,110 --> 00:00:35,780 +uses a specific method, or that will give you autocompletion when + +11 +00:00:35,780 --> 00:00:37,990 +you start writing the name of an object and you want to + +12 +00:00:37,990 --> 00:00:40,820 +get the methods for that object. And all of these things + +13 +00:00:40,820 --> 00:00:43,420 +can be very useful while you're developing and can save you a + +14 +00:00:43,420 --> 00:00:47,750 +lot of time. Modern IDE's will also normally give you support for + +15 +00:00:47,750 --> 00:00:49,540 +version control systems that then you + +16 +00:00:49,540 --> 00:00:52,490 +can use for softer configuration management. + +17 +00:00:52,490 --> 00:00:55,720 +And we're going to discuss in detail version control systems in + +18 +00:00:55,720 --> 00:00:58,380 +the next tools of the trade lesson, and we're also + +19 +00:00:58,380 --> 00:01:01,135 +going to see how it can be integrated within an IDE. + +20 +00:01:01,135 --> 00:01:04,730 +IDEs also give you builders so they give you build automation + +21 +00:01:04,730 --> 00:01:08,070 +tools, they give you runtime support. So that you can + +22 +00:01:08,070 --> 00:01:10,960 +run your projects from within the IDE and, for example, + +23 +00:01:10,960 --> 00:01:14,550 +observe some aspects of the execution. In addition to giving + +24 +00:01:14,550 --> 00:01:17,562 +you support for the runtime, they give you support for testing. + +25 +00:01:17,562 --> 00:01:21,267 +Many IDEs allow you to run tests from within + +26 +00:01:21,267 --> 00:01:23,520 +the IDE and to check the results of the tests + +27 +00:01:23,520 --> 00:01:26,300 +from within the IDE. Not only that. Normally, after you + +28 +00:01:26,300 --> 00:01:28,210 +run your tests, if there are some test cases that + +29 +00:01:28,210 --> 00:01:31,500 +fail, you can also use your IDEs to do debugging. + +30 +00:01:31,500 --> 00:01:35,620 +Many IDEs include graphical debuggers. Debuggers will allow you to + +31 +00:01:35,620 --> 00:01:39,400 +navigate through the code, set which points, stop and restart + +32 +00:01:39,400 --> 00:01:43,160 +the execution. Inspect variables, and do all of the activities + +33 +00:01:43,160 --> 00:01:46,320 +that help debugging. And, to help you be more efficient + +34 +00:01:46,320 --> 00:01:49,440 +and more effective when you do debugging. And into addition to + +35 +00:01:49,440 --> 00:01:52,760 +all these features that are listed here IDEs can normally provide + +36 +00:01:52,760 --> 00:01:56,650 +you even more features through a mechanishm that is called plugins. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/4 - Plug-Ins - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/4 - Plug-Ins - lang_en_vs5.srt new file mode 100644 index 0000000..040293e --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/4 - Plug-Ins - lang_en_vs5.srt @@ -0,0 +1,99 @@ +1 +00:00:00,110 --> 00:00:03,134 +In fact most IDEs are extensible through the use of + +2 +00:00:03,134 --> 00:00:06,158 +plug-ins. And by the way, note that plug-ins might be + +3 +00:00:06,158 --> 00:00:09,326 +called differently on different platforms. For example, if you're using + +4 +00:00:09,326 --> 00:00:12,970 +a Microsoft Visual Studio, plug-ins are normally called add-ins, but + +5 +00:00:12,970 --> 00:00:15,598 +the concept is more or less the same. So, what + +6 +00:00:15,598 --> 00:00:18,555 +is a plug-in? Well, let's imagine our IDE to be + +7 +00:00:18,555 --> 00:00:22,320 +this box. A plug-in is additional functionality that you can + +8 +00:00:22,320 --> 00:00:25,430 +actually plug into this box so that this box starts + +9 +00:00:25,430 --> 00:00:28,830 +offering more features to the user. For example, you + +10 +00:00:28,830 --> 00:00:32,850 +can add to Eclipse the Checkstyle plug-in. Which, paraphrasing the + +11 +00:00:32,850 --> 00:00:35,950 +Checkstyle website, helps you ensure that your Java code + +12 +00:00:35,950 --> 00:00:38,890 +complies with a set of coding standards by inspecting the + +13 +00:00:38,890 --> 00:00:41,690 +code and pointing out items that deviate from a + +14 +00:00:41,690 --> 00:00:44,870 +defined set of coding rules. Again, this is a functionality + +15 +00:00:44,870 --> 00:00:47,330 +the core of Eclipse doesn't have. You can add + +16 +00:00:47,330 --> 00:00:50,600 +the Checkstyle plug-in, and this functionality will become available in + +17 +00:00:50,600 --> 00:00:54,840 +the IDE. Another example of plug-in is the EGit plug-in which + +18 +00:00:54,840 --> 00:00:58,660 +adds support for the Git version control system in Eclipse. And + +19 +00:00:58,660 --> 00:01:01,290 +actually this is something that we'll cover in detail, we'll have + +20 +00:01:01,290 --> 00:01:04,150 +a demo, and we will actually use it throughout the class, so + +21 +00:01:04,150 --> 00:01:07,018 +I'm not going to say anything more about the EGit plug-in for + +22 +00:01:07,018 --> 00:01:09,300 +now. But again, what the plug-in will do is to add + +23 +00:01:09,300 --> 00:01:13,220 +the Git functionality to Eclipse. A functionality that is not in + +24 +00:01:13,220 --> 00:01:16,110 +the core of Eclipse and that is available to the user after + +25 +00:01:16,110 --> 00:01:17,181 +you add the plug-in. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/5 - Eclipse Demo: Create Java Project - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/5 - Eclipse Demo: Create Java Project - lang_en_vs5.srt new file mode 100644 index 0000000..8788858 --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/5 - Eclipse Demo: Create Java Project - lang_en_vs5.srt @@ -0,0 +1,323 @@ +1 +00:00:00,070 --> 00:00:02,550 +In the rest of this lesson we're going to look at eclipse and + +2 +00:00:02,550 --> 00:00:05,290 +try to get more familiar with eclipse in a hands on manner + +3 +00:00:05,290 --> 00:00:07,550 +through a demo. In the demo we will cover some of the + +4 +00:00:07,550 --> 00:00:11,040 +basic aspects of eclipse like how to run eclipse, how to select + +5 +00:00:11,040 --> 00:00:14,400 +their workspace, how to create a project, how to create the class + +6 +00:00:14,400 --> 00:00:18,240 +within the project and so on. I'll also cover some more advanced + +7 +00:00:18,240 --> 00:00:21,610 +aspects, like how to create builders, run your project within Eclipse, and + +8 +00:00:21,610 --> 00:00:25,800 +how to use their Eclipse debugger. So let's get to the demo. + +9 +00:00:25,800 --> 00:00:28,220 +So let's start Eclipse. Eclipse is going to ask me + +10 +00:00:28,220 --> 00:00:31,600 +for the location of my workspace and in this + +11 +00:00:31,600 --> 00:00:34,530 +case, I selected a suitable directory and you can + +12 +00:00:34,530 --> 00:00:38,480 +also use that checkbox on the left to avoid Eclipse + +13 +00:00:38,480 --> 00:00:40,640 +for asking you again about where to put the + +14 +00:00:40,640 --> 00:00:43,860 +workspace. And the workspace is basically the place the + +15 +00:00:43,860 --> 00:00:48,310 +directory. Where, Eclipse will place all of your projects. + +16 +00:00:48,310 --> 00:00:50,830 +So, now when you start Eclipse, if it's the first + +17 +00:00:50,830 --> 00:00:53,480 +time you might get this Welcome screen. It's not going to happen + +18 +00:00:53,480 --> 00:00:57,500 +again on subsequent executions, but I just wanted to make sure + +19 +00:00:57,500 --> 00:01:00,210 +that I covered all the bases. And so, whatcha want to + +20 +00:01:00,210 --> 00:01:03,360 +do here is to basically go to the java perspective + +21 +00:01:03,360 --> 00:01:06,760 +which you can do by clicking over there or you can + +22 +00:01:06,760 --> 00:01:09,240 +also use the menus. So in this case we will have + +23 +00:01:09,240 --> 00:01:12,810 +to go to Window, open Perspective, and if the Perspective is + +24 +00:01:12,810 --> 00:01:15,660 +not here, you'll have to click on Other. And at this point, + +25 +00:01:15,660 --> 00:01:18,030 +that you can click on Java Perspective, then you + +26 +00:01:18,030 --> 00:01:21,680 +click okay. And the perspective is basically, the visual work + +27 +00:01:21,680 --> 00:01:24,810 +space where you will be operating. So, after we selected + +28 +00:01:24,810 --> 00:01:29,350 +perspective, we can actually close the welcome screen. And here, + +29 +00:01:29,350 --> 00:01:32,000 +you see that you have this different areas and on + +30 +00:01:32,000 --> 00:01:34,930 +the left You have the package explorer. This is the + +31 +00:01:34,930 --> 00:01:37,650 +area where your packages will be, you've got a task list, + +32 +00:01:37,650 --> 00:01:41,280 +and an outline on the right which we'll cover later. + +33 +00:01:41,280 --> 00:01:44,870 +And then you have underneath, the bottom, a problems, java + +34 +00:01:44,870 --> 00:01:48,330 +doc and declaration views and we will see some of + +35 +00:01:48,330 --> 00:01:51,320 +these views in actions later. And here in the center + +36 +00:01:51,320 --> 00:01:54,290 +you have the area. Which is called a code editor, + +37 +00:01:54,290 --> 00:01:58,360 +which is where you'll be writing, editing, and modifying, basically, + +38 +00:01:58,360 --> 00:02:00,440 +your code. This is where most of the action takes + +39 +00:02:00,440 --> 00:02:03,140 +place. So let's start by creating a Java project. And + +40 +00:02:03,140 --> 00:02:06,950 +to do that we can use either the context menu, or + +41 +00:02:06,950 --> 00:02:09,560 +you can just use the menu, select new Java project. + +42 +00:02:09,560 --> 00:02:12,390 +You'll be greeted by this, wizard, and. And at this + +43 +00:02:12,390 --> 00:02:15,500 +point in the wizard, you can select the name of + +44 +00:02:15,500 --> 00:02:19,100 +your project. I'm just going to call it a very simple way + +45 +00:02:19,100 --> 00:02:21,990 +my project. And I going to use the default location for + +46 +00:02:21,990 --> 00:02:24,070 +the project, as you can see it will be placed + +47 +00:02:24,070 --> 00:02:27,440 +in the work space that I selected before. I'm going to + +48 +00:02:27,440 --> 00:02:32,080 +also use the default. Java Runtime Environment, which is Java 1.7 + +49 +00:02:32,080 --> 00:02:36,250 +in this case. I'm going to keep the selected default layout + +50 +00:02:36,250 --> 00:02:39,120 +and the, then I'm going to go to the next step. Here, + +51 +00:02:39,120 --> 00:02:42,380 +we're first presented with the location of the source code for + +52 +00:02:42,380 --> 00:02:46,840 +our project. The default is a directory SRC in my project + +53 +00:02:46,840 --> 00:02:49,320 +and for the output file, the directory bin. So repeat, we're now + +54 +00:02:49,320 --> 00:02:52,410 +going to change that. Here in case you need other projects to + +55 +00:02:52,410 --> 00:02:55,240 +build your own, then you can specify them here. Here we + +56 +00:02:55,240 --> 00:02:57,570 +are building a simple project, so there's no need for that. + +57 +00:02:57,570 --> 00:03:00,890 +And here we can specify which libraries our project requires. As + +58 +00:03:00,890 --> 00:03:03,880 +you can see, the Java library's already specified. And you can + +59 +00:03:03,880 --> 00:03:07,840 +also add other jars, which can even be External jars. And + +60 +00:03:07,840 --> 00:03:11,840 +finally this is the tab that allows you to specify which + +61 +00:03:11,840 --> 00:03:14,300 +part of you project. So how your project will be exported, + +62 +00:03:14,300 --> 00:03:16,760 +so lets not worry about that for now. Lets click finish. + +63 +00:03:16,760 --> 00:03:19,300 +And as you can see here on the package explorer, my + +64 +00:03:19,300 --> 00:03:22,920 +project appeared. So now we can open the project by clicking + +65 +00:03:22,920 --> 00:03:24,920 +on the triangle right next to it, and as you can + +66 +00:03:24,920 --> 00:03:28,250 +see there is the SRC directory, where my source code will go, + +67 +00:03:28,250 --> 00:03:31,760 +and there's also an indication that we're using the JRE, so that's + +68 +00:03:31,760 --> 00:03:35,800 +the Java system directory within our project. And this is just for people + +69 +00:03:35,800 --> 00:03:38,860 +who are interested in what happens you know, under the hood. So + +70 +00:03:38,860 --> 00:03:41,840 +if you don't care about that, you can just skip this part. So + +71 +00:03:41,840 --> 00:03:45,200 +basically here I'm showing you how we can go to the directory + +72 +00:03:45,200 --> 00:03:49,250 +where the project was created. We can see the bin and src directories. + +73 +00:03:49,250 --> 00:03:52,020 +And there's also some other files here that you can + +74 +00:03:52,020 --> 00:03:54,780 +see these 'dot' files that you will not normally, see. And + +75 +00:03:54,780 --> 00:03:57,870 +those are kind of bookkeeping files. So these are files that + +76 +00:03:57,870 --> 00:04:02,280 +contain information about your project and that are created automatically by + +77 +00:04:02,280 --> 00:04:05,860 +Eclipse. And, for example, will have various indication about the + +78 +00:04:05,860 --> 00:04:09,580 +configuration of the project, some settings and the class path for + +79 +00:04:09,580 --> 00:04:11,880 +the project. And, as I said, you don't have to worry + +80 +00:04:11,880 --> 00:04:14,490 +about this if you just want to go Eclipse as you're never + +81 +00:04:14,490 --> 00:04:16,551 +going to mess with the command line. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/6 - Eclipse Demo: Create a Class - lang_en_vs6.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/6 - Eclipse Demo: Create a Class - lang_en_vs6.srt new file mode 100644 index 0000000..3bd4f11 --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/6 - Eclipse Demo: Create a Class - lang_en_vs6.srt @@ -0,0 +1,135 @@ +1 +00:00:00,130 --> 00:00:02,420 +So now that we know, we saw what happens under + +2 +00:00:02,420 --> 00:00:04,570 +the hood, and as I said, don't worry about it if + +3 +00:00:04,570 --> 00:00:06,689 +you don't care about that part. Now we can go back + +4 +00:00:06,689 --> 00:00:09,850 +to Eclipse, and we can start creating a package. A package + +5 +00:00:09,850 --> 00:00:13,125 +is basically a way of organizing your classes into a + +6 +00:00:13,125 --> 00:00:17,015 +hierarchy. In this case, I'm going to specify the package name as + +7 +00:00:17,015 --> 00:00:21,350 +edu.gatech, which means that I'm creating really two packages, a package + +8 +00:00:21,350 --> 00:00:25,480 +gatech inside package edu. And I can start creating classes inside + +9 +00:00:25,480 --> 00:00:28,770 +my packages. So here, I can use the contextual menu, select + +10 +00:00:28,770 --> 00:00:32,055 +New>Class, and I'll get another wizard that will allow me to + +11 +00:00:32,055 --> 00:00:35,160 +specify the name of the class. I'm not very creative here, + +12 +00:00:35,160 --> 00:00:38,250 +so I'm just going to call it Hello World. There's many other parameters + +13 +00:00:38,250 --> 00:00:41,710 +you can set, and in particular, you can define whether you + +14 +00:00:41,710 --> 00:00:45,450 +want a main method in your class. Where having a main + +15 +00:00:45,450 --> 00:00:48,460 +method means that your class can be the main class in + +16 +00:00:48,460 --> 00:00:50,850 +your project, can be the one that is run when you run + +17 +00:00:50,850 --> 00:00:54,340 +your project. After we click the button, the Finish button, we, + +18 +00:00:54,340 --> 00:00:56,859 +we get the class. So we also get template code for the + +19 +00:00:56,859 --> 00:00:59,604 +class, as you can see here, so we go to the editor + +20 +00:00:59,604 --> 00:01:02,120 +function, you can see that there is a to do. Where you + +21 +00:01:02,120 --> 00:01:05,019 +have to put your code, and here we are simply, basically printing, + +22 +00:01:05,019 --> 00:01:08,370 +you know, the typical first program. We just going to print Hello World + +23 +00:01:08,370 --> 00:01:11,180 +in Java. And something you can note is that as we are + +24 +00:01:11,180 --> 00:01:16,370 +typing, Eclipse gives us a auto complete suggestions, which is very helpful. + +25 +00:01:16,370 --> 00:01:19,650 +For example, in case you don't remember the exact syntax, + +26 +00:01:19,650 --> 00:01:22,190 +or the method, or you don't remember the parameters of the + +27 +00:01:22,190 --> 00:01:24,470 +method. Which is, you know, often the case especially where you + +28 +00:01:24,470 --> 00:01:27,590 +work with large libraries. So having that feature can really, really + +29 +00:01:27,590 --> 00:01:30,050 +help you. So now if we want to run our code + +30 +00:01:30,050 --> 00:01:33,380 +we can either click on the button up here, or we + +31 +00:01:33,380 --> 00:01:37,960 +can right-click in the Call window and select Run As Java + +32 +00:01:37,960 --> 00:01:41,370 +Application. And if we do that, Eclipse will run our tool, + +33 +00:01:41,370 --> 00:01:45,650 +and it will create, as you can see here, a console view that basically contains + +34 +00:01:45,650 --> 00:01:49,790 +the textual output of my program. And as expected, the output is Hello World. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/7 - Eclipse Demo: Run Configuration - lang_en_vs6.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/7 - Eclipse Demo: Run Configuration - lang_en_vs6.srt new file mode 100644 index 0000000..ad54f06 --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/7 - Eclipse Demo: Run Configuration - lang_en_vs6.srt @@ -0,0 +1,115 @@ +1 +00:00:00,140 --> 00:00:02,660 +So now that we have run our program, let's see what + +2 +00:00:02,660 --> 00:00:05,660 +happens exactly when you run a program within Eclipse. And to + +3 +00:00:05,660 --> 00:00:08,410 +do that I'm going to use the menu over here which is + +4 +00:00:08,410 --> 00:00:12,500 +the Run menu and I'm going to select Run Configurations, and this + +5 +00:00:12,500 --> 00:00:15,190 +brings up a window where you can change or run configurations. + +6 +00:00:15,190 --> 00:00:17,200 +Well first of all, you can see that here on the + +7 +00:00:17,200 --> 00:00:22,260 +left under Java application. Eclipse automatically created a Hello World run + +8 +00:00:22,260 --> 00:00:25,300 +configuration for our program. And this is where you can configure + +9 +00:00:25,300 --> 00:00:28,370 +the different parameters for your execution. For example, + +10 +00:00:28,370 --> 00:00:30,520 +you can select the main class. So here + +11 +00:00:30,520 --> 00:00:34,745 +it's, obviously, edu.gatech.HelloWorld. You can define different program + +12 +00:00:34,745 --> 00:00:36,920 +arguments. We don't have any for now. You can + +13 +00:00:36,920 --> 00:00:39,480 +also pass arguments to the virtual machine. You + +14 +00:00:39,480 --> 00:00:41,960 +can define which Java runtime environment you want to + +15 +00:00:41,960 --> 00:00:47,720 +use, Classpath and other environmental options. So let's + +16 +00:00:47,720 --> 00:00:50,650 +now try to pass some arguments to our program. + +17 +00:00:50,650 --> 00:00:54,390 +So for example here, I am just going to write George as + +18 +00:00:54,390 --> 00:00:58,450 +a possible parameter. I say Apply so that modify the configuration and + +19 +00:00:58,450 --> 00:01:01,510 +if i run the program of course, the output is not changing + +20 +00:01:01,510 --> 00:01:04,440 +because my program does not use the argument. But, let's see if + +21 +00:01:04,440 --> 00:01:07,060 +we do use the argument, what happens. So I'm going to slightly + +22 +00:01:07,060 --> 00:01:10,030 +modify the final program so that now, instead of printing hello + +23 +00:01:10,030 --> 00:01:13,420 +world, it will print hello followed by the first argument that I + +24 +00:01:13,420 --> 00:01:15,700 +will pass to the program. And if I do that, and I + +25 +00:01:15,700 --> 00:01:19,420 +go and I run the program, what I get is exactly what I + +26 +00:01:19,420 --> 00:01:23,420 +was expecting, which is Hello George. So this is the way in which you + +27 +00:01:23,420 --> 00:01:26,120 +can pass arguments to your execution, which + +28 +00:01:26,120 --> 00:01:27,640 +is something that might come in handy + +29 +00:01:27,640 --> 00:01:30,390 +for some other projects. When you need to run some code with an argument. diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt new file mode 100644 index 0000000..025c2ba --- /dev/null +++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt @@ -0,0 +1,275 @@ +1 +00:00:00,160 --> 00:00:03,090 +Now let's look at how we can do debugging within + +2 +00:00:03,090 --> 00:00:06,240 +Eclipse. I created a new file called AddNumbers which I'm + +3 +00:00:06,240 --> 00:00:10,770 +showing here. It takes two numbers, parses them into integers, + +4 +00:00:10,770 --> 00:00:14,870 +adds them and prints the sum, supposedly, of the two numbers. + +5 +00:00:14,870 --> 00:00:17,450 +Now we look at the run configuration for this program, + +6 +00:00:17,450 --> 00:00:19,670 +and here you can see that we're passing two arguments, + +7 +00:00:19,670 --> 00:00:22,060 +two and five, to the program. So now let's run + +8 +00:00:22,060 --> 00:00:25,468 +our program and see what happens. And the result says that + +9 +00:00:25,468 --> 00:00:28,150 +2 plus 5 is equal to 10, which is not + +10 +00:00:28,150 --> 00:00:31,030 +exactly correct. So we need to debug our program. We + +11 +00:00:31,030 --> 00:00:33,310 +need to figure out what's wrong with the program, why + +12 +00:00:33,310 --> 00:00:37,140 +the wrong result was, produced. So we're going to add a break + +13 +00:00:37,140 --> 00:00:40,260 +point here by double-clicking here on the side of the + +14 +00:00:40,260 --> 00:00:42,940 +code. And the break point is basically a place where I'm + +15 +00:00:42,940 --> 00:00:46,240 +telling my debugger to stop during the execution because I + +16 +00:00:46,240 --> 00:00:50,750 +want to inspect the state of the program. So to start + +17 +00:00:50,750 --> 00:00:54,690 +debugging, we select Debug as Java Application from the Context + +18 +00:00:54,690 --> 00:00:58,170 +menu, similar to what we were doing for running the program. + +19 +00:00:58,170 --> 00:01:00,190 +And as you can see, this asks us whether we want + +20 +00:01:00,190 --> 00:01:03,720 +to pass to the debug perspective, which is a, a perspective + +21 +00:01:03,720 --> 00:01:07,110 +specifically designed for debugging. We say yes. And as you + +22 +00:01:07,110 --> 00:01:10,750 +see here, it shows us, it's like a different, set of + +23 +00:01:10,750 --> 00:01:13,310 +views, so we can see the code down here with an + +24 +00:01:13,310 --> 00:01:16,100 +indication of where the execution is. And of course the execution + +25 +00:01:16,100 --> 00:01:18,610 +stopped at the break point, which is exactly where + +26 +00:01:18,610 --> 00:01:21,850 +we told the debugger to stop. So let's look at + +27 +00:01:21,850 --> 00:01:24,400 +some of the other views in this perspective. The view + +28 +00:01:24,400 --> 00:01:27,370 +here on the right-hand side, for example, shows the variables + +29 +00:01:27,370 --> 00:01:30,720 +in scope and the break points that are currently active + +30 +00:01:30,720 --> 00:01:33,240 +for the debugging session. This is where the editor is + +31 +00:01:33,240 --> 00:01:36,710 +at. The outline of the program and the console at + +32 +00:01:36,710 --> 00:01:41,520 +the bottom. So now let's execute one line by clicking + +33 +00:01:41,520 --> 00:01:45,400 +on the Step Over button here at the top, and this will + +34 +00:01:45,400 --> 00:01:49,150 +execute the line that is currently highlighted and therefore it will move to + +35 +00:01:49,150 --> 00:01:51,500 +the next line. And as you can see, one nice feature is that + +36 +00:01:51,500 --> 00:01:54,760 +if I move the mouse over a variable, I can see the value + +37 +00:01:54,760 --> 00:01:57,710 +of the variable. And the same thing I can do if I look + +38 +00:01:57,710 --> 00:02:00,690 +at the variables windows here on the right. If I click it, it + +39 +00:02:00,690 --> 00:02:03,960 +will tell me what is the value of the variable, and in case + +40 +00:02:03,960 --> 00:02:07,410 +of more complex variables you can even expand it and get more details. + +41 +00:02:07,410 --> 00:02:10,870 +So now let's step over another line by clicking again this button, + +42 +00:02:10,870 --> 00:02:13,180 +and as you can see now we get to the line that + +43 +00:02:13,180 --> 00:02:16,410 +is actually performing the sum, supposedly, so now let's do the same + +44 +00:02:16,410 --> 00:02:19,100 +thing that we did before, and let's mouse over b, and we can + +45 +00:02:19,100 --> 00:02:22,150 +see that the value of b is five, as expected. So now + +46 +00:02:22,150 --> 00:02:27,080 +let's step over this line as well, and execute the actual sum. And + +47 +00:02:27,080 --> 00:02:29,730 +doing the mouseover thing, we can see that the value of sum + +48 +00:02:29,730 --> 00:02:33,000 +is ten, which is not right, of course. In fact, if we check + +49 +00:02:33,000 --> 00:02:35,590 +a gain we can see that value of A is two. The + +50 +00:02:35,590 --> 00:02:39,130 +value of B is five and therefore it's clear that there's something + +51 +00:02:39,130 --> 00:02:41,780 +wrong going on here, and at this point we can notice that + +52 +00:02:41,780 --> 00:02:44,030 +here we are doing multiplication instead + +53 +00:02:44,030 --> 00:02:46,010 +of addition. And therefore that's what the + +54 +00:02:46,010 --> 00:02:49,260 +error is. And this is clearly a very simple case. Right? A + +55 +00:02:49,260 --> 00:02:51,440 +case in which probably you just needed to look at the code and + +56 +00:02:51,440 --> 00:02:54,150 +you didn't need the debugger. But you probably got the idea right? + +57 +00:02:54,150 --> 00:02:58,055 +So this can be extremely useful when you're debugging, when you're studying more + +58 +00:02:58,055 --> 00:03:01,533 +complex programs. If you want to stop the debugger because you're + +59 +00:03:01,533 --> 00:03:04,557 +done with your debugging session as in this case, you can + +60 +00:03:04,557 --> 00:03:07,518 +either click here on the Terminate button or you can also + +61 +00:03:07,518 --> 00:03:11,109 +just simply tell the debugger to continue the execution, to resume + +62 +00:03:11,109 --> 00:03:15,140 +the execution until the program terminates naturally. So, in this case, + +63 +00:03:15,140 --> 00:03:17,520 +we're going to click here just to show what happens. And what + +64 +00:03:17,520 --> 00:03:20,230 +happens is that, you know, the execution will just continue until + +65 +00:03:20,230 --> 00:03:23,690 +the program exits. So now let's say that we want to fix + +66 +00:03:23,690 --> 00:03:27,740 +this problem that we just discovered. So we replace the multiplication + +67 +00:03:27,740 --> 00:03:30,600 +with an addition, we save the program, and we execute the + +68 +00:03:30,600 --> 00:03:33,860 +program again by clicking on this button. And at this point, + +69 +00:03:33,860 --> 00:03:37,320 +unsurprisingly, we get the right result as shown in the console. -- cgit 1.4.1