Lesson 5: Introduction to Content Matchers
|
|
- Michael Fields
- 5 years ago
- Views:
Transcription
1 20 Lesson 5: Introduction to Content Matchers Content matchers (or simply matchers) provide a mechanism to specify which messages a subscribing client program is interested in receiving. Message interest is based on the message content, specifically the presence or value of one or more fields in a message. Matching determines which messages are delivered to the subscriber. In this lesson you will learn about matchers, modify the ftlsamplepub.c and ftlsamplesub.c client programs to use them, and then experiment with the updated programs. The updated files can be found in $TIBFTL_TUTDIR/code/lesson Matcher Specification Matchers use JSON expressions to specify the fields and values of interest. While the details of JSON are available elsewhere, we will briefly describe the format of a matcher string. A matcher string consists of one or more conditions, separated by commas and enclosed in curly braces ({}). A condition consists of a quoted string containing the field name, followed by a colon, followed by the field value. A field value is one of the following: A string contained in double quotes A long integer value A boolean constant (true or false) indicating the presence or absence of the field Some simple examples of matcher strings are: {"tag":"hello"} {"tag":true} {"tag":"hello","content":true} The first example matches a message if its "tag" field contains the value "hello". If the "tag" field is not present in the message, the condition is implicitly false. The second example matches a message if the "tag" field is present in the message, regardless of its value. If a matcher contains more than one condition, each condition must be true for the message to match. In the third example there are two conditions: the "tag" field must contain the value "hello", and the "content" field must be present. Both conditions must be true for the message to be delivered to the subscriber. 5.2 ftlbasicpub.c We ll take the sample code from lesson 3 and add matcher support with only a few minor changes.
2 21 13 const char *fieldname = NULL; if (argc > 1) 16 { 17 fieldname = argv[1]; 18 } ftlbasicpub.c now accepts an optional command-line argument. This argument is used as the name of a field to include in the published messages. Lines 15 through 18 check if the argument is present, and if it is, stores the string in fieldname for later use. 29 if (fieldname!= NULL) 30 { 31 tibmessage_setstring(ex, msg, fieldname, fieldname); 32 } If fieldname is not NULL, then the optional field name argument was specified on the command line. Line 31 adds that field to the message. For simplicity, the field value is the same as the field name. Note that fieldname was initialized to NULL in line 13 above. So if the command line argument was not specified, fieldname is still NULL, indicating not to add the field to the published message. 5.3 ftlbasicsub.c The changes made to ftlbasicsub.c from lesson 3 in support of matchers are a little more extensive. 26 const char *fieldname = NULL; 27 tibcontentmatcher cm = NULL; 28 char matcher[256]; if (argc > 1) 31 { 32 fieldname = argv[1]; 33 sprintf(matcher, "{\"%s\":true}", fieldname); 34 } Like ftlbasicpub.c, ftlbasicsub.c accepts an optional command line argument. This time the argument is used as the name of a field to match. Lines 30 through 34 check for the presence of the argument, and if it exists, line 33 creates a JSON matcher string using the field name. Assuming abc was specified on the command line, the resulting matcher string will look like this: {"abc":true} This matcher string will match a message only if the "abc" field is present in the message. 39 if (fieldname!= NULL) 40 { 41 cm = tibcontentmatcher_create(ex, realm, matcher); 42 } 43 sub = tibsubscriber_create(ex, realm, NULL, cm, NULL); If a matcher field name was specified on the command line, line 41 uses the matcher string to create a matcher object, which is passed to tibsubscriber_create() in line 43. The resulting subscriber will only receive messages which match the content matcher.
3 22 56 if (cm!= NULL) 57 { 58 tibcontentmatcher_destroy(ex, cm); 59 } Lines 56 through 59 destroy the matcher object, as it is no longer needed. 5.4 Build and Run the Samples In a command window, navigate to $TIBFTL_TUTDIR/code/lesson-05 and build the samples: make Once built, run the subscriber with no arguments:./ftlbasicsub In another command window, navigate to $TIBFTL_TUTDIR/code/lesson-05 and run the publisher with no arguments:./ftlbasicpub The output should appear as: sending hello world messages Listing 5.1: Output from ftlbasicpub Back in the subscriber command window, you should see: {string:type="hello", string:contents="hello world", long:seq=1} {string:type="hello", string:contents="hello world", long:seq=2} {string:type="hello", string:contents="hello world", long:seq=3} {string:type="hello", string:contents="hello world", long:seq=4} {string:type="hello", string:contents="hello world", long:seq=5} Listing 5.2: Output from ftlbasicpub run with no arguments Both programs give the same output as seen in lesson 3. Simply adding the code to use matchers has not changed either program s behavior if no argument is given. Now, let s try running them with an argument. In the subscriber command window, stop the subscriber with ctrl + C. Restart it with a command-line argument:
4 23 In the publisher command window, run the publisher with the same command-line argument: The output from the publisher is the same, but the output from the subscriber now shows that the messages include the "abc" field: Listing 5.3: Output from ftlbasicsub abc This output is similar to the previous run, but notice that each now has a string field called "abc" with the value "abc". Leave the subscriber running. In the publisher command window, run the publisher with no command-line argument:./ftlbasicpub Back in the subscriber command window, you should see no additional output beyond what was already seen in Listing 5.3. The subscriber that was started with the abc command line argument is still running. When started, it created a matcher requiring that the "abc" field be present in a message for that message to be delivered to the subscriber. However, the publisher was started without the command line argument, so it is sending messages without the "abc" field. The incoming messages did not match the subscriber s matcher, preventing the messages from being delivered to the subscriber. The matcher is doing what it is supposed to. Stop the subscriber with ctrl + C. 5.5 Some Variations Next, let s experiment with some variations. In the subscriber command window, restart the subscriber with: Open a new command window, navigate to $TIBFTL_TUTDIR/code/lesson-05, and start a second subscriber:
5 24 We are starting two separate instances of the subscriber, both matching the field "abc". In the publisher command window, start the publisher with: If you look in both subscriber command windows, you should see the same output: Listing 5.4: Output from ftlbasicsub abc Both subscribers match and receive the messages sent by the publisher. Next, stop both subscribers with ctrl + C. In one subscriber command window, start the subscriber with: In the publisher command window, start the publisher with: In another command window, navigate to $TIBFTL_TUTDIR/code/lesson-05. Start a second publisher by typing: This time, the output in the subscriber command window is:
6 25 Listing 5.5: Output from ftlbasicsub abc The subscriber has s from two separate instances of the publisher. Concept 5. In FTL, a publisher can publish to multiple subscribers at the same time, and a subscriber can receive from multiple publishers at the same time, subject to any matching criteria in the subscribers. Depending on how quickly the two publishers are started, the exact ordering of the output may be slightly different than seen in Listing 5.5, but should still show 10 messages: two with "seq" 1, two with "seq" 2, and so forth.
TIBCO FTL R Programming Tutorial Software Release 5.3 October 2017
TIBCO FTL R Programming Tutorial Software Release 5.3 October 2017 1 Contents Introduction i 1 Getting Started with FTL Programming 1 1.1 Set Up the Environment... 1 1.2 Start the Local Realm Server...
More informationTIBCO FTL R Programming Tutorial Software Release 5.3 October 2017
TIBCO FTL R Programming Tutorial Software Release 5.3 October 2017 1 Contents Introduction i 1 Getting Started with FTL Programming 1 1.1 Set Up the Environment... 1 1.2 Start the Local Realm Server...
More information[301] JSON. Tyler Caraza-Harter
[301] JSON Tyler Caraza-Harter Learning Objectives Today JSON differences with Python syntax creating JSON files reading JSON files Read: Sweigart Ch 14 https://automatetheboringstuff.com/chapter14/ JSON
More informationLesson 13: Field References
119 Lesson 13: Field References A field reference is an alternative way to refer to a field within a message. In this lesson you will learn about field references and how to use them, then modify the sample
More informationLesson 11: Introduction to Formats
91 Lesson 11: Introduction to Formats A format defines the set of fields that a message can contain. This includes both the name and the type of each field. Once a format has been defined, it can be used
More informationKey Differences Between Python and Java
Python Python supports many (but not all) aspects of object-oriented programming; but it is possible to write a Python program without making any use of OO concepts. Python is designed to be used interpretively.
More informationTypescript on LLVM Language Reference Manual
Typescript on LLVM Language Reference Manual Ratheet Pandya UNI: rp2707 COMS 4115 H01 (CVN) 1. Introduction 2. Lexical Conventions 2.1 Tokens 2.2 Comments 2.3 Identifiers 2.4 Reserved Keywords 2.5 String
More informationFundamentals of Python: First Programs. Chapter 4: Strings (Indexing, Slicing, and Methods)
Fundamentals of Python: First Programs Chapter 4: Strings (Indexing, Slicing, and Methods) Objectives After completing this lesson, you will be able to: 1) Know the definition of a string and that strings
More informationDecision Making in C
Decision Making in C Decision making structures require that the programmer specify one or more conditions to be evaluated or tested by the program, along with a statement or statements to be executed
More informationBOOLEAN EXPRESSIONS CONTROL FLOW (IF-ELSE) INPUT/OUTPUT. Problem Solving with Computers-I
BOOLEAN EXPRESSIONS CONTROL FLOW (IF-ELSE) INPUT/OUTPUT Problem Solving with Computers-I Announcements HW02: Complete (individually)using dark pencil or pen, turn in during lab section next Wednesday Please
More informationIntroduction to Bioinformatics
Introduction to Bioinformatics Variables, Data Types, Data Structures, Control Structures Janyl Jumadinova February 3, 2016 Data Type Data types are the basic unit of information storage. Instances of
More informationVariables and Functions. ROBOTC Software
Variables and Functions ROBOTC Software Variables A variable is a space in your robots memory where data can be stored, including whole numbers, decimal numbers, and words Variable names follow the same
More informationSlide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto
CS 170 Java Programming 1 The Switch Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Menu-Style Code With ladder-style if-else else-if, you might sometimes find yourself writing menu-style
More information4 Programming Fundamentals. Introduction to Programming 1 1
4 Programming Fundamentals Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Identify the basic parts of a Java program Differentiate among Java literals,
More informationBIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic
BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers Expressions and Operator Precedence
More informationComputer Programming : C++
The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming : C++ Experiment #1 Basics Contents Structure of a program
More informationJavaScript Lecture 1
JavaScript Lecture 1 Waterford Institute of Technology May 17, 2016 John Fitzgerald Waterford Institute of Technology, JavaScriptLecture 1 1/31 Javascript Extent of this course A condensed basic JavaScript
More informationAN OVERVIEW OF C. CSE 130: Introduction to Programming in C Stony Brook University
AN OVERVIEW OF C CSE 130: Introduction to Programming in C Stony Brook University WHY C? C is a programming lingua franca Millions of lines of C code exist Many other languages use C-like syntax C is portable
More informationMy First Command-Line Program
1. Tutorial Overview My First Command-Line Program In this tutorial, you re going to create a very simple command-line application that runs in a window. Unlike a graphical user interface application where
More informationAn overview of Java, Data types and variables
An overview of Java, Data types and variables Lecture 2 from (UNIT IV) Prepared by Mrs. K.M. Sanghavi 1 2 Hello World // HelloWorld.java: Hello World program import java.lang.*; class HelloWorld { public
More informationOverview of the JSON Encoding Rules (JER)
Overview of the JSON Encoding Rules (JER) Alessandro Triglia, OSS Nokalva sandro@oss.com July 2017 OSS Nokalva, Inc. 1 CONTENTS 1 Introduction...3 2 The JSON Encoding Rules...4 2.1 JER encoding instructions...4
More informationRecognize the correct ordering of decisions in multiple branches Program simple and complex decision
Lesson Outcomes At the end of this chapter, student should be able to: Use the relational operator (>, >=,
More informationProgramming in C++ PART 2
Lecture 07-2 Programming in C++ PART 2 By Assistant Professor Dr. Ali Kattan 1 The while Loop and do..while loop In the previous lecture we studied the for Loop in C++. In this lecture we will cover iteration
More informationName: Class: Date: Access Module 2
1. To create a new query in Design view, click CREATE on the ribbon to display the CREATE tab and then click the button to create a new query. a. Query b. Design View c. Query Design d. Select Query ANSWER:
More informationProgramming in C. Pointers and Arrays
Programming in C Pointers and Arrays NEXT SET OF SLIDES FROM DENNIS FREY S FALL 2011 CMSC313 http://www.csee.umbc.edu/courses/undergraduate/313/fall11/" Pointers and Arrays In C, there is a strong relationship
More informationCommon Misunderstandings from Exam 1 Material
Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself
More informationLecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan
Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful
More informationCS1 Lecture 3 Jan. 18, 2019
CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due
More informationVisual C# Instructor s Manual Table of Contents
Visual C# 2005 2-1 Chapter 2 Using Data At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional Projects Additional Resources Key Terms
More informationFile IO and command line input CSE 2451
File IO and command line input CSE 2451 File functions Open/Close files fopen() open a stream for a file fclose() closes a stream One character at a time: fgetc() similar to getchar() fputc() similar to
More informationCS1 Lecture 3 Jan. 22, 2018
CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow
More informationintrojs.notebook March 02, 2014
1 document.write() uses the write method to write on the document. It writes the literal Hello World! which is enclosed in quotes since it is a literal and then enclosed in the () of the write method.
More informationChapter 8 Arrays and Strings. Objectives. Objectives (cont d.) Introduction. Arrays 12/23/2016. In this chapter, you will:
Chapter 8 Arrays and Strings Objectives In this chapter, you will: Learn about arrays Declare and manipulate data into arrays Learn about array index out of bounds Learn about the restrictions on array
More informationDEPARTMENT OF MATHS, MJ COLLEGE
T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,
More informationCHAPTER 7 OBJECTS AND CLASSES
CHAPTER 7 OBJECTS AND CLASSES OBJECTIVES After completing Objects and Classes, you will be able to: Explain the use of classes in Java for representing structured data. Distinguish between objects and
More informationEMBEDDED SYSTEMS PROGRAMMING Language Basics
EMBEDDED SYSTEMS PROGRAMMING 2014-15 Language Basics (PROGRAMMING) LANGUAGES "The tower of Babel" by Pieter Bruegel the Elder Kunsthistorisches Museum, Vienna ABOUT THE LANGUAGES C (1972) Designed to replace
More informationC Syntax Out: 15 September, 1995
Burt Rosenberg Math 220/317: Programming II/Data Structures 1 C Syntax Out: 15 September, 1995 Constants. Integer such as 1, 0, 14, 0x0A. Characters such as A, B, \0. Strings such as "Hello World!\n",
More informationFollowing is the general form of a typical decision making structure found in most of the programming languages:
Decision Making Decision making structures have one or more conditions to be evaluated or tested by the program, along with a statement or statements that are to be executed if the condition is determined
More informationBinghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program
Syntax What the Compiler needs to understand your program 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line Possibly replacing it with other
More informationGNU ccscript Scripting Guide IV
GNU ccscript Scripting Guide IV David Sugar GNU Telephony 2008-08-20 (The text was slightly edited in 2017.) Contents 1 Introduction 1 2 Script file layout 2 3 Statements and syntax 4 4 Loops and conditionals
More informationJava How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.
Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;
More informationOUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.
1 LECTURE 3 OUTLINES Variable names in MATLAB Examples Matrices, Vectors and Scalar Scalar Vectors Entering a vector Colon operator ( : ) Mathematical operations on vectors examples 2 VARIABLE NAMES IN
More informationExpressions and Data Types CSC 121 Spring 2015 Howard Rosenthal
Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types
More informationArmide Documentation. Release Kyle Mayes
Armide Documentation Release 0.3.1 Kyle Mayes December 19, 2014 Contents 1 Introduction 1 1.1 Features.................................................. 1 1.2 License..................................................
More informationCOMPUTER APPLICATION
Total No. of Printed Pages 16 HS/XII/A.Sc.Com/CAP/14 2 0 1 4 COMPUTER APPLICATION ( Science / Arts / Commerce ) ( Theory ) Full Marks : 70 Time : 3 hours The figures in the margin indicate full marks for
More informationRelational Operators and if. Class 10
Relational Operators and if Class 10 Data Type a data type consists of two things: Data Type a data type consists of two things: a set of values Data Type a data type consists of two things: a set of values
More informationLecture 05 I/O statements Printf, Scanf Simple statements, Compound statements
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple
More informationLanguage Reference Manual
ALACS Language Reference Manual Manager: Gabriel Lopez (gal2129) Language Guru: Gabriel Kramer-Garcia (glk2110) System Architect: Candace Johnson (crj2121) Tester: Terence Jacobs (tj2316) Table of Contents
More informationChapter 7 Array. Array. C++, How to Program
Chapter 7 Array C++, How to Program Deitel & Deitel Spring 2016 CISC 1600 Yanjun Li 1 Array Arrays are data structures containing related data items of same type. An array is a consecutive group of memory
More informationLecture 6. Assignments. Java Scanner. User Input 1/29/18. Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4
Assignments Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4 Lecture 6 Complete for Lab 4, Project 1 Note: Slides 12 19 are summary slides for Chapter 2. They overview much of what we covered but are not complete.
More informationProgramming in C. What is C?... What is C?
C Programming in C UVic SEng 265 Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier, in 1969, Ritchie and Thompson developed the Unix operating system We will be focusing on a version
More informationProgramming in C UVic SEng 265
Programming in C UVic SEng 265 Daniel M. German Department of Computer Science University of Victoria 1 SEng 265 dmgerman@uvic.ca C Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier,
More informationCS 4240: Compilers and Interpreters Project Phase 1: Scanner and Parser Due Date: October 4 th 2015 (11:59 pm) (via T-square)
CS 4240: Compilers and Interpreters Project Phase 1: Scanner and Parser Due Date: October 4 th 2015 (11:59 pm) (via T-square) Introduction This semester, through a project split into 3 phases, we are going
More informationJava Notes. 10th ICSE. Saravanan Ganesh
Java Notes 10th ICSE Saravanan Ganesh 13 Java Character Set Character set is a set of valid characters that a language can recognise A character represents any letter, digit or any other sign Java uses
More informationFirst Name: Last: ID# 1. Hexadecimal uses the symbols 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F,G.
IST 311 - Exam1 - Fall 2015 First Name: Last: ID# PART 1. Multiple-choice / True-False (30 poinst) 1. Hexadecimal uses the symbols 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F,G. 2. The accessibility modifier
More informationcalling a function - function-name(argument list); y = square ( z ); include parentheses even if parameter list is empty!
Chapter 6 - Functions return type void or a valid data type ( int, double, char, etc) name parameter list void or a list of parameters separated by commas body return keyword required if function returns
More informationProgramming in C. What is C?... What is C?
Programming in C UVic SEng 265 C Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier, in 1969, Ritchie and Thompson developed the Unix operating system We will be focusing on a version
More informationShelly Cashman Series Microsoft Office 365 and Access 2016 Introductory 1st Edition Pratt TEST BANK
Shelly Cashman Series Microsoft Office 365 and Access 2016 Introductory 1st Edition Pratt TEST BANK Full clear download (no formatting errors) at: https://testbankreal.com/download/shelly-cashman-series-microsoft-office-365-access-
More informationBEFORE WE GET STARTED. BASIC TERMS TO KNOW JavaScript Python Basic Syntax Object String Functions Arguments Property While- Loops Varibles
COMBAT CODING 101 BEFORE WE GET STARTED BASIC TERMS TO KNOW JavaScript Python Basic Syntax Object String Functions Arguments Property While- Loops Varibles LANGUAGE Most commonly used coding languages
More informationUNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017)
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall 2017 Programming Assignment 1 (updated 9/16/2017) Introduction The purpose of this programming assignment is to give you
More informationArray. Prepared By - Rifat Shahriyar
Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types
More informationC++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay
C++ Basics Data Processing Course, I. Hrivnacova, IPN Orsay The First Program Comments Function main() Input and Output Namespaces Variables Fundamental Types Operators Control constructs 1 C++ Programming
More informationCpSc 1010, Fall 2014 Lab 10: Command-Line Parameters (Week of 10/27/2014)
CpSc 1010, Fall 2014 Lab 10: Command-Line Parameters (Week of 10/27/2014) Goals Demonstrate proficiency in the use of the switch construct and in processing parameter data passed to a program via the command
More informationCOP Programming Concepts Spring 1999 CLOSED BOOK Exam #1 100 Points NAME
CLOSED BOOK Exam #1 100 Points NAME 1. The following program has (at least) 10 syntax errors. Circle each error. Write the corrected program in the blank space below. 2 points for each error you find.
More informationMidterm Exam Nov 8th, COMS W3157 Advanced Programming Columbia University Fall Instructor: Jae Woo Lee.
Midterm Exam Nov 8th, 2012 COMS W3157 Advanced Programming Columbia University Fall 2012 Instructor: Jae Woo Lee About this exam: - There are 4 problems totaling 100 points: problem 1: 30 points problem
More informationChapter 4 - Notes Control Structures I (Selection)
Chapter 4 - Notes Control Structures I (Selection) I. Control Structures A. Three Ways to Process a Program 1. In Sequence: Starts at the beginning and follows the statements in order 2. Selectively (by
More informationChapter 1 Introduction to C/AL Programming
Chapter 1 Introduction to C/AL Programming This is the introduction to Navision s Client Application Language. This chapter will cover the following: 1.1 The C/AL Programming Unit 1.2 What is C/AL? 1.3
More informationJavaScript I Language Basics
JavaScript I Language Basics Chesapeake Node.js User Group (CNUG) https://www.meetup.com/chesapeake-region-nodejs-developers-group START BUILDING: CALLFORCODE.ORG Agenda Introduction to JavaScript Language
More informationTwo s Complement Review. Two s Complement Review. Agenda. Agenda 6/21/2011
Two s Complement Review CS 61C: Great Ideas in Computer Architecture (Machine Structures) Introduction to C (Part I) Instructor: Michael Greenbaum http://inst.eecs.berkeley.edu/~cs61c/su11 Suppose we had
More informationC++ Basics. Lecture 2 COP 3014 Spring January 8, 2018
C++ Basics Lecture 2 COP 3014 Spring 2018 January 8, 2018 Structure of a C++ Program Sequence of statements, typically grouped into functions. function: a subprogram. a section of a program performing
More informationIntroduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas
Introduction to Python Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas If you have your own PC, download and install a syntax-highlighting text editor and Python
More informationSo, if you receive data from a server, in JSON format, you can use it like any other JavaScript object.
What is JSON? JSON stands for JavaScript Object Notation JSON is a lightweight data-interchange format JSON is "self-describing" and easy to understand JSON is language independent * JSON uses JavaScript
More informationDECISION STRUCTURES: USING IF STATEMENTS IN JAVA
DECISION STRUCTURES: USING IF STATEMENTS IN JAVA S o far all the programs we have created run straight through from start to finish, without making any decisions along the way. Many times, however, you
More informationC Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 1 (Minor modifications by the instructor) References C for Python Programmers, by Carl Burch, 2011. http://www.toves.org/books/cpy/ The C Programming Language. 2nd ed., Kernighan, Brian,
More informationEMBEDDED SYSTEMS PROGRAMMING Language Basics
EMBEDDED SYSTEMS PROGRAMMING 2015-16 Language Basics "The tower of Babel" by Pieter Bruegel the Elder Kunsthistorisches Museum, Vienna (PROGRAMMING) LANGUAGES ABOUT THE LANGUAGES C (1972) Designed to replace
More informationLab: Supplying Inputs to Programs
Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can
More informationDATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Database Program: Microsoft Access Series DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) AGENDA 3. Executing VBA
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Adapted from the slides Revisões sobre Programação em C, Sérgio Crisóstomo Compilation #include int main()
More informationLecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8
Today... Java basics S. Bowers 1 of 8 Java main method (cont.) In Java, main looks like this: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); Q: How
More informationCS 0449 Sample Midterm
Name: CS 0449 Sample Midterm Multiple Choice 1.) Given char *a = Hello ; char *b = World;, which of the following would result in an error? A) strlen(a) B) strcpy(a, b) C) strcmp(a, b) D) strstr(a, b)
More informationFall 2015 COMP Operating Systems. Lab #3
Fall 2015 COMP 3511 Operating Systems Lab #3 Outline n Operating System Debugging, Generation and System Boot n Review Questions n Process Control n UNIX fork() and Examples on fork() n exec family: execute
More informationIntroduction to JSON. Roger Lacroix MQ Technical Conference v
Introduction to JSON Roger Lacroix roger.lacroix@capitalware.com http://www.capitalware.com What is JSON? JSON: JavaScript Object Notation. JSON is a simple, text-based way to store and transmit structured
More informationLanguage Reference Manual
TAPE: A File Handling Language Language Reference Manual Tianhua Fang (tf2377) Alexander Sato (as4628) Priscilla Wang (pyw2102) Edwin Chan (cc3919) Programming Languages and Translators COMSW 4115 Fall
More informationType Conversion. and. Statements
and Statements Type conversion changing a value from one type to another Void Integral Floating Point Derived Boolean Character Integer Real Imaginary Complex no fractional part fractional part 2 tj Suppose
More informationCS2141 Software Development using C/C++ C++ Basics
CS2141 Software Development using C/C++ C++ Basics Integers Basic Types Can be short, long, or just plain int C++ does not define the size of them other than short
More informationCS-211 Fall 2017 Test 1 Version Practice For Test on Oct. 2, Name:
CS-211 Fall 2017 Test 1 Version Practice For Test on Oct. 2, 2017 True/False Questions... Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a)
More informationIntroduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas
Introduction to Python Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas If you have your own PC, download and install a syntax-highlighting text editor and Python
More informationIn Java, data type boolean is used to represent Boolean data. Each boolean constant or variable can contain one of two values: true or false.
CS101, Mock Boolean Conditions, If-Then Boolean Expressions and Conditions The physical order of a program is the order in which the statements are listed. The logical order of a program is the order in
More informationC++ Reference NYU Digital Electronics Lab Fall 2016
C++ Reference NYU Digital Electronics Lab Fall 2016 Updated on August 24, 2016 This document outlines important information about the C++ programming language as it relates to NYU s Digital Electronics
More informationLecture 6. Assignments. Summary - Variables. Summary Program Parts 1/29/18. Reading: 3.1, 3.2, 3.3, 3.4
Assignments Lecture 6 Complete for Project 1 Reading: 3.1, 3.2, 3.3, 3.4 Summary Program Parts Summary - Variables Class Header (class name matches the file name prefix) Class Body Because this is a program,
More informationChapter 3: Arrays and More C Functionality
Chapter 3: Arrays and More C Functionality Objectives: (a) Describe how an array is stored in memory. (b) Define a string, and describe how strings are stored. (c) Describe the implications of reading
More informationSU 2017 May 11/16 LAB 2: Character and integer literals, number systems, character arrays manipulation, relational operator
SU 2017 May 11/16 LAB 2: Character and integer literals, number systems, character arrays manipulation, relational operator 0 Problem 0 number bases Visit the website www.cleavebooks.co.uk/scol/calnumba.htm
More informationJava Puzzle Ball Nick Ristuccia
Java Puzzle Ball Nick Ristuccia Lesson 4-2 Lambda Expressions Exercise 4 Play Lambda Puzzles 1 through 7. Destroy Blue Bumpers Preserve Red Bumpers Consider the following: Can you identify use-cases for
More informationParallel hardware. Distributed Memory. Parallel software. COMP528 MPI Programming, I. Flynn s taxonomy:
COMP528 MPI Programming, I www.csc.liv.ac.uk/~alexei/comp528 Alexei Lisitsa Dept of computer science University of Liverpool a.lisitsa@.liverpool.ac.uk Flynn s taxonomy: Parallel hardware SISD (Single
More informationCSC Web Technologies, Spring Web Data Exchange Formats
CSC 342 - Web Technologies, Spring 2017 Web Data Exchange Formats Web Data Exchange Data exchange is the process of transforming structured data from one format to another to facilitate data sharing between
More information6.096 Introduction to C++
MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.096 Lecture 3 Notes
More informationExpressions and Data Types CSC 121 Fall 2015 Howard Rosenthal
Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types and
More informationSummer May 18, 2010
Summer 2010 to Department of Computer Science Engineering York University Toronto May 18, 2010 1 / 46 What have we done last time? to Basic information about testing: Black- Glass-box tests Rom tests Regression
More informationLanguage Proposal: tail
Language Proposal: tail A tail recursion optimization language Some Wise Gal Team Roles Team Members UNIs Roles Sandra Shaefer Jennifer Lam Serena Shah Simpson Fiona Rowan sns2153 jl3953 ss4354 fmr2112
More information