Interfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland.
|
|
- Bryan Bates
- 6 years ago
- Views:
Transcription
1 Dynamic LINQ Radu Nicolescu Department of Computer Science University of Auckland 25 August / 20
2 1 IEnumerable and IQueryable 2 Dynamic LINQ 3 Dynamic filter Where 4 Dynamic sorting OrderBy 5 Dynamic sorting OrderBy on SQL 2 / 20
3 Interfaces Interface IEnumerable<T>: in-memory sequences usual implementation class Enumerable lambda expressions compiled to in-memory functions Subinterface IQueryable<T>: specialised versions other targets possible lambda expressions compiled to expression trees additional properties Expression : expression tree Provider : specialised expression tree translator, e.g. to SQL Conversions via extension methods: AsQueryable() : IEnumerable<T> IQueryable<T> AsEnumerable() : IQueryable<T> IEnumerable<T> 4 / 20
4 Dynamic LINQ Dynamic LINQ consists of several extension methods for the IQueryable interface, which allow a flexible and crisp style, where the lambdas or even the LINQ methods are determined at runtime only In a nutshell, instead of lambdas, you can write string expressions, which are dynamically parsed and translated into corresponding expression trees Implementation in file Dynamic.cs, class DynamicQueryable you can include the source into your project (VS, cmdline), or compile the source as library (DLL), which you further include in a project (VS, cmdline) or snippet (LINQPad) 6 / 20
5 Dynamic LINQ Dynamic LINQ is NOT part of the standard LINQ, but is based on third party samples and projects (in fact, we use a very early version) Dynamic LINQ dynamically composes queries using strings... Strings which come from outside should be carefully screened, otherwise there may be an injection risk If interested, you can read more about this and alternate libraries see next slide 7 / 20
6 Dynamic LINQ discussions and alternate approaches Is Injection Possible through Dynamic LINQ? is-injection-possible-through-dynamic-linq Security Issue: introduces an additional attack surface to code injection #62 https: //github.com/kahanu/system.linq.dynamic/issues/62 Building LINQ Queries at Runtime in C# Calling functions in LINQ queries What is LINQKit? 8 / 20
7 Dynamic LINQ Dynamic.cs bird s eye view Extension methods Where and OrderBy 1 namespace System. Linq. Dynamic { 2 p u b l i c s t a t i c c l a s s DynamicQueryable { 3 p u b l i c s t a t i c I Q u e r y a b l e <T> Where<T> ( 4 t h i s I Q u e r y a b l e <T> source, 5 s t r i n g p r e d i c a t e, params object [ ] v a l u e s ) 6 7 p u b l i c s t a t i c I Q u e r y a b l e <T> OrderBy<T> ( 8 t h i s I Q u e r y a b l e <T> source, 9 s t r i n g o r d e r i n g, params object [ ] v a l u e s ) / 20
8 Dynamic filter Where Enumerable Where vs equivalent Dynamic Queryable Where 1 s t r i n g [ ] v = { the, q u i c k, brown, f o x } ; 2 3 var w = v. Where ( x => x. Length == 3 ) ; 4 5 var w2 = v. AsQueryable ( ). Where ( Length == 3 ) ; 6 7 var w3 = v. AsQueryable ( ). Where ( Length 3 ) ; AsQueryable() casting required, to match the signature in DynamicQueryable w3 uses a parametrised query, which is safer if input parameters come from outside 11 / 20
9 Dynamic filter Where Enumerable Where vs equivalent Dynamic Queryable Where 1 var m y l i s t = new L i s t <MyCustomer> { 2 new MyCustomer { 3 CustomerID= r n i c, Name= Radu, Age=52}, } ; 6 7 var l 1 = m y l i s t. Where ( c => c. Age > 4 0 ) ; 8 9 var l 2 = m y l i s t. AsQueryable ( ). Where ( Age > 40 ) ; var l 3 = m y l i s t. AsQueryable ( ). Where ( Age 4 0 ) ; AsQueryable() casting required, to match the signature in DynamicQueryable l3 uses a parametrised query, which is safer / 20
10 Dynamic sorting OrderBy ASC Enumerable OrderBy vs equivalent Dynamic Queryable OrderBy 1 MyOrder [ ] MyOrders = new [ ] { 2 new MyOrder { 3 OrderID= 1010, CustomerID= r n i c,..., }, } 6 7 var a1 = MyOrders. OrderBy ( o => o. P r i c e ) 8. ThenBy ( o => o. OrderID ) ; 9 10 var a2 = MyOrders. AsQueryable ( ) 11. OrderBy ( P r i c e, OrderID ) ; Sorting on multiple criteria 14 / 20
11 Dynamic sorting OrderBy DESC Enumerable OrderBy vs equivalent Dynamic Queryable OrderBy 1 MyOrder [ ] MyOrders = new [ ] { 2 new MyOrder { 3 OrderID= 1010, CustomerID= r n i c,..., }, } 6 7 var d1 = MyOrders. OrderByDescending ( o => o. P r i c e ) 8. ThenByDescending ( o => o. OrderID ) ; 9 10 var d2 = MyOrders. AsQueryable ( ) 11. OrderBy ( P r i c e DESC, OrderID DESC ) Sorting on multiple criteria 15 / 20
12 Dynamic sorting OrderBy ASC on SQL SQL: Queryable OrderBy vs equivalent Dynamic Queryable OrderBy 1 // MyOrders refers to the population of table MyOrders 2 3 var a1 = MyOrders. OrderBy ( o => o. P r i c e ) 4. ThenBy ( o => o. OrderID ) ; 5 6 var a2 = MyOrders //. AsQueryable ( ) 7. OrderBy ( P r i c e, OrderID ) ; Sorting on multiple criteria In this case, MyOrders is already IQueryable, so no cast needed 17 / 20
13 Dynamic sorting OrderBy ASC generated SQL OrderBy( Price, OrderID ) generated SQL 1 SELECT 2 FROM [ MyOrders ] AS [ t0 ] 3 ORDER BY [ t0 ]. [ P r i c e ], [ t0 ]. [ OrderID ] Same generated SQL in both cases 18 / 20
14 Dynamic sorting OrderBy DESC on SQL SQL: Queryable OrderBy vs equivalent Dynamic Queryable OrderBy 1 // MyOrders refers to the population of table MyOrders 2 3 var d1 = MyOrders. OrderByDescending ( o => o. P r i c e ) 4. ThenByDescending ( o => o. OrderID ) ; 5 6 var d2 = MyOrders //. AsQueryable ( ) 7. OrderBy ( P r i c e DESC, OrderID DESC ) Sorting on multiple criteria In this case, MyOrders is already IQueryable, so no cast needed 19 / 20
15 Dynamic sorting OrderBy DESC generated SQL OrderBy( Price DESC, OrderID DESC ) generated SQL 1 SELECT 2 FROM [ MyOrders ] AS [ t0 ] 3 ORDER BY [ t0 ]. [ P r i c e ] DESC, [ t0 ]. [ OrderID ] DESC Same generated SQL in both cases 20 / 20
Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland.
LINQ-to-SQL Part 2 Radu Nicolescu Department of Computer Science University of Auckland 7 October 2015 1 / 22 1 Dynamic LINQ 2 Inner joins 3 Associations 4 Joins by navigation 5 Load options 6 Deferred
More informationFunctional Programming with F# Overview and Basic Concepts
Functional Programming with F# Overview and Basic Concepts Radu Nicolescu Department of Computer Science University of Auckland 27 Sep 2017 1 / 52 1 Background 2 Overview 3 Type System and Type Inference
More informationIntroduction to ASM - ByteCode Manipulating Tool
Introduction to ASM - ByteCode Manipulating Tool nadeesh.tv@oracle.com ORACLE India Pvt Ltd 19 March 2016 Outline 1 Why do we need a byte code manipulating tool? 2 Compiled Class File Structure 3 ASM Why
More informationAutomatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann
Automatic Resource Bound Analysis and Linear Optimization Jan Hoffmann Beyond worst-case analysis Beyond worst-case analysis of algorithms Beyond worst-case analysis of algorithms Resource bound analysis
More informationResearch Collection. JSONiq on Spark. Master Thesis. ETH Library. Author(s): Irimescu, Stefan. Publication Date: 2018
Research Collection Master Thesis JSONiq on Spark Author(s): Irimescu, Stefan Publication Date: 2018 Permanent Link: https://doi.org/10.3929/ethz-b-000272416 Rights / License: In Copyright - Non-Commercial
More informationPython. Tutorial. Jan Pöschko. March 22, Graz University of Technology
Tutorial Graz University of Technology March 22, 2010 Why? is: very readable easy to learn interpreted & interactive like a UNIX shell, only better object-oriented but not religious about it slower than
More informationWho are we? Cesena Security and Network Applications. Why join CeSeNA?
Unexpected inputs: the danger of data and code injection Who are we? Cesena Security and Network Applications We like computer security and we want to share our knowledge. Founded by Marco Ramilli in 2005.
More informationMeta-programming & you
Meta-programming & you Robin Message Cambridge Programming Research Group 10 th May 2010 What s meta-programming about? 1 result=somedb. customers. select 2 { first_name+ +last_name } 3 where name LIKE
More informationC++ For Science and Engineering Lecture 8
C++ For Science and Engineering Lecture 8 John Chrispell Tulane University Friday 10, 2010 Arrays Structures are ways of storing more than one type of information together. A structure is a vesatile data
More informationMURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info.
Course Announcements Lecture capture has begun, available from Lectures page. First two and a half weeks are packed. Testing lab done, HTML started, and Stars due next Friday. Department has a lot of student
More informationApplied C Fri
Applied C++11 2013-01-25 Fri Outline Introduction Auto-Type Inference Lambda Functions Threading Compiling C++11 C++11 (formerly known as C++0x) is the most recent version of the standard of the C++ Approved
More informationComputer Science Introductory Course MSc - Introduction to Java
Computer Science Introductory Course MSc - Introduction to Java Lecture 3:,, Pablo Oliveira ENST Outline 1 2 3 Definition An exception is an event that indicates an abnormal condition
More informationA Java introduction SDK, FC 15/12/2009 UMR AMAP. SDK, FC (UMR AMAP) A Java introduction 15/12/ / 50
A Java introduction SDK, FC UMR AMAP 15/12/2009 SDK, FC (UMR AMAP) A Java introduction 15/12/2009 1 / 50 Plan 1 Introduction 2 Bases Java Application Variables & Expressions Simple Arrays Exceptions Collections
More informationQuery Analyzer for Apache Pig
Imperial College London Department of Computing Individual Project: Final Report Query Analyzer for Apache Pig Author: Robert Yau Zhou 00734205 (robert.zhou12@imperial.ac.uk) Supervisor: Dr Peter McBrien
More informationPerformance of an XML DBMS as a Model Repository in Model-Driven Software Development
Performance of an XML DBMS as a Model Repository in Model-Driven Software Development Submitted by Angelina Velinska an.velinska@gmail.com Information and Media Technologies Matriculation Number 20729536
More informationEntropy-based data organization tricks for browsing logs and packet captures
Entropy-based data organization tricks for browsing logs and packet captures Department of Computer Science Dartmouth College Outline 1 Log browsing moves Pipes and tables Trees are better than pipes and
More informationInsightful Reporting with the Presented by Todd Brown, Chris Nelson. Copyri g h t 2012 OSIso f t, LLC.
Insightful Reporting with the PI System Presented by Todd Brown, Chris Nelson Copyri g h t 2012 OSIso f t, LLC. Copyri g h t 2012 OSIso f t, LLC. 2 Reporting In the Beginning Copyri g h t 2012 OSIso f
More informationLecture 1. Crypto Background
Lecture 1 Crypto Background This lecture Crypto background hash functions random oracle model digital signatures and applications Cryptographic Hash Functions Hash function takes a string of arbitrary
More informationA powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics
Chemical Databases Online A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics Combined Chemical Dictionary Dictionary of Natural Products Dictionary of Organic Dictionary of Drugs
More informationProvable Chosen-Target-Forced-Midx Preimage Resistance
Provable Chosen-Target-Forced-Midx Preimage Resistance Elena Andreeva and Bart Mennink (K.U.Leuven) Selected Areas in Cryptography Toronto, Canada August 11, 2011 1 / 15 Introduction Hash Functions 2 /
More informationData Canopy. Accelerating Exploratory Statistical Analysis. Abdul Wasay Xinding Wei Niv Dayan Stratos Idreos
Accelerating Exploratory Statistical Analysis Abdul Wasay inding Wei Niv Dayan Stratos Idreos Statistics are everywhere! Algorithms Systems Analytic Pipelines 80 Temperature 60 40 20 0 May 2017 80 Temperature
More informationEffective Entropy for Memory Randomization Defenses
Effective Entropy for Memory Randomization Defenses William Herlands, Thomas Hobson, Paula Donovan 7 th Workshop on Cyber Security Experimentation and Test 18 August 2014 This work is sponsored by Assistant
More informationTHE SPATIAL DATA SERVER BASED ON OPEN GIS STANDARDS IN HETEROGENEOUS DISTRIBUTED ENVIRONMENT
Geoinformatics 2004 Proc. 12th Int. Conf. on Geoinformatics Geospatial Information Research: Bridging the Pacific and Atlantic University of Gävle, Sweden, 7-9 June 2004 THE SPATIAL DATA SERVER BASED ON
More informationScripting Languages Fast development, extensible programs
Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60 Table of Contents 1 Introduction 2 Dynamic languages A Python
More informationFarewell, PipelinePilot Migrating the Exquiron cheminformatics platform to KNIME and the ChemAxon technology
Farewell, PipelinePilot Migrating the Exquiron cheminformatics platform to KNIME and the ChemAxon technology Serge P. Parel, PhD ChemAxon User Group Meeting, Budapest 21 st May, 2014 Outline Exquiron Who
More informationSIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING
SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING Hussain Al-Asaad and Raymond Lee Computer Engineering Research Laboratory Department of Electrical & Computer Engineering University of California One
More informationFrom BASIS DD to Barista Application in Five Easy Steps
Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates
More informationModeling in MiningZinc
Modeling in MiningZinc Anton Dries 1, Tias Guns 1, Siegfried Nijssen 1,2, Behrouz Babaki 1, Thanh Le Van 1, Benjamin Negrevergne 1, Sergey Paramonov 1, and Luc De Raedt 1 1 Department of Computer Science,
More informationProgram Slicing. Author: Mark Weiser Published in TSE, Presented by Peeratham (Karn) Techapalokul 10/13/2015
Program Slicing Author: Mark Weiser Published in TSE, 1984 Presented by Peeratham (Karn) Techapalokul 1/13/215 About Mark Weiser a chief scientist at Xerox PARC Widely considered to be the father of ubiquitous
More informationDRUG DISCOVERY TODAY ELN ELN. Chemistry. Biology. Known ligands. DBs. Generate chemistry ideas. Check chemical feasibility In-house.
DRUG DISCOVERY TODAY Known ligands Chemistry ELN DBs Knowledge survey Therapeutic target Generate chemistry ideas Check chemical feasibility In-house Analyze SAR Synthesize or buy Report Test Journals
More informationYes, the Library will be accessible via the new PULSE and the existing desktop version of PULSE.
F R E Q U E N T L Y A S K E D Q U E S T I O N S THE LIBRARY GENERAL W H A T I S T H E L I B R A R Y? The Library is the new, shorter, simpler name for the Business Development (Biz Dev) Library. It s your
More informationAlgebraic Dynamic Programming
Algebraic Dynamic Programming Unit 2.b: Introduction to Bellman s GAP Robert Giegerich 1 (Lecture) Benedikt Löwes (Exercises) Faculty of Technology Bielefeld University http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp
More informationPatent Searching using Bayesian Statistics
Patent Searching using Bayesian Statistics Willem van Hoorn, Exscientia Ltd Biovia European Forum, London, June 2017 Contents Who are we? Searching molecules in patents What can Pipeline Pilot do for you?
More informationICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009
ICM-Chemist How-To Guide Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist HOW TO IMPORT, SKETCH AND EDIT CHEMICALS How to access the ICM Molecular Editor. 1. Click here 2. Start sketching How to sketch
More informationModel-based Testing - From Safety to Security
Model-based Testing - From Safety to Security Josip Bozic, Franz Wotawa Graz University of Technology {jbozic, wotawa}@ist.tugraz.at October 24, 2012 Josip Bozic, Franz Wotawa October 24, 2012 Page 1/28
More informationCS145 Midterm Examination
S145 Midterm Examination Please read all instructions (including these) carefully. The exam is open book and open notes; any written materials may be used. There are four parts on the exam, with a varying
More informationimport java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ;
CPSC 490 Input Input will always arrive on stdin. You may assume input is well-formed with respect to the problem specification; inappropriate input (e.g. text where a number was specified, number out
More informationTheorem Proving beyond Deduction
Theorem Proving beyond Deduction Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität
More informationCHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S. Ant nine J aux
CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S Ant nine J aux (g) CRC Press Taylor 8* Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor &
More informationFundamentals of Computational Science
Fundamentals of Computational Science Dr. Hyrum D. Carroll August 23, 2016 Introductions Each student: Name Undergraduate school & major Masters & major Previous research (if any) Why Computational Science
More informationAURORA: A Cryptographic Hash Algorithm Family
AURORA: A Cryptographic Hash Algorithm Family Submitters: Sony Corporation 1 and Nagoya University 2 Algorithm Designers: Tetsu Iwata 2, Kyoji Shibutani 1, Taizo Shirai 1, Shiho Moriai 1, Toru Akishita
More informationTowards an Effective Calculus for Object Query Languages. The Gap between Theory & Practice
Towards an Effective Calculus for Object Query Languages Leonidas Fegaras David Maier Oregon Graduate Institute - 1 - The Gap between Theory & Practice Most commercial relational query languages go beyond
More informationCompact Indexes for Flexible Top-k Retrieval
Compact Indexes for Flexible Top-k Retrieval Simon Gog Matthias Petri Institute of Theoretical Informatics, Karlsruhe Institute of Technology Computing and Information Systems, The University of Melbourne
More informationGeographic Information Systems (GIS) - Hardware and software in GIS
PDHonline Course L153G (5 PDH) Geographic Information Systems (GIS) - Hardware and software in GIS Instructor: Steve Ramroop, Ph.D. 2012 PDH Online PDH Center 5272 Meadow Estates Drive Fairfax, VA 22030-6658
More informationNOTE BY THE TECHNICAL SECRETARIAT ESTABLISHMENT OF A DATABASE OF EXPERTISE ON PEACEFUL USES OF CHEMISTRY
OPCW Technical Secretariat 30 August 2016 ENGLISH only NOTE BY THE TECHNICAL SECRETARIAT ESTABLISHMENT OF A DATABASE OF EXPERTISE ON PEACEFUL USES OF CHEMISTRY 1. At its Sixteenth Session, the Conference
More informationYou are here! Query Processor. Recovery. Discussed here: DBMS. Task 3 is often called algebraic (or re-write) query optimization, while
Module 10: Query Optimization Module Outline 10.1 Outline of Query Optimization 10.2 Motivating Example 10.3 Equivalences in the relational algebra 10.4 Heuristic optimization 10.5 Explosion of search
More informationTryton Technical Training
Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, 2015 1 / 56 Overview and Installation Outline 1 Overview and Installation Tryton
More informationLandEx A GeoWeb-based Tool for Exploration of Patterns in Raster Maps
LandEx A GeoWeb-based Tool for Exploration of Patterns in Raster Maps T. F. Stepinski 1, P. Netzel 1,2, J. Jasiewicz 3, J. Niesterowicz 1 1 Department of Geography, University of Cincinnati, Cincinnati,
More informationarxiv: v3 [cs.cr] 15 Jun 2017
Use of Signed Permutations in Cryptography arxiv:1612.05605v3 [cs.cr] 15 Jun 2017 Iharantsoa Vero RAHARINIRINA ihvero@yahoo.fr Department of Mathematics and computer science, Faculty of Sciences, BP 906
More informationComp 11 Lectures. Mike Shah. July 26, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 26, / 40
Comp 11 Lectures Mike Shah Tufts University July 26, 2017 Mike Shah (Tufts University) Comp 11 Lectures July 26, 2017 1 / 40 Please do not distribute or host these slides without prior permission. Mike
More informationSPARQL Extensions and Outlook
SPARQL Extensions and Outlook Axel Polleres 1 1 DERI Galway, National University of Ireland, Galway axel.polleres@deri.org European Semantic Web Conference 2007 A. Polleres SPARQL Extensions and Outlook
More informationCE 474 Class 17. October 1, 2015
CE 474 Class 7 October, 05 Excel Skills Parse text data file into columns Manipulate rows and columns of data Sort data by criterion (criteria) Use logical (if) statements Create frequency data from raw
More informationSeifert s RSA Fault Attack: Simplified Analysis and Generalizations
Seifert s RSA Fault Attack: Simplified Analysis and Generalizations James A. Muir School of Computer Science Carleton University jamuir@scs.carleton.ca 15 December 2005 21:11:36 EST Abstract Seifert recently
More informationMusic as a Formal Language
Music as a Formal Language Finite-State Automata and Pd Bryan Jurish moocow@ling.uni-potsdam.de Universität Potsdam, Institut für Linguistik, Potsdam, Germany pd convention 2004 / Jurish / Music as a formal
More informationSAT Modulo Monotonic Theories
SAT Modulo Monotonic Theories Sam Bayless, Noah Bayless, Holger H. Hoos, Alan J. Hu University of British Columbia Point Grey Secondary School Sam Bayless (UBC) SAT Modulo Monotonic Theories / 0 Procedural
More informationModule 10: Query Optimization
Module 10: Query Optimization Module Outline 10.1 Outline of Query Optimization 10.2 Motivating Example 10.3 Equivalences in the relational algebra 10.4 Heuristic optimization 10.5 Explosion of search
More informationIntroduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Rimon Elias Dr. Hisham Othman Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
More informationStructure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts
Introduction 3 Background functionals factor out common behaviour map applies a function to every element of a list fun map [ ] = [ ] map f ( x : : xs ) = f x : : map f xs filter keeps only those elements
More informationSELECTION OF JOURNALS BASED ON THE IMPACT FACTORS: A Case Study
DRTC Workshop on Information Management 6-8 January 1999 Paper: BB SELECTION OF JOURNALS BASED ON THE IMPACT FACTORS: A Case Study K.S. Chudamani & B.C Sandhya, JRD Tata Memorial Library, Indian Institute
More informationContents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics
Contents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics... 1 1.1 Chemoinformatics... 2 1.1.1 Open-Source Tools... 2 1.1.2 Introduction to Programming Languages... 3 1.2 Chemical Structure
More informationASCQ_ME: a new engine for peptide mass fingerprint directly from mass spectrum without mass list extraction
ASCQ_ME: a new engine for peptide mass fingerprint directly from mass spectrum without mass list extraction Jean-Charles BOISSON1, Laetitia JOURDAN1, El-Ghazali TALBI1, Cécile CREN-OLIVE2 et Christian
More informationIUCLID Substance Data
1 Workshop on CEFIC LRI Project EEM9.4 LRI AMBIT with IUCLID6 support and extended search capabilities IUCLID Substance Data Nikolay Kochev Ideaconsult Ltd. Sofia,Bulgaria 2 Chemical structure vs. Substance
More informationA uniform programming language for implementing XML standards
A uniform programming language for implementing XML standards Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France Sofsem 2015 Motivation Different data
More informationDirections in Statistical Computing 2014 Renjin's JIT
Directions in Statistical Computing 2014 Renjin's JIT Thinking about R as a Query Language Alexander Bertram BeDataDriven 2014 1 Quick Intro: Renjin R-language Interpreter written in Java, uses GNU R core
More informationThe Schrödinger KNIME extensions
The Schrödinger KNIME extensions Computational Chemistry and Cheminformatics in a workflow environment Jean-Christophe Mozziconacci Volker Eyrich Topics What are the Schrödinger extensions? Workflow application
More informationLeveraging Your Geo-spatial Data Investments with Quantum GIS: an Open Source Geographic Information System
Leveraging Your Geo-spatial Data Investments with Quantum GIS: an Open Source Geographic Information System Donald L. Schrupp Colorado Division of Wildlife (Retired) Danny Lewis Texas Parks and Wildlife
More informationDistributed Oblivious RAM for Secure Two-Party Computation
Seminar in Distributed Computing Distributed Oblivious RAM for Secure Two-Party Computation Steve Lu & Rafail Ostrovsky Philipp Gamper Philipp Gamper 2017-04-25 1 Yao s millionaires problem Two millionaires
More informationSideNail. Martín Schonaker, Santiago Martínez
SideNail Martín Schonaker, Santiago Martínez March 24, 2010 2 Chapter 1 Quickstart 1.1 Hello, World! Listing 1.1 shows the simplest mapping example one can build with SideNail. The example shows how to
More informationCRISP: Capture-Recapture Interactive Simulation Package
CRISP: Capture-Recapture Interactive Simulation Package George Volichenko Carnegie Mellon University Pittsburgh, PA gvoliche@andrew.cmu.edu December 17, 2012 Contents 1 Executive Summary 1 2 Introduction
More informationSTRIBOB : Authenticated Encryption
1 / 19 STRIBOB : Authenticated Encryption from GOST R 34.11-2012 or Whirlpool Markku-Juhani O. Saarinen mjos@item.ntnu.no Norwegian University of Science and Technology Directions in Authentication Ciphers
More informationHOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA.
HOW TO USE MIKANA MIKANA (Method to Infer Kinetics And Network Architecture) is a novel computational method to infer reaction mechanisms and estimate the kinetic parameters of biochemical pathways from
More informationSolutions to EoPL3 Exercises
Solutions to EoPL3 Exercises Release 0.1.0 Cheng Lian May 16, 2017 Contents 1 Contents 3 2 Overview 29 i ii Author Cheng Lian Contents 1 2 Contents CHAPTER 1 Contents Chapter 1.
More informationDemand Forecasting. for. Microsoft Dynamics 365 for Operations. User Guide. Release 7.1. April 2018
Demand Forecasting for Microsoft Dynamics 365 for Operations User Guide Release 7.1 April 2018 2018 Farsight Solutions Limited All Rights Reserved. Portions copyright Business Forecast Systems, Inc. This
More informationElite Galaxy Online. API Documentation v Elite Galaxy Online. All rights reserved
Elite Galaxy Online API Documentation v2.1 Contents 1. Version Control... 3 2. Overview of Elite Galaxy Online API... 4 3. Retrieving Data from Elite Galaxy Online... 5 3.1. Retrieving Star System Data...
More informationBLOCK CIPHERS KEY-RECOVERY SECURITY
BLOCK CIPHERS and KEY-RECOVERY SECURITY Mihir Bellare UCSD 1 Notation Mihir Bellare UCSD 2 Notation {0, 1} n is the set of n-bit strings and {0, 1} is the set of all strings of finite length. By ε we denote
More informationCourse Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.
Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti
More informationNew and Improved Key-Homomorphic Pseudorandom Functions
New and Improved Key-Homomorphic Pseudorandom Functions Abhishek Banerjee 1 Chris Peikert 1 1 Georgia Institute of Technology CRYPTO 14 19 August 2014 Outline 1 Introduction 2 Construction, Parameters
More informationIntroduction to Side Channel Analysis. Elisabeth Oswald University of Bristol
Introduction to Side Channel Analysis Elisabeth Oswald University of Bristol Outline Part 1: SCA overview & leakage Part 2: SCA attacks & exploiting leakage and very briefly Part 3: Countermeasures Part
More informationFirst-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)
First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems
More informationlibsupermesh version 1.0.1
libsupermesh version 1.0.1 James R. Maddison School of Mathematics and Maxwell Institute for Mathematical Sciences, University of Edinburgh, UK Iakovos Panourgias EPCC, University of Edinburgh, UK, Patrick
More informationIntegrated Cheminformatics to Guide Drug Discovery
Integrated Cheminformatics to Guide Drug Discovery Matthew Segall, Ed Champness, Peter Hunt, Tamsin Mansley CINF Drug Discovery Cheminformatics Approaches August 23 rd 2017 Optibrium, StarDrop, Auto-Modeller,
More information1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:
CS 24 Section #8 Hashing, Skip Lists 3/20/7 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look at
More informationSupplementary Material
Supplementary Material Contents 1 Keywords of GQL 2 2 The GQL grammar 3 3 THE GQL user guide 4 3.1 The environment........................................... 4 3.2 GQL projects.............................................
More informationCS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis
CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis 1. Relations in BDDs 2. Datalog -> Relational Algebra 3. Relational Algebra -> BDDs 4. Context-Sensitive Pointer Analysis 5. Performance
More informationAuthentication. Chapter Message Authentication
Chapter 5 Authentication 5.1 Message Authentication Suppose Bob receives a message addressed from Alice. How does Bob ensure that the message received is the same as the message sent by Alice? For example,
More informationComputer Science and Logic A Match Made in Heaven
A Match Made in Heaven Luca Aceto Reykjavik University Reykjavik, 3 April 2009 Thanks to Moshe Vardi from whom I have drawn inspiration (read stolen ideas ) for this presentation. Why This Talk Today?
More informationComputational Complexity
Computational Complexity S. V. N. Vishwanathan, Pinar Yanardag January 8, 016 1 Computational Complexity: What, Why, and How? Intuitively an algorithm is a well defined computational procedure that takes
More informationBlock Ciphers/Pseudorandom Permutations
Block Ciphers/Pseudorandom Permutations Definition: Pseudorandom Permutation is exactly the same as a Pseudorandom Function, except for every key k, F k must be a permutation and it must be indistinguishable
More informationWeak Synchronization & Synchronizability. Multi-tape Automata and Machines
Weak Synchronization and Synchronizability of Multi-tape Automata and Machines Oscar H. Ibarra 1 and Nicholas Tran 2 1 Department of Computer Science University of California at Santa Barbara ibarra@cs.ucsb.edu
More informationRegular n-ary Queries in Trees and Variable Independence
Regular n-ary Queries in Trees and Variable Independence Emmanuel Filiot Sophie Tison Laboratoire d Informatique Fondamentale de Lille (LIFL) INRIA Lille Nord-Europe, Mostrare Project IFIP TCS, 2008 E.Filiot
More informationDan Boneh. Introduction. Course Overview
Online Cryptography Course Introduction Course Overview Welcome Course objectives: Learn how crypto primitives work Learn how to use them correctly and reason about security My recommendations: Take notes
More informationVäxjö University. Software Security Testing. A Flexible Architecture for Security Testing. School of Mathematics and System Engineering
School of Mathematics and System Engineering Reports from MSI - Rapporter från MSI Växjö University Software Security Testing A Flexible Architecture for Security Testing Martin Andersson Aug 2008 MSI
More informationIntroduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Mohammed Abdel Megeed Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:
More information/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111
/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University
More informationArcGIS Deployment Pattern. Azlina Mahad
ArcGIS Deployment Pattern Azlina Mahad Agenda Deployment Options Cloud Portal ArcGIS Server Data Publication Mobile System Management Desktop Web Device ArcGIS An Integrated Web GIS Platform Portal Providing
More informationAttack Graph Modeling and Generation
Attack Graph Modeling and Generation Ratnesh Kumar, Professor, IEEE Fellow Electrical and Computer Engineering, Iowa State University PhD Students: Mariam Ibrahim German Jordanian University Attack Graph:
More informationTheoretical Computer Science
Theoretical Computer Science Zdeněk Sawa Department of Computer Science, FEI, Technical University of Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Czech republic September 22, 2017 Z. Sawa (TU Ostrava)
More informationStatic Program Analysis
Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem
More informationInjectivity of Composite Functions
Injectivity of Composite Functions Kim S. Larsen Michael I. Schwartzbach Computer Science Department, Aarhus University Ny Munkegade, 8000 Aarhus C, Denmark Present address: Department of Mathematics and
More informationSupporting Information. Kekule.js: An Open Source JavaScript Chemoinformatics Toolkit
Supporting Information Kekule.js: An Open Source JavaScript Chemoinformatics Toolkit Chen Jiang, *, Xi Jin, Ying Dong and Ming Chen Department of Organic Chemistry, China Pharmaceutical University, Nanjing
More information