Can We Do Better Than HTTP/JSON?
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Protolite: Highly Optimized Protocol Buffer Serializers
Package ‘protolite’ July 28, 2021 Type Package Title Highly Optimized Protocol Buffer Serializers Author Jeroen Ooms Maintainer Jeroen Ooms <[email protected]> Description Pure C++ implementations for reading and writing several common data formats based on Google protocol-buffers. Currently supports 'rexp.proto' for serialized R objects, 'geobuf.proto' for binary geojson, and 'mvt.proto' for vector tiles. This package uses the auto-generated C++ code by protobuf-compiler, hence the entire serialization is optimized at compile time. The 'RProtoBuf' package on the other hand uses the protobuf runtime library to provide a general- purpose toolkit for reading and writing arbitrary protocol-buffer data in R. Version 2.1.1 License MIT + file LICENSE URL https://github.com/jeroen/protolite BugReports https://github.com/jeroen/protolite/issues SystemRequirements libprotobuf and protobuf-compiler LinkingTo Rcpp Imports Rcpp (>= 0.12.12), jsonlite Suggests spelling, curl, testthat, RProtoBuf, sf RoxygenNote 6.1.99.9001 Encoding UTF-8 Language en-US NeedsCompilation yes Repository CRAN Date/Publication 2021-07-28 12:20:02 UTC R topics documented: geobuf . .2 mapbox . .2 serialize_pb . .3 1 2 mapbox Index 5 geobuf Geobuf Description The geobuf format is an optimized binary format for storing geojson data with protocol buffers. These functions are compatible with the geobuf2json and json2geobuf utilities from the geobuf npm package. Usage read_geobuf(x, as_data_frame = TRUE) geobuf2json(x, pretty = FALSE) json2geobuf(json, decimals = 6) Arguments x file path or raw vector with the serialized geobuf.proto message as_data_frame simplify geojson data into data frames pretty indent json, see jsonlite::toJSON json a text string with geojson data decimals how many decimals (digits behind the dot) to store for numbers mapbox Mapbox Vector Tiles Description Read Mapbox vector-tile (mvt) files and returns the list of layers. -
Tencentdb for Tcaplusdb Getting Started
TencentDB for TcaplusDB TencentDB for TcaplusDB Getting Started Product Documentation ©2013-2019 Tencent Cloud. All rights reserved. Page 1 of 32 TencentDB for TcaplusDB Copyright Notice ©2013-2019 Tencent Cloud. All rights reserved. Copyright in this document is exclusively owned by Tencent Cloud. You must not reproduce, modify, copy or distribute in any way, in whole or in part, the contents of this document without Tencent Cloud's the prior written consent. Trademark Notice All trademarks associated with Tencent Cloud and its services are owned by Tencent Cloud Computing (Beijing) Company Limited and its affiliated companies. Trademarks of third parties referred to in this document are owned by their respective proprietors. Service Statement This document is intended to provide users with general information about Tencent Cloud's products and services only and does not form part of Tencent Cloud's terms and conditions. Tencent Cloud's products or services are subject to change. Specific products and services and the standards applicable to them are exclusively provided for in Tencent Cloud's applicable terms and conditions. ©2013-2019 Tencent Cloud. All rights reserved. Page 2 of 32 TencentDB for TcaplusDB Contents Getting Started Basic Concepts Cluster Table Group Table Index Data Types Read/Write Capacity Mode Table Definition in ProtoBuf Table Definition in TDR Creating Cluster Creating Table Group Creating Table Getting Access Point Information Access TcaplusDB ©2013-2019 Tencent Cloud. All rights reserved. Page 3 of 32 TencentDB for TcaplusDB Getting Started Basic Concepts Cluster Last updated:2020-07-31 11:15:59 Cluster Overview A cluster is the basic TcaplusDB management unit, which provides independent TcaplusDB service for the business. -
Software License Agreement (EULA)
Third-party Computer Software AutoVu™ ALPR cameras • angular-animate (https://docs.angularjs.org/api/ngAnimate) licensed under the terms of the MIT License (https://github.com/angular/angular.js/blob/master/LICENSE). © 2010-2016 Google, Inc. http://angularjs.org • angular-base64 (https://github.com/ninjatronic/angular-base64) licensed under the terms of the MIT License (https://github.com/ninjatronic/angular-base64/blob/master/LICENSE). © 2010 Nick Galbreath © 2013 Pete Martin • angular-translate (https://github.com/angular-translate/angular-translate) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • angular-translate-handler-log (https://github.com/angular-translate/bower-angular-translate-handler-log) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • angular-translate-loader-static-files (https://github.com/angular-translate/bower-angular-translate-loader-static-files) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • Angular Google Maps (http://angular-ui.github.io/angular-google-maps/#!/) licensed under the terms of the MIT License (https://opensource.org/licenses/MIT). © 2013-2016 angular-google-maps • AngularJS (http://angularjs.org/) licensed under the terms of the MIT License (https://github.com/angular/angular.js/blob/master/LICENSE). © 2010-2016 Google, Inc. http://angularjs.org • AngularUI Bootstrap (http://angular-ui.github.io/bootstrap/) licensed under the terms of the MIT License (https://github.com/angular- ui/bootstrap/blob/master/LICENSE). -
Towards a Fully Automated Extraction and Interpretation of Tabular Data Using Machine Learning
UPTEC F 19050 Examensarbete 30 hp August 2019 Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Per Hedbrant Master Thesis in Engineering Physics Department of Engineering Sciences Uppsala University Sweden Abstract Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Teknisk- naturvetenskaplig fakultet UTH-enheten Motivation A challenge for researchers at CBCS is the ability to efficiently manage the Besöksadress: different data formats that frequently are changed. Significant amount of time is Ångströmlaboratoriet Lägerhyddsvägen 1 spent on manual pre-processing, converting from one format to another. There are Hus 4, Plan 0 currently no solutions that uses pattern recognition to locate and automatically recognise data structures in a spreadsheet. Postadress: Box 536 751 21 Uppsala Problem Definition The desired solution is to build a self-learning Software as-a-Service (SaaS) for Telefon: automated recognition and loading of data stored in arbitrary formats. The aim of 018 – 471 30 03 this study is three-folded: A) Investigate if unsupervised machine learning Telefax: methods can be used to label different types of cells in spreadsheets. B) 018 – 471 30 00 Investigate if a hypothesis-generating algorithm can be used to label different types of cells in spreadsheets. C) Advise on choices of architecture and Hemsida: technologies for the SaaS solution. http://www.teknat.uu.se/student Method A pre-processing framework is built that can read and pre-process any type of spreadsheet into a feature matrix. Different datasets are read and clustered. An investigation on the usefulness of reducing the dimensionality is also done. -
Datacenter Tax Cuts: Improving WSC Efficiency Through Protocol Buffer Acceleration
Datacenter Tax Cuts: Improving WSC Efficiency Through Protocol Buffer Acceleration Dinesh Parimi William J. Zhao Jerry Zhao University of California, Berkeley University of California, Berkeley University of California, Berkeley [email protected] william [email protected] [email protected] Abstract—According to recent literature, at least 25% of cycles will serialize some set of objects stored in memory to a in a modern warehouse-scale computer are spent on common portable format defined by the protobuf compiler (protoc). “building blocks” [1]. Referred to by Kanev et al. as a “datacenter The serialized objects can be sent to some remote device, tax”, these tasks are prime candidates for hardware acceleration, as even modest improvements here can generate immense cost which will then deserialize the object into its own memory and power savings given the scale of such systems. to execute on. Thus protobuf is widely used to implement One of these tasks is protocol buffer serialization and parsing. remote procedure calls (RPC), since it facilitates the transport Protocol buffers are an open-source mechanism for representing of arguments across a network. Protobuf remains the most structured data developed by Google, and used extensively in popular serialization framework due to its maturity, backwards their datacenters for communication and remote procedure calls. While the source code for protobufs is highly optimized, certain compatibility, and extensibility. Specifically, the encoding tasks - such as the compression/decompression of integer fields scheme enables future changes to the protobuf schema to and the encoding of variable-length strings - bottleneck the remain backwards compatible. throughput of serializing or parsing a protobuf. -
Migrating-To-Red-Hat-Amq-7.Pdf
Red Hat AMQ 2021.Q2 Migrating to Red Hat AMQ 7 For Use with Red Hat AMQ 2021.Q2 Last Updated: 2021-07-26 Red Hat AMQ 2021.Q2 Migrating to Red Hat AMQ 7 For Use with Red Hat AMQ 2021.Q2 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. -
Play Framework Documentation
Play framework documentation Welcome to the play framework documentation. This documentation is intended for the 1.1 release and may significantly differs from previous versions of the framework. Check the version 1.1 release notes. The 1.1 branch is in active development. Getting started Your first steps with Play and your first 5 minutes of fun. 1. Play framework overview 2. Watch the screencast 3. Five cool things you can do with Play 4. Usability - details matter as much as features 5. Frequently Asked Questions 6. Installation guide 7. Your first application - the 'Hello World' tutorial 8. Set up your preferred IDE 9. Sample applications 10. Live coding script - to practice, and impress your colleagues with Tutorial - Play guide, a real world app step-by-step Learn Play by coding 'Yet Another Blog Engine', from start to finish. Each chapter will be a chance to learn one more cool Play feature. 1. Starting up the project 2. A first iteration of the data model 3. Building the first screen 4. The comments page 5. Setting up a Captcha 6. Add tagging support 7. A basic admin area using CRUD 8. Adding authentication 9. Creating a custom editor area 10. Completing the application tests 11. Preparing for production 12. Internationalisation and localisation The essential documentation Generated with playframework pdf module. Page 1/264 Everything you need to know about Play. 1. Main concepts i. The MVC application model ii. A request life cycle iii. Application layout & organization iv. Development lifecycle 2. HTTP routing i. The routes file syntax ii. Routes priority iii. -
The Netty Project 3.2 User Guide the Proven Approach to Rapid Network
The Netty Project 3.2 User Guide The Proven Approach to Rapid Network Application Development 3.2.6.Final Preface .............................................................................................................................. iii 1. The Problem ........................................................................................................... iii 2. The Solution ........................................................................................................... iii 1. Getting Started ............................................................................................................... 1 1.1. Before Getting Started ............................................................................................ 1 1.2. Writing a Discard Server ......................................................................................... 1 1.3. Looking into the Received Data ................................................................................ 3 1.4. Writing an Echo Server ........................................................................................... 4 1.5. Writing a Time Server ............................................................................................ 5 1.6. Writing a Time Client ............................................................................................. 7 1.7. Dealing with a Stream-based Transport ...................................................................... 8 1.7.1. One Small Caveat of Socket Buffer ................................................................ -
Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems
Extracted from: Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems This PDF file contains pages extracted from Distributed Services with Go, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com. Note: This extract contains some colored text (particularly in code listing). This is available only in online versions of the books. The printed versions are black and white. Pagination might vary between the online and printed versions; the content is otherwise identical. Copyright © 2021 The Pragmatic Programmers, LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. The Pragmatic Bookshelf Raleigh, North Carolina Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems Travis Jeffery The Pragmatic Bookshelf Raleigh, North Carolina Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf, PragProg and the linking g device are trade- marks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. -
Protocol Buffers
Protocol Buffers http://code.google.com/p/protobuf/ 1 Overview ● What are Protocol Buffers ● Structure of a .proto file ● How to use a message ● How messages are encoded ● Important points to remember ● More Stuff 2/33 What are Protocol Buffers? ● Serialization format by Google ● used by Google for almost all internal RPC protocols and file formats (currently 48,162 different message types defined in the Google code tree across 12,183 .proto files. They©re used both in RPC systems and for persistent storage of data in a variety of storage systems.) ● Goals: ● Simplicity ● Compatibility ● Performance 3/33 Comparison XML - Protobuf ● Readable by humans ↔ binary format ● Self-describing ↔ Garbage without .proto file ● Big files ↔ small files (3-10 times) ● Slow to serialize/parse ↔ fast (20-100 times) ● .xsd (complex) ↔ .proto (simple, less ambiguous) ● Complex access ↔ easy access 4/33 Comparison XML ± Protobuf (cntd) <person> Person { <name>John Doe</name> name: "John Doe" <email>[email protected]</email> email: "[email protected]" </person> } (== 69 bytes, 5-10©000ns to parse) (== 28 bytes, 100-200ns to parse) cout << "Name: " cout << "Name: " << person.name() << << endl; person.getElementsByTagName("nam cout << "E-mail: " << person.email() << e")->item(0)->innerText() endl; << endl; cout << "E-mail: " << person.getElementsByTagName("emai l")->item(0)->innerText() 5/33 << endl; Example message Person { required string name = 1; // name of person required int32 id = 2; // id of person optional string email = 3; // email address enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; optional PhoneType type = 2 [default = HOME]; } 6/33 repeated PhoneNumber phone = 4; } From .proto to runtime ● Messages defined in .proto file(s) ● Compiled into source code with protoc ● C++ ● Java ● Python ● More languages via AddOns (C#, PHP, Perl, ObjC, etc) ● Usage in code ● Passed via network / files 7/33 Message Definition ● Messages defined in .proto files ● Syntax: Message [MessageName] { .. -
HCP-CS Third-Party Software V1.1
HCP-CS Third-Party Software V 1.1 Open Source Software Packages Contact Information: HCP-CS Third-Party Software Project Manager Hitachi Vantara Corporation 2535 Augustine Drive Santa Clara, California 95054 Name of Product/Product Version License Component systemd-pam 239 LGPLv2+ and MIT and GPLv2+ javapackages-filesystem 5.3.0 BSD dbus 1.12.10 (GPLv2+ or AFL) and GPLv2+ python-setuptools-wheel 40.4.3 MIT and (BSD or ASL 2.0) parted 3.2 GPLv3+ fontpackages-filesystem 1.44 Public Domain device-mapper-event 1.02.150 GPLv2 dejavu-fonts-common 2.35 Bitstream Vera and Public Domain lvm2 2.02.181 GPLv2 tzdata 2018e Public Domain ntpdate 4.2.8p12 MIT and BSD and BSD with advertising publicsuffix-list-dafsa 2E+07 MPLv2.0 Name of Product/Product Version License Component subversion-libs 1.10.2 ASL 2.0 ncurses-base 6.1 MIT javapackages-tools 5.3.0 BSD libX11-common 1.6.6 MIT apache-commons-pool 1.6 ASL 2.0 dnf-data 4.0.4 GPLv2+ and GPLv2 and GPL junit 4.12 EPL-1.0 fedora-release 29 MIT log4j12 1.2.17 ASL 2.0 setup 2.12.1 Public Domain cglib 3.2.4 ASL 2.0 and BSD basesystem 11 Public Domain slf4j 1.7.25 MIT and ASL 2.0 libselinux 2.8 Public Domain tomcat-lib 9.0.10 ASL 2.0 Name of Product/Product Version License Component LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ glibc-all-langpacks 2.28 and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL antlr-tool 2.7.7 ANTLR-PD LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ glibc 2.28 and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL apache-commons-daemon -
Rohan Bharadwaj
ROHAN BHARADWAJ WORK EXPERIENCE Software Engineer II Microsoft Corporation March 2017 – Present • Working on developing backend services for Microsoft Teams - a team collaboration and productivity application. Technologies used: C #, .NET, Azure Cloud Services Member of Technical Staff II Tintri Inc., Mountain View, CA Feb 2016 – March 2017 • Component owner of Replication module for System management. • Working on re-designing Site Recovery Manager implementation - Disaster recovery solution. • Designed and implemented efficient policy management by decreasing number of persistence calls in latest version of Tintri Global Center. Technologies used: Java, Python, REST API, PostgreSQL. Software Engineer, Intern Tintri Inc., Mountain View, CA June 2015 – August 2015 Tintri Global Center(TGC) • Worked on making TGC Virtual Machine data aggregator module more robust. • Implemented scalability framework to measure time taken by important services and threads in TGC. Technologies used: Java, Python, REST API, PostgreSQL. Developer Google India Pvt. Ltd., Hyderabad, India June 2012-July 2014 • Worked as a technical member of team with focus on building predictive models that proactively identified fraud occurring across Google Wallet and AdWords. • Implemented automated models to handle AdWords customer emails resulting in 60% automation Technologies used: Python, AngularJS, Protocol Buffers, F1 database, Dremel, JSON. EDUCATION Stony Brook University Stony Brook, NY Fall 2014 – Dec 2015 MS in Computer Science Graduate Coursework: Advanced Algorithms, Network Security, Artificial Intelligence, Asynchronous Systems, Wireless and Mobile Networks. Chaitanya Bharathi Inst. of Technology Hyderabad, India Fall 2008 – May 2012 Bachelor of Engineering in Computer Science Coursework: Compiler Design, Computer Networks, Algorithms, Database Management Systems, Computer Architecture, Principles of Programming Languages, Computer Architecture, Operating Systems.