Showing posts with label Web Books. Show all posts

Denise Gosnell

e-books shop
e-books shop
Purchase Now !
Just with Paypal

Book Details
 329 p
 File Size 
 12,029 KB
 File Type
 PDF format
 2005 by Denise Gosnell 

About the Author
Denise Gosnell is a software attorney with Woodard, Emhardt, Moriarty, McNett & Henry LLP
(, a worldwide intellectualproperty law firm based in Indianapolis, Indiana. Denise
has a unique background in both technology and law, and presently uses her deep technical and legal
expertise to counsel hightech clients on intellectual property and technical matters.
Denise has over ten years of experience creating software applications, ranging from standalone and
clientserver to enterprisewide applications. Denise has worked for leading software companies, such as
Microsoft and EDS, and has earned a worldwide reputation for her technology expertise. She received a
Bachelor of Arts degree in Computer Science – Business (summa cum laude) from Anderson University, and a Doctor of Jurisprudence degree from Indiana University School of Law in Indianapolis. Denise has coauthored six other software development books to date: Beginning Access 2003 VBA (Wiley Publishing, Inc.), Visual Basic .NET and SQL Server 2000: Building An Effective Data Layer (Wrox Press), Beginning Visual Basic.NET Databases (Wrox Press), Professional .NET Framework (Wrox Press), Professional SQL Server 2000 (Wrox Press), and MSDE Bible (IDG Books). Denise was a featured technology speaker at the Microsoft European Professional Developer’s Conference in December 2001 and has on numerous occasions
assisted Microsoft’s Training and Certification group in creating new exams for their MCSD and MCSE certifications. She herself holds the MCSD certification.
Denise can be reached at or

Web APIs are a set of application programming interfaces that can be called over standard Internet protocols. Web APIs and Web services are finally getting real attention in the mainstream. Various types of Web APIs are now available from leading technology companies such as Google, Amazon, eBay, Microsoft, and others. Federal Express, UPS, and many other leading companies have recently released or are working on Web APIs as well. Most of these companies offer a free account for limited use of their Web APIs, but some charge a fee for certain levels of usage.

If you like the idea of generating applications that capitalize on the services of some of these wellknown companies, or if you just want to learn from what these leading companies are doing to aid you in implementing your own Web APIs, then this is the book for you.

What This Book Covers
This book provides a handson guide to using some of the most popular Web APIs in software applications. It provides the nutsandbolts details on how several APIs work, and then offers numerous examples of how to use the APIs in real world situations.
While reading this book, you will learn:
❑ Basic concepts of Web APIs
❑ How Web APIs can be used for professional application development
❑ How to call Web APIs using SOAP over HTTP
❑ How to call Web APIs using HTTPGET (REST)
❑ How to call Web APIs using HTTPPOST
❑ How to use the Google API
❑ How to use the MapPoint API
❑ How to use the Amazon API
❑ How to use the eBay API and SDK
❑ How to use the PayPal API
❑ How to locate additional APIs
❑ Some thirdparty extensions of existing APIs
❑ How to create your own API
❑ How to call Web APIs from Microsoft Office applications
❑ How to call Web APIs from mobile devices
❑ How to use multiple APIs together in realworld case studies

Table of Contents
Acknowledgments ix
Introduction xvii
Chapter 1: Anatomy of a Web API 1
Web APIs versus Web Services 1
Web APIs as XML Web Services 2
What Is XML? 2
Invoking an XML Web Service 3
Summary 14
Chapter 2: Using the Google API 15
Google 101 15
cache: 16
daterange: 17
filetype: 17
inanchor: 18
info: 18
intext: 18
intitle: 18
inurl: 18
link: 19
phonebook: 19
related: 19
site: 19
Introduction to the Google API 19
Signing Up and Obtaining a Key 19
Anatomy of a Google API Query 23
Query Syntax 23
Executing a Query 25
Looping through Results 31
Five Creative Ways to Use the Google API 33
#1—Build a Google Search Feature 33
#2—Return Random Pages 36
#3—Save the Results of a Google Search to a File 37
#4—Use Google to Check Spelling 40
#5—Use the Google Cache to Retrieve a Web Site That Is No Longer Available 42
Other Ways to Use the Google API 45
Third-Party Google Extensions 46
Summary 48
Chapter 3: Using the MapPoint API 49
MapPoint 101 50
Introduction to the MapPoint API 51
Signing Up for an Evaluation Account 52
The MapPoint Software Developer’s Kit (SDK) 58
Anatomy of a MapPoint API Query 59
Available Services 59
Using the Test Environment versus Production 63
Executing a MapPoint Query 63
Five Creative Ways to Use the MapPoint API 71
#1—Obtain Driving Directions 72
#2—Retrieve a Map 75
#3—Perform a Geocode Lookup 77
#4—Find Nearby Places 80
#5—Obtain Information on Points of Interests 82
Other Ways to Use the MapPoint API 84
Third-Party MapPoint Extensions 85
Summary 85
Chapter 4: Using the APIs 87
Amazon 101 88
Introduction to the Amazon APIs 90
Supported Features 90
Signing Up for a Subscription ID 91
Anatomy of Amazon API Queries 96 E-Commerce Service API Query Syntax 97
Help Operation 102
Transaction Operation 102
Alexa Web Information Service API Query Syntax 102
Simple Queue Service API Query Syntax 103
Executing a Query Using HTTP-GET (REST) 104
Executing a Query Using SOAP 106
Looping Through Results 109
Five Creative Ways to Use the Amazon APIs 110
#1—Retrieve Feedback about a Seller with ECS 110
#2—Retrieve Product Pricing with ECS 110
#3—Look Up a Friend or Family Member’s Wish List with ECS 110
#4—Create an Shopping Cart with ECS 111
#5—Retrieve URL Information with Alexa Web Information Service 112
Other Ways to Use the Amazon APIs 112
Third-Party Amazon Extensions 113
Summary 115
Chapter 5: Using the eBay API 117
eBay 101 118
Introduction to the eBay API 118
Supported Features 119
Licensing Options 119
Joining the Developer’s Program and Establishing an Account 119
The eBay API Documentation 124
The eBay Software Developer’s Kit (SDK) 124
Anatomy of an eBay API Query 125
Query Syntax 125
Executing a Query Using HTTP-POST 127
Executing a Query Using SOAP 130
Five Creative Ways to Use the eBay API 132
#1—List an Item for Sale 133
#2—Retrieve a List of Categories 137
#3—Retrieve List of Pending Auctions for Seller 138
#4—Retrieve Winning Bidders of Dutch Auction 141
#5—Retrieve Feedback about a Seller 142
Other Ways to Use the eBay API 144
Third-Party eBay Extensions 145
Summary 146
Chapter 6: Using the PayPal API 147
PayPal 101 148
Introduction to the PayPal API 148
Supported Features 149
Getting Set Up to Use the PayPal API 149
Anatomy of a PayPal API Query 158
Query Syntax 158
Executing a Query 160
Other Ways to Use the PayPal API 162
Third-Party PayPal Extensions 162
Summary 162
Chapter 7: Other Web APIs 163
Faxing APIs 163
Setting Up a Free Developer Account 164
Sending a Test Fax 165
The UPS API 168
Setting Up a UPS Developer Account 168
Submitting a Request to the UPS API 170
The FedEx APIs 172
Setting Up a FedEx Developer Account 173
Submitting Transactions Using FedEx Ship Manager Direct 175
Bloglines Web API 176
Locating Additional Web APIs 178
Summary 180
Chapter 8: Calling Web APIs from Mobile Devices 181
What Devices Support XML Web APIs? 181
Windows Pocket PCs and Smartphones 182
Palm and Other Devices 183
Calling Web APIs from Pocket PC Applications 184
Example 1—Call MapPoint API Using SOAP Protocol to Retrieve Driving Directions 184
Example 2—Call API Using HTTP/GET (REST) Protocol 189
Summary 192
Chapter 9: Calling Web APIs from Microsoft Office 193
Calling Web APIs from VBA Code 193
Calling Web APIs Using VBA with HTTP/POST and HTTP/GET (REST) 194
Calling Web APIs Using SOAP Protocol 196
Calling a Web API from Microsoft Office Using .NET 202
Installing the Necessary Tools 203
Example—Calling Web Service from Word Using
Visual Basic .NET and SOAP 205
Summary 211
Chapter 10: Creating Your Own Web API 213
Designing the API 213
What Features Should the API Offer? 213
Which Protocols Should the API Support? 214
Should the Features Be Free or for a Fee? 215
Creating a Web API 215
Building an API Using Visual Studio .NET 216
Calling the Web API from a Client Application 222
Creating a Web API That Uses Other Programs or Services 224
Summary 224
Chapter 11: Case Study 1—Customer Relations
Management Application 225
Introduction to the Customer Relations Management (CRM) Application 225
Building the Project 228
Build the Database 228
Build the User Interface 230
Build the Modules 237
Touring the Completed Application 260
Summary 263
Chapter 12: Case Study 2—Executive Dashboard Application 265
Introduction to the Executive Dashboard Application 265
Building the User Interface 267
Creating the New Project 267
Adding References to the Web APIs 268
Adding Controls to the Form 270
Building the Code Modules 272
Touring the Completed Application 276
Summary 279
Index 281

e-book shop

Who This Book Is ForI
The ideal reader has had prior experience with Microsoft .NET development, such as WinForms and
WebForms applications because most or all code examples will be written with .NET. However, the book also provides general explanations that will be useful for people who are familiar with other languages. Thus, prior .NET development experience is not required, but people with prior .NET development experience will find the code examples more familiar and easier to follow.

Create Golang production applications using network libraries, concurrency, and advanced Go data structures

Mihalis Tsoukalos

e-books shop
e-books shop
Purchase Now !
Just with Paypal

Book Details
 598 p
 File Size 
 8,289 KB
 File Type
 PDF format
 2018 Packt Publishing 

About the Author
Mihalis Tsoukalos is a technical author, a Unix administrator, a developer, and a
mathematician, who enjoys learning new things. He has written more than 250 technical
articles for many publications, including Sys Admin, MacTech, Linux User and Developer,
Usenix ;login:, Linux Format, and Linux Journal.

Mihalis is also the author of Go Systems Programming, by Packt Publishing, 2017 and the
technical editor for MongoDB in Action, Second Edition, by Manning. Mihalis' research
interests include databases, operating systems, and statistics. You can reach him at http:/ / and @mactsouk. He is also a photographer ( ).

I would like to thank the people at Packt Publishing for helping me write this book,
including Frank Pohlmann and Gary Schwartz, my technical reviewer, Mat Ryer, Radhika
Atitkar, for her encouragement and trust, and Kishor Rit, for answering all my questions
and encouraging me during the whole process.
For all people everywhere: You will never change your life until you change something you do daily!

About the reviewer
Mat Ryer has been programming computers since he was 6 years old. He would build
games and programs, first in BASIC on a ZX Spectrum and then in AmigaBASIC and
AMOS on Commodore Amiga with his father. Many hours were spent on manually
copying the code from the Amiga Format magazine and tweaking variables or moving
GOTO statements around to see what might happen. The same spirit of exploration and
obsession with programming led Mat to starting work with a local agency in Mansfield,
England, when he was 18, where he started to build websites and other online services.

After several years of working with various technologies and industries in London and
around the world, Mat noticed a new systems language called Go that Google was
pioneering. Since it addressed very pertinent and relevant modern technical challenges, Mat
started using it to solve problems while the language was still in the beta stage. He has used
it ever since. Mat contributes to open-source projects and founded Go packages, including
Testify, Moq, Silk, and Is, as well as a macOS developer tool called BitBar.

In 2018, Mat co-founded Machine Box and still spends a lot of time speaking at conferences,
writing about Go on his blog, and is an active member of the Go community.

The book you are reading right now is called Mastering Go and is all about helping you
become a better Go developer!
I tried to include the right amount of theory and hands on practice, but only you, the reader,
can tell if I succeeded or not! Additionally, all presented examples are self-contained, which
means that they can be used on their own or as templates for creating more complex
Please try to do the exercises located at the end of each chapter and do not hesitate to
contact me with ways to make any future editions of this book even better!

Table of Contents
Preface 1
Chapter 1: Go and the Operating System 7
The structure of the book 8
The history of Go 8
Why learn Go? 9
Go advantages 9
Is Go perfect? 11
What is a preprocessor? 11
The godoc utility 12
Compiling Go code 13
Executing Go code 14
Two Go rules 14
You either use a Go package or do not include it 15
There is only one way to format curly braces 16
Downloading Go packages 17
Unix stdin, stdout, and stderr 19
About printing output 19
Using standard output 21
Getting user input 23
About := and = 23
Reading from standard input 24
Working with command-line arguments 26
About error output 28
Writing to log files 30
Logging levels 31
Logging facilities 31
Log servers 31
A Go program that sends information to log files 32
About log.Fatal() 35
About log.Panic() 36
Error handling in Go 38
The error data type 38
Error handling 40
Additional resources 43
Exercises 44
Summary 44
Chapter 2: Understanding Go Internals 45
The Go compiler 46
Garbage Collection 47
The Tricolor algorithm 50
More about the operation of the Go Garbage Collector 53
Unsafe code 55
About the unsafe package 57
Another example of the unsafe package 57
Calling C code from Go 59
Calling C code from Go using the same file 59
Calling C code from Go using separate files 60
The C code 61
The Go code 62
Mixing Go and C code 63
Calling Go functions from C code 64
The Go package 64
The C code 66
The defer keyword 67
Panic and Recover 69
Using the panic function on its own 71
Two handy Unix utilities 72
The strace tool 73
The dtrace tool 74
Your Go environment 76
The Go Assembler 78
Node Trees 79
Learning more about go build 85
General Go coding advices 86
Additional Resources 86
Exercises 87
Summary 87
Chapter 3: Working with Basic Go Data Types 89
Go loops 90
The for loop 90
The while loop 91
The range keyword 91
Examples of Go for loops 91
Go arrays 93
Multi-dimensional arrays 94
The shortcomings of Go arrays 97
Go slices 97
Performing basic operations on slices 98
Slices are being expanded automatically 100
Byte slices 102
The copy() function 102
Multidimensional slices 105
Another example of slices 105
Sorting slices using sort.slice() 108
Go maps 110
Storing to a nil map 112
When you should use a map? 113
Go constants 113
The constant generator iota 115
Go pointers 118
Dealing with times and dates 121
Working with times 123
Parsing times 123
Working with dates 125
Parsing dates 125
Changing date and time formats 127
Additional resources 129
Exercises 129
Summary 129
Chapter 4: The Uses of Composite Types 130
About composite types 131
Structures 131
Pointers to structures 134
Using the new keyword 136
Tuples 136
Regular expressions and pattern matching 138
Now for some theory 139
A simple example 139
A more advanced example 142
Matching IPv4 addresses 145
Strings 150
What is a rune? 153
The Unicode package 155
The strings package 156
The switch statement 160
Calculating Pi with great accuracy 164
Developing a key/value store in Go 167
Additional resources 172
Exercises 173
Summary 173
Chapter 5: Enhancing Go Code with Data Structures 174
About graphs and nodes 175
Algorithm complexity 175
Binary trees in Go 176
Implementing a binary tree in Go 177
Advantages of binary trees 179
Hash tables in Go 180
Implementing a hash table in Go 181
Implementing the lookup functionality 184
Advantages of hash tables 185
Linked lists in Go 185
Implementing a linked list in Go 186
Advantages of linked lists 190
Doubly linked lists in Go 190
Implementing a doubly linked list in Go 192
Advantages of doubly linked lists 195
Queues in Go 195
Implementing a queue in Go 196
Stacks in Go 199
Implementing a stack in Go 199
The container package 202
Using container/heap 203
Using container/list 206
Using container/ring 208
Generating random numbers 210
Generating random strings 213
Additional Resources 216
Exercises 216
Summary 217
Chapter 6: What You Might Not Know About Go Packages 218
About Go packages 219
About Go functions 219
Anonymous functions 220
Functions that return multiple values 220
The return values of a function can be named! 222
Functions with pointer parameters 224
Functions that return pointers 225
Functions that return other functions 227
Functions that accept other functions as parameters 228
Developing your own Go packages 230
Compiling a Go package 232
Private variables and functions 232
The init() function 232
Reading the Go code of a standard Go package 235
Exploring the code of the net/url package 235
Looking at the Go code of the log/syslog package 237
Creating good Go packages 238
The syscall package 240
Finding out how fmt.Println() really works 243
Text and HTML templates 245
Generating text output 246
Constructing HTML output 248
Basic SQLite3 commands 256
Additional resources 256
Exercises 257
Summary 257
Chapter 7: Reflection and Interfaces for All Seasons 258
Type methods 258
Go interfaces 261
About type assertion 262
Developing your own interfaces 264
Using a Go interface 265
Using switch with interface and data types 267
Reflection 269
A simple Reflection example 270
A more advanced reflection example 272
The three disadvantages of reflection 275
Object-oriented programming in Go! 276
Additional resources 280
Exercises 280
Summary 281
Chapter 8: Telling a Unix System What to Do 282
About Unix processes 283
The flag package 283
The io.Reader and io.Writer interfaces 289
Buffered and unbuffered file input and output 289
The bufio package 289
Reading text files 290
Reading a text file line by line 290
Reading a text file word by word 292
Reading a text file character by character 294
Reading from /dev/random 296
Reading the amount of data you want from a file 298
Why are we using binary format? 300
Reading CSV files 301
Writing to a file 304
Loading and saving data on disk 307
The strings package revisited 311
About the bytes package 313
File permissions 315
Handling Unix signals 316
Handling two signals 317
Handling all signals 319
Programming Unix pipes in Go 322
Implementing the cat(1) utility in Go 322
Traversing directory trees 324
Using eBPF from Go 327
About syscall.PtraceRegs 328
Tracing system calls 330
User ID and group ID 335
Additional resources 336
Exercises 337
Summary 338
Chapter 9: Go Concurrency – Goroutines, Channels, and Pipelines 339
About processes, threads, and goroutines 340
The Go scheduler 341
Concurrency and parallelism 341
Goroutines 342
Creating a goroutine 342
Creating multiple goroutines 344
Waiting for your goroutines to finish 346
What if the number of Add() and Done() calls do not agree? 348
Channels 350
Writing to a channel 350
Reading from a channel 352
Channels as function parameters 354
Pipelines 355
Additional resources 359
Exercises 359
Summary 360
Chapter 10: Go Concurrency – Advanced Topics 361
The Go scheduler revisited 362
The GOMAXPROCS environment variable 364
The select keyword 365
Timing out a goroutine 368
Timing out a goroutine – take 1 368
Timing out a goroutine – take 2 370
Go channels revisited 373
Signal channels 374
Buffered channels 374
Nil channels 377
Channel of channels 378
Specifying the order of execution for your goroutines 381
Shared memory and shared variables 384
The sync.Mutex type 385
What happens if you forget to unlock a mutex? 387
The sync.RWMutex type 389
Sharing memory using goroutines 393
Catching race conditions 395
The context package 401
An advanced example of the context package 405
Worker pools 410
Additional resources 415
Exercises 416
Summary 417
Chapter 11: Code Testing, Optimization, and Profiling 418
The Go version used in this chapter 419
Comparing Go version 1.10 with Go version 1.9 419
Installing a beta or RC version of Go 420
About optimization 422
Optimizing Go code 422
Profiling Go code 423
The net/http/pprof standard Go package 424
A simple profiling example 424
A convenient external package for profiling 432
The web interface of the Go profiler 434
A profiling example that uses the web interface 434
A quick introduction to Graphviz 437
The go tool trace utility 438
Testing Go code 444
Writing tests for existing Go code 445
Benchmarking Go code 449
A simple benchmarking example 449
A wrong benchmark function 455
Benchmarking buffered writing 456
Finding unreachable Go code 461
Cross-compilation 462
Creating example functions 464
Generating documentation 466
Additional resources 472
Exercises 473
Summary 474
Chapter 12: The Foundations of Network Programming in Go 475
About net/http, net, and http.RoundTripper 476
The http.Response type 476
The http.Request type 477
The http.Transport type 478
About TCP/IP 479
About IPv4 and IPv6 480
The nc(1) command-line utility 480
Reading the configuration of network interfaces 481
Performing DNS lookups 486
Getting the NS records of a domain 488
Getting the MX records of a domain 490
Creating a web server in Go 492
Profiling an HTTP server 495
Creating a website in Go 500
HTTP tracing 510
Testing HTTP handlers 513
Creating a web client in Go 516
Making your Go web client more advanced 518
Timing out HTTP connections 522
More information about SetDeadline 524
Setting the timeout period on the server side 525
Yet another way to time out! 527
Wireshark and tshark tools 529
Additional resources 529
Exercises 530
Summary 531
Chapter 13: Network Programming – Building Servers and Clients 532
The net standard Go package 533
A TCP client 533
A slightly different version of the TCP client 535
A TCP server 537
A slightly different version of the TCP server 539
A UDP client 542
Developing a UDP server 544
A concurrent TCP server 546
A handy concurrent TCP server 551
Remote Procedure Call (RPC) 557
The RPC client 558
The RPC server 559
Doing low-level network programming 561
Grabbing raw ICMP network data 564
Where to go next? 569
Additional resources 569
Exercises 570
Summary 571
Other Books You May Enjoy 572
Index 576

e-books shop

Who this book is for
This book is for amateur and intermediate Go programmers who want to take their Go
knowledge to the next level as well as for experienced developers in other programming
languages who want to learn Go without learning again how a for loop works.

Some of the information found in this book can be also found in my other book, Go Systems
Programming by Packt Publishing. The main difference between these two books is that Go
Systems Programming is about developing system tools using the capabilities of Go, whereas
Mastering Go is about explaining the capabilities and the internals of Go in order to become
a better Go developer. Both books can be used as a reference after reading them for the first
or the second time.

Information Resources Management Association


Mehdi Khosrow-Pour, DBA
Information Resources Management Association, USA

Associate Editors

Steve Clarke, University of Hull, UK
Murray E. Jennex, San Diego State University, USA
Annie Becker, Florida Institute of Technology, USA
Ari-Veikko Anttiroiko, University of Tampere, Finland

Editorial Advisory Board

Sherif Kamel, American University in Cairo, Egypt
In Lee, Western Illinois University, USA
Jerzy Kisielnicki, Warsaw University, Poland
Amar Gupta, Arizona University, USA
Craig van Slyke, University of Central Florida, USA
John Wang, Montclair State University, USA
Vishanth Weerakkody, Brunel University, UK

e-books shop
e-books shop
Purchase Now !
Just with Paypal

Book Details
 388 p
 File Size 
 6,442 KB
 File Type
 PDF format
 2018 by IGI Global  

The constantly changing landscape surrounding the Dark Web makes it challenging for experts and
practitioners to stay informed of the field’s most up-to-date research. That is why IGI Global is pleased
to offer this one-volume comprehensive reference collection that will empower students, researchers, and academicians with a strong understanding of these critical issues by providing both broad and detailed perspectives on cutting-edge theories and developments. This compilation is designed to act as a single reference source on conceptual, methodological, and technical aspects, as well as to provide insight into emerging trends and future opportunities within the discipline.

is organized into four sections that provide
comprehensive coverage of important topics. The sections are:
1. Cyber Crime and Security
2. Data Mining and Analysis
3. Online Identity
4. Web Crawling
The following paragraphs provide a summary of what to expect from this invaluable reference source:
Section 1, “Cyber Crime and Security,” opens this extensive reference source by highlighting the
latest developments in criminal activity in the cyber sphere. Through perspectives on online terrorism,
cyberbullying, and policy implementation, this section demonstrates emerging trends in cybercrime. 
The presented research facilitates a better understanding of criminal activity in digital settings.
Section 2, “Data Mining and Analysis,” includes chapters on strategies for extracting digital data and
information. Including discussions on the Hidden Web, information retrieval, and the Deep Web, this
section presents research on emerging trends in harvesting digital information. 
This inclusive information assists in advancing current practices in data mining and analysis techniques.
Section 3, “Online Identity,” presents coverage on the creation and protection of digital identities in
modern society. Through innovative discussions on electronic profiling, anonymity, and online communities, this section highlights the changing landscape of identity in digital environments. These inclusive perspectives contribute to the available knowledge on virtual settings and personal identification.
Section 4, “Web Crawling,” discusses coverage and research perspectives on Internet browsers.
Through analyses on search engines, information extraction, and Deep Web crawling, this section contains pivotal information on the latest developments in web crawlers. The presented research facilitates a comprehensive understanding of how emerging innovations are optimizing search engine architectures.

Table of Contents
Section 1
Cyber Crime and Security
Chapter 1
The Malevolent Side of Revenge Porn Proclivity: Dark Personality Traits and Sexist Ideology............ 1
Afroditi Pina, University of Kent, UK
James Holland, University of Kent, UK
Mark James, University of Kent, UK
Chapter 2
Contemporary Terror on the Net........... 18
Emily Stacey, Swansea University, UK
Chapter 3
Dysfunctional Digital Demeanors: Tales From (and Policy Implications of) eLearning’s 
Dark Side.......... 37
Alexander G. Flor, University of the Philippines (Open University), Philippines
Benjamina Gonzalez-Flor, University of the Philippines – Los Baños, Philippines
Chapter 4
How to Become a Cybercriminal? An Explanation of Cybercrime Diffusion..... 51
Jean-Loup Richet, University of Nantes, France
Section 2
Data Mining and Analysis
Chapter 5
Optimal Query Generation for Hidden Web Extraction Through Response Analysis.... 65
Sonali Gupta, YMCA University of Science & Technology, India
Komal Kumar Bhatia, YMCA University of Science & Technology, India
Chapter 6
The Evolution of the (Hidden) Web and Its Hidden Data....... 84
Manuel Álvarez Díaz, University of A Coruña, Spain
Víctor Manuel Prieto Álvarez, University of A Coruña, Spain
Fidel Cacheda Seijo, University of A Coruña, Spain
Chapter 7
Deep Web Information Retrieval Process: A Technical Survey..... 114
Dilip Kumar Sharma, G.L.A. Institute of Technology and Management, Mathura, India
A. K. Sharma, YMCA University of Science and Technology, Faridabad, India
Chapter 8
The Contribution of Information Science Through Intellectual Property to Innovation in the
Brazilian Health Sector....... 138
Adelaide Maria de Souza Antunes, National Institute of Industrial Property (INPI), Brazil &
Federal University of Rio de Janeiro (UFRJ), Brazil
Flavia Maria Lins Mendes, Federal University of Rio de Janeiro, Brazil
Suzanne de Oliveira Rodrigues Schumacher, Federal University of Rio de Janeiro, Brazil
Luc Quoniam, Aix-Marseille Université, France
Jorge Lima de Magalhães, Ministry of Health, Brazil & Aix-Marseille Université, France
Chapter 9
Harvesting Deep Web Data Through Produser Involvement...... 175
Tomasz Kaczmarek, Poznań University of Economics, Poland
Dawid Grzegorz Węckowski, Poznań University of Economics, Poland
Chapter 10
Web Harvesting: Web Data Extraction Techniques for Deep Web Pages.... 199
B. Umamageswari, New Prince Shri Bhavani College of Engineering and Technology, India
R. Kalpana, Pondicherry Engineering College, India
Chapter 11
Effectiveness of Web Usage Mining Techniques in Business Application.... 227
Ahmed El Azab, Institute of Statistical Studies and Research, Egypt
Mahmood A. Mahmood, Institute of Statistical Studies and Research, Egypt
Abd El-Aziz, Institute of Statistical Studies and Research, Egypt
Section 3
Online Identity
Chapter 12
In Plaintext: Electronic Profiling in Public Online Spaces..... 255
Shalin Hai-Jew, Kansas State University, USA
Chapter 13
Becoming Anonymous: A Politics of Masking....... 290
Maria-Carolina Cambre, King’s University College at Western University Ontario, Canada
Section 4
Web Crawling
Chapter 14
Design of a Least Cost (LC) Vertical Search Engine Based on Domain Specific Hidden Web
Crawler...... 319
Sudhakar Ranjan, Apeejay Stya University, India
Komal Kumar Bhatia, YMCA University of Science & Technology, India
Chapter 15
A Novel Architecture for Deep Web Crawler........ 334
Dilip Kumar Sharma, Shobhit University, India
A. K. Sharma, YMCA University of Science and Technology, India
Chapter 16
Search Engine: A Backbone for Information Extraction in ICT Scenario..... 359
Dilip Kumar Sharma, Shobhit University, India
A. K. Sharma, YMCA University of Science and Technology, India
Index........... 375

e-books shop

Build Responsive SPAs with Bootstrap 4, Vue.js 2, and Firebase

Olga Filipova

e-books shop
e-books shop
Purchase Now !
Just with Paypal

Book Details
 310 p
 File Size 
 6,048 KB
 File Type
 PDF format
 2017 Packt Publishing 

About the Author
Olga Filipova was born in Kyiv, in Ukraine. She grew up in a family of physicists,
scientists, and professors. She studied system analysis in the National University of
Ukraine Kyiv Polytechnic Institute. At the age of 20, she moved to Portugal, where
she did her bachelors' and masters' degrees in computer science from the University
of Coimbra. During her studies, she participated in the research and development
of European projects and became an assistant teacher of operating systems and
computer graphics subjects. After obtaining her masters' degree, she started working
at Feedzai. At that time, it was a small team of four, starting the development of a
product from scratch, and now, it is one of the most successful Portuguese startups.
At some point, her main responsibility became to develop a library written in
JavaScript whose purpose was to bring data from the engine to the web interface.
This marked Olga's main direction in tech: web development. At the same time, she
continued her teaching practice, giving a course of professional web development to
the local professional education center in Coimbra.

In 2013, along with her brother and her husband, she started an educational project
based in Ukraine. This project's name is EdEra and it has grown up from a small
platform of online courses into a big player at the Ukrainian educational system
scene. Currently, EdEra is moving towards an international direction and preparing
an awesome online course about IT. Don't miss it!

In 2014, Olga, with her husband and daughter, moved from Portugal to Berlin, where
she started working at Meetrics as a frontend engineer and, after a year, became
the team lead of an amazing team of frontend software developers. Currently Olga
works in a fintech company called OptioPay as a lead frontend engineer.
Olga is happily married to an awesome guy called Rui, who is also a software
engineer. Rui studied with Olga at the university of Coimbra and worked with her
at Feedzai. Olga has a smart and beautiful daughter, Taissa, a fluffy cat, Patusca, and
two fluffiest chinchillas, Barabashka and Cheburashka.

About the Reviewer
Jan-Christian Nikles had already started tinkering around with computers in his
teenage years and had developed a strong passion for it. After graduating from high
school, he first followed a different path and studied audio engineering, since music
plays a big role in his life.

He worked in this business for several years, mostly in television production. But
soon enough, he found his way back to his old passion.

Graduating in media computer science at the Beuth University of Applied Science,
Berlin, in 2013, Jan worked in multiple companies—agency work, early-stage startups,
and, most recently, at Meetrics. While coming from a fullstack background
originally, he specialized in frontend development with cutting-edge technologies.

The fast paced JavaScript ecosystem both overwhelmed and fascinated him, but
his fascination lasted eventually. He saw the whole thing starting from Vanilla JS,
over the big, messy jQuery era, leading to very sophisticated frameworks that make
JavaScript development such a pleasure these days. Jan lives and works in Berlin,
Germany, always looking for new and interesting projects.

This book is about web development using Vue.js, Bootstrap, and Firebase. We will
start with a simple tutorial, followed by the detailed explanation of it, and then,
we will create a fully functional application from scratch. The application itself is
a simple Pomodoro timer with integrated office workouts during the Pomodoro
breaks. Throughout the book, you will go through the whole software development
process, starting from the definition of requirements, user stories, and mockups,
proceeding to the basic scaffolding, and followed by enriching the application with
complex features such as authentication, routing, collaborative content, and finishing
thorough testing and deployment. You will learn how to use Firebase to implement
the authentication and storage for your Vue application and, in the end, how to
deploy it. You will enjoy using Bootstrap along with your Vue application in order
to easily implement complex components and achieve their responsiveness. You
will revisit your trigonometry knowledge by having fun in using it with SVG and
Vue.js to build a reactive timer component. So, technology-wise, we will cover as the
following topics:
• Vue.js data binding and single file components
• Routing using vue-router
• Server-side rendering and code splitting using nuxt.js
• Testing with jest
• Real-time databases with Firebase
• Authentication using Firebase Authentication
• Deployment using Firebase
• Combining SVG, trigonometry, and Vue.js in reactive components
In the end, you will have your fully functional and fun Pomodoro application ready
to use on a daily basis and to keep you fit at your workplace.

Table of Contents
Preface v
Chapter 1: Please Introduce Yourself – Tutorial 1
Hello, user 1
Creating a project in the Firebase console 2
Adding a first entry to the Firebase application database 3
Scaffolding a Vue.js application 4
Connecting the Vue.js application to the Firebase project 6
Adding a Bootstrap-powered markup 10
Adding a form using Bootstrap 13
Making things functional with Vue.js 14
Adding utility functions to make things look nicer 17
Exercise 19
Extracting message cards to their own component 19
Exercise 21
Deploying your application 22
Extra mile – connecting your Firebase project to a custom domain 24
Summary 25
Chapter 2: Under the Hood – Tutorial Explained 27
Vue.js 28
Vue project – getting started 31
Including directly in script 31
CDN 31
NPM 31
Vue-cli 31
Vue directives 32
Conditional rendering 33
Text versus HTML 34
Loops 37
Binding data 38
Handling events 41
Vue components 46
Exercise 52
Vue router 53
Vuex state management architecture 57
Bootstrap 66
Bootstrap components 67
Bootstrap utilities 70
Bootstrap layout 70
Combining Vue.js and Bootstrap 71
Exercise 73
Combining Vue.js and Bootstrap continued 74
What is Firebase? 75
Summary 78
Chapter 3: Let's Get Started 79
Stating the problem 80
Gathering requirements 81
Personas 82
User stories 84
Retrieving nouns and verbs 85
Nouns 86
Verbs 86
Mockups 88
The first page – login and register 90
The main page displaying the Pomodoro timer 91
Workout during the break 92
Settings 93
Statistics 94
Workouts 95
Logo 96
Summary 97
Chapter 4: Let It Pomodoro! 99
Scaffolding the application 99
Defining ProFitOro components 101
Exercise 106
Implementing the Pomodoro timer 106
SVG and trigonometry 107
Exercise 116
Implementing the countdown timer component 117
Responsiveness and adaptiveness of the countdown
timer using Bootstrap 119
Countdown timer component – let's count down time! 122
Exercise 128
Pomodoro timer 128
Exercise 131
Introducing workouts 133
Summary 135
Chapter 5: Configuring Your Pomodoro 137
Setting up a Vuex store 137
Defining actions and mutations 145
Setting up a Firebase project 149
Connecting the Vuex store to the Firebase database 150
Exercise 155
Summary 155
Chapter 6: Please Authenticate! 157
AAA explained 157
How does authentication work with Firebase? 158
How to connect the Firebase authentication API to a web
application 161
Authenticating to the ProFitOro application 162
Making the authentication UI great again 168
Managing the anonymous user 171
Personalizing the Pomodoro timer 173
Updating a user's profile 177
Summary 182
Chapter 7: Adding a Menu and Routing Functionality Using
vue-router and Nuxt.js 183
Adding navigation using vue-router 185
Exercise - restrict the navigation according to the authentication 188
Using Bootstrap navbar for navigation links 189
Code splitting or lazy loading 194
Server-side rendering 196
Nuxt.js 196
Adding links with nuxt-link 200
Exercise – making the menu button work 203
Nuxt.js and Vuex store 203
Nuxt.js middleware 204
Exercise – finish 'em all! 205
Summary 206
Chapter 8: Let's Collaborate – Adding New Workouts
Using Firebase Data Storage and Vue.js 207
Creating layouts using Bootstrap classes 208
Making the footer nice 210
Storing new workouts using the Firebase real-time database 211
Storing images using the Firebase data storage 216
Let's search! 220
Using a Bootstrap modal to show each workout 223
Exercise 227
It's time to apply some style 227
Summary 231
Chapter 9: Test Test and Test 233
Why is testing important? 235
What is Jest? 236
Getting started with Jest 236
Coverage 239
Testing utility functions 240
Mocking with Jest 242
Testing Vuex store with Jest 246
Testing mutations 247
Asynchronous testing with Jest – testing actions 248
Making Jest work with Vuex, Nuxt.js, Firebase,
and Vue components 254
Testing Vue components using Jest 256
Snapshot testing with Jest 259
Summary 263
Chapter 10: Deploying Using Firebase 265
Deploying from your local machine 265
Setting up CI/CD using CircleCI 268
Setting up staging and production environments 276
What have we achieved? 279
Summary 280
Index 283

e-books shop

Who this book is for
This book is for web developers or for someone who wants to become one. You will
build a full-stack web application from scratch until its deployment. Even if you are
an experienced programmer, you will probably find something new for yourself. If
you are working with Vue.js, you will find out how to connect a Vue.js application to
the Google Firebase backend. If you work with Bootstrap, you will learn how nicely
it plays along with a Vue.js application. If you already work with Vue.js, Bootstrap,
and Firebase, you will find out how to leverage the power of these three things to
easily build complex applications. If you already use these technologies together,
you will have fun building yet another application during the course of this book.

What you need for this book
The requirements for this book are as follows:
• A computer with an active internet connection
• Text editor/IDE
• Node.js
Loading... Protection Status