teleren/devto huggingface dataset:
Devart Excel Add-ins 2.3 Now Support QuickBooks OAuth 2.0
Tags: quickbooks, oauth, excel, database
Published: 2020-01-29 15:52:38

---
title: Devart Excel Add-ins 2.3 Now Support QuickBooks OAuth 2.0
published: true
description: Devart announced the release of Excel Add-ins with support for OAuth 2.0 and other improvements for QuickBooks.
tags: QuickBooks, OAuth, Excel, database
---

*Devart announced the release of Excel Add-ins with support for OAuth 2.0 and other improvements for QuickBooks.*

Devart, a recognized vendor of cloud and database data management software and developer tools, released the new version of [Excel Add-ins 2.3](https://www.devart.com/excel-addins/) with support for QuickBooks OAuth 2.0 authentication and other improvements for QuickBooks.

The new version of Excel Add-in for QuickBooks allows users to connect to QuickBooks using OAuth 2.0 authentication. Besides, the connections to the Sandbox environment can be set much easier by selecting the environment in the main Connection Editor dialog box.

Recently, Intuit stopped supporting OAuth 1.0 by switching to the OAuth 2.0 protocol, which lets applications access specified user data without requiring access to a user’s private credentials. In the light of these circumstances, the latest Devart Excel Add-in update will be quite handy. 

Devart Excel Add-ins allow users to work with database and cloud data in Microsoft Excel as with usual Excel spreadsheets. External data can be edited as it usually made in Excel and then saved back to the data source.

**About Devart**

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
For additional information about Devart, visit https://www.devart.com/
The Beginner's Guide To MongoDB Aggregation Pipeline Part 1
Tags: mongodb, database, node
Published: 2020-01-29 15:46:53

In this series, I will try to demystify the MongoDB Aggregation framework which is a powerful tool that MongoDB offers and gives you great instruments to work with documents in your collection. Using the aggregation framework, you can easily group documents in your collection by specific conditions. you can also add additional fields during grouping such as average, total, minimum, maximum and so on. You can process documents in your collection in several stages one by one. Aggregation request is very fast and you can get results very quickly. I will start this series with some theoretical stuff to aid our understanding before we dive into looking at some examples. We will look into different aggregation requests on our collections and you will see the full power of the MongoDB aggregation framework.

We need a sample collection to perform this aggregation requests. I have provided an array of documents [Here](https://gist.github.com/calvin-puram/9941f11d0359cc0ba81e52727ce625fd) which you can copy the documents.

```
db.names.insertMany(documents)
```
make sure you create a database run the above command replace the "documents" with the array of data you copy from the gist. I will assume that you have worked with MongoDB performing basic CRUD operations, and you have MongoDB setup and installed in your system.

### Aggregation Process
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/mwzsk8v2osi67gbvmkzx.jpg)

Suppose we have some documents at the beginning of the aggregation, first we can perform match operation. This match query can produce a subset of the documents. Then, you can take the subset of that document and perform a group operation. As a result of the group operation, you will get brand new documents. These documents are matched and grouped based on certain conditions. for example you may want to match documents based on countries of persons in your collections and you may want to group them based on gender. So in a nutshell aggregation is just like a pipeline in which we have a large set of documents that passes through various stages and these documents get evaluated based on the conditions you placed on them till you have a new set of documents that matched the criteria. This is just a high-level overview. Later in these series, we will dive deeper into details of what it entails.
Should node be used for general dev tools?
Tags: discuss, webdev, node
Published: 2020-01-29 15:43:22

JavaScript and TypeScript are really popular nowadays. Why shouldn't they? There is a huge community for both of them. So it is only natural that also development tools are written in node. 

On the one hand this is good for maintenance, because there is a big community that is possible able to maintain it. On the other hand those tools force the user to have node in specific version installed (what you cant always do). 

Wouldn't it be better to leverage another technology to be able to publish those tools as binaries? This of course has also a lot of disadvantages, too. So what do you think?
Good sources (courses, books, sites) on database design and data modeling?
Tags: database, design, sql
Published: 2020-01-29 15:37:19

Hi, everyone! Hope everyone is well. I am new to the community! I am currently in search of some sound resources on database design and data modeling. It would be nice to find some sources that include both theory and a couple of case studies showcasing the implementation of good data modeling design practices/patterns. Anything helps! Thanks in advance!
Harmony Modern Slim Boilerplate
Tags: php, slim3, eloquent, mvcframework
Published: 2020-01-29 15:34:00

---
title: Harmony Modern Slim Boilerplate
published: true
description: Built with Slim Framework - Harmony Framework allows you to use Eloquent ORM, and Interact with your application via Harmony Tinker!
tags: PHP, Slim3, Eloquent, MVC Framework
---


![Harmony Framework](https://image.ibb.co/eEhZdb/harmony_tinker.png "Harmony Framework")

[![Latest Stable Version](https://poser.pugx.org/harmony-betta/harmony/v/stable)](https://packagist.org/packages/harmony-betta/harmony) 
[![Total Downloads](https://poser.pugx.org/harmony-betta/harmony/downloads)](https://packagist.org/packages/harmony-betta/harmony)
[![License](https://poser.pugx.org/harmony-betta/harmony/license)](https://packagist.org/packages/harmony-betta/harmony)

### Harmony Framework By Betta Dev Indonesia
Built with Slim Framework - Harmony Framework allows you to use Eloquent ORM, and Interact with your application via Harmony Tinker!

### Get Started

    composer create-project --prefer-dist harmony-betta/harmony project-name -vvv

### Install Harmony as Globally

when you install Harmony globally then you no longer need to repeat commands `create-project` composer.

    composer global require "harmony-betta/installer"

*Make sure to place the ~/.composer/vendor/bin directory in your PATH so the Harmony executable can be located by your system.*

if the installation is complete please type the command in your Terminal / Command Prompt as follows:

	harmony --version

Now you can install using Harmony Installer

	harmony new harmony-project

define the name of your project at the end of the command like `harmony new your-project-name`

#### Free Guide Harmony Framework

 - Hamrony Documentations
 	- [Harmony Docs (English)](https://harmony-betta.github.io)
Just released: dadjokes microservice for testing
Tags: kubernetes, microservices, devops, php
Published: 2020-01-29 15:19:14

Just a sample, funny, little microservice used for testing Kong API Gateway, Kubernetes, K8s, Docker, Kuma Service mesh, Istio Service Mesh, etc. Deployment examples up on git hub.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0ckh82ned3gipoy2o03m.jpg)


https://github.com/yesinteractive/dad-jokes_microservice

```json
{
  "Jokes": {
    "Opener": "What did the mountain climber name his son?",
    "Punchline": "Cliff"
  }
}
```

### Deployment Examples ###

See usage examples for Kubernetes, Kong for Kubernetes Ingress Controller, and docker-compose in the [examples directory folder.](https://github.com/yesinteractive/dad-jokes_microservice/blob/master/examples)

### With Docker ###

Docker image is Alpine 3.9 based running on Apache. The containter exposes both ports 80 an 443 with a self signed certificated. If you wish to alter the container configuration, feel free to use the Dockerfile in this repo (https://github.com/yesinteractive/dad-jokes_microservice/blob/master/Dockerfile). Otherwise, you can pull the latest image from DockerHub with the following command:
```
docker pull yesinteractive/dadjokes
```
Typical basic usage:

```
docker run -it yesinteractive/dadjokes
```

Typical usage in Dockerfile:

```
FROM yesinteractive/dadjokes
RUN echo <your commands here>
```
What's new in pandas 1.0?
Tags: python, machinelearning, datascience
Published: 2020-01-29 15:09:07

Pandas 1.0.0 has been released. In this post, I have compiled the list of important changes that have been made.

## Faster df.apply()
Apply now supports an engine key that allows the user to execute the routine using Numba instead of Cython. For rows greater than 1 million, the Numba engine can yield a significant increase in speed.

## Dedicated string data type
String data type is now separate from the object data type. String data type is still experimental and probably shouldn't be used in production code. But it's nice to see a dedicated string type in the dataset. Also, in cases where you need to differentiate the string and object data types in the data, this change will come in handy. 

## NA singleton to denote missing values
Pandas used several values to represent missing data: 
- np.nan for float data 
- np.nan or None for object-dtype data 
- pd.NaT for datetime-like data. 

pd.NA provides a “missing” indicator that can be used consistently across data types. 

## Markdown table 
The data frame can now be printed as a markdown table using `df.to_markdown()`
<img src="https://dev-to-uploads.s3.amazonaws.com/i/ur1xyna7w3llkvmamwo4.png" alt="markdown table" width="300">

## Better summary with DataFrame.info()
The dataframe summary now uses a more readable style 

<img src="https://dev-to-uploads.s3.amazonaws.com/i/61dql8jufadikte0bkll.png" alt="markdown table" width="300">

You can use `pip install pandas==1.0.0rc0` to install pandas 1.0 into your python environment.
Does the JAMstack still use servers?
Tags: jamstack, jamuary
Published: 2020-01-27 20:38:47

A common contention around the JAMstack paradigm is that the lack of servers is a misnomer. Though the JAMstack ethos claims to *serve content without web servers*, servers still play a crucial role in the JAMstack when it comes to executing and serving content statically. Taken at face value, the assertion to move away from servers is a touch misleading. However, the main premise of the JAMstack is a departure from traditional approaches to web development where content is rendered dynamically on a server. On the JAMstack, content is instead pre-rendered and hosted statically from a CDN. The server (in the traditional sense) only ever runs at build time and sends static assets to the CDN which caches them for delivery upon request.

It’s worth noting that there is a distinction between a CDN and a traditional web server. A CDN or content delivery network, helps speed up the access and delivery of website assets via a distributed network of edge servers. Compared to a web server, an edge server is an entry point into a network and serves as a connection between disparate networks. As a result of its existence at the “logical extreme” of a network, (static) content lives as close as possible to a user and can be served up with minimal latency and/or page load time. This is in contrast to origin servers where 100% of content is rendered on the fly for every single request. When relying on an origin server for content, latency becomes an issue since every request must be routed through to the physical location of the origin server regardless of where that request comes from. Because internet traffic is limited to the speed of light, the further a user is from an origin server, the longer the request time. By serving content statically from a CDN, the JAMstack therefore speeds up request times drastically, thereby giving users a lightning fast experience.
New Photo Gallery Tutorial for Angular, React, and Capacitor
Tags: tutorial, angular, capacitor, react
Published: 2020-02-12 02:42:29

---
title: New Photo Gallery Tutorial for Angular, React, and Capacitor
published: true
date: 2020-01-29 14:49:35 UTC
tags: tutorial,Angular,Capacitor,React
canonical_url: https://ionicframework.com/blog/new-photo-gallery-tutorial-for-angular-react-and-capacitor/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/tx9dx9152ggcavkbho38.png
---

A new “Your First Ionic App” tutorial for Angular and React are now available! Learn the fundamentals of Ionic app development by creating a real app step by step.

In the tutorial, you’ll create a cross-platform Photo Gallery app: take photos with your device's camera, display them in a grid, and store them permanently on the device.

<!--more-->

Highlights include:

* One codebase that runs on the web, iOS, and Android using Ionic Framework [UI components](https://ionicframework.com/docs/components).
* Deployed as a native iOS and Android mobile app using [Capacitor](https://capacitor.ionicframework.com), Ionic's official native app runtime.
* Photo Gallery functionality powered by the Capacitor [Camera](https://capacitor.ionicframework.com/docs/apis/camera), [Filesystem](https://capacitor.ionicframework.com/docs/apis/filesystem), and [Storage](https://capacitor.ionicframework.com/docs/apis/storage) APIs.
* Improve your development speed by leveraging [Live Reload](https://ionicframework.com/docs/cli/livereload) to write, build, test, and deploy code. Incredibly useful for debugging native plugins on a device!

Here's the app running on all 3 platforms:

<iframe width="560" height="315" src="https://www.youtube.com/embed/0ASQ13Y1Rk4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

It’s easy to get started: 

🅰️ Angular: [Tutorial](https://ionicframework.com/docs/angular/your-first-app) and complete [source code](https://github.com/ionic-team/photo-gallery-capacitor-ng)

⚛️ React: [Tutorial](https://ionicframework.com/docs/react/your-first-app) and complete [source code](https://github.com/ionic-team/photo-gallery-capacitor-react)

Happy app building! 💙
Decode a Binary Message using JavaScript
Tags: javascript, tutorial
Published: 2020-01-29 14:39:10

---
title: Decode a Binary Message using JavaScript
published: true
description: Learn how easy it is to decode a Binary Message using JavaScript
tags: javascript, tutorial
---

Today I passed 14k subs on [Twitter](https://twitter.com/florinpop1705) and as usual I wrote a tweet to thank all the people who support me on this journey. 

But this time I did something different. Instead of staying: `14,000`, I've put the number in binary: `11011010110000`. 

And something fun happened...

My good friend [Mike](https://twitter.com/DRFR0ST) replied with a message that was in binary format. 🙈

{% twitter 1222444661458993152 %}

That's something he would obviously do (because he's a hacker 😆).

So now... I had to decode it.

Here is a Video Tutorial if you are interested to see how I did it:

{% youtube 7b4BwdjrxdU %}

...

Or for you "lazier" people out there, here is the code:

```js
// storing the message
const mes =
	'01011001 01101111 01110101 00100000 01100001 01110010 01100101 00100000 01110111 01100101 01101100 01100011 01101111 01101101 01100101';

const res = mes
    // split the string into an array of strings (removing the ' ')
    .split(' ')
    // map over the substrings and convert them to numbers
    .map(b => parseInt(b, 2))
    // map over again to convert the numbers to characters
    .map(num => String.fromCharCode(num))
    // join the characters back into a string
	.join('');

// getting the answer
console.log(res);
```

I hope you enjoyed this little tutorial!

Happy Coding! 😇
Discord Bot on 1 Tweet
Tags: nim
Published: 2020-01-29 14:35:49

---
title: Discord Bot on 1 Tweet
published: true
description: Async Discord Bot on 1 Tweet
tags: nim
---

{% twitter 1222511481872404480 %}


```nim
import asyncdispatch, discordnim

let bot = newShard("Bot KEY")  # KEY is a valid Discord "Token" Key

proc f(b: Shard, m: MessageCreate) =  # Async Event Handler 
  discard b.channelMessageSend(m.channel_id, m.content)

discard bot.addHandler(EventType.message_create, f) # Hook Handler

waitFor bot.startSession()  # Run Bot

```

- Ideally you need to add `asyncCheck` instead of `discard`, and a `disconnect()` at exit for the bot, but basically is a working async chat bot!.

```nim
import asyncdispatch, os, discordnim

let bot = newShard("Bot " & getEnv("DISCORD_TOKEN"))  # DISCORD_TOKEN is a valid Discord "Token" Key

proc callback(bot: Shard, mesage: MessageCreate) =  
  ## Async Event Handler 
  if mesage.author.id != bot.cache.me.id: # Bot wont reply itself
    echo mesage.content
    case mesage.content # case switch on message content
    of "!help":         # message content is "!help"
      asyncCheck bot.channelMessageSend(mesage.channel_id, "Some help")
    of "!ping":         # message content is "!ping"
      asyncCheck bot.channelMessageSend(mesage.channel_id, "pong")
    else:               # message content is something else                 
      asyncCheck b.channelMessageSend(mesage.channel_id, mesage.content)

        
discard bot.addHandler(EventType.message_create, callback) # Hook Handler


when isMainModule:
  try:
    echo "Starting Discord Bot"
    waitFor bot.startSession() # Run Bot
  finally:
    echo "Stopping Discord Bot"
    waitFor bot.disconnect()   # Stop Bot

```


# Discordnim

- The objects and API are on the `discordnim` lib.

{% github Krognol/discordnim %}


# Social

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vsu7vvotyu9djkw8yys5.png)

- Say *Hi* on the bridged [Gitter](https://gitter.im/nim-lang/Nim), [Matrix](https://matrix.to/#/#freenode_#nim:matrix.org), [Telegram](https://t.me/nim_lang), [IRC](irc://freenode.net/nim), [Discord](https://discord.gg/ezDFDw2).
- [Si hablas Espanol te esperamos en el Chat.](https://t.me/NimArgentina)
Daily Challenge #175 - Complementary DNA
Tags: challenge
Published: 2020-01-29 14:30:26

---
title: Daily Challenge #175 - Complementary DNA
published: true
series: Daily Challenge
description: Write a function to return the complementary DNA string. 
tags: challenge
---
###Setup
Deoxyribonucleic acid (DNA) is a chemical found in the nucleus of cells and carries the "instructions" for the development and functioning of living organisms. 

In DNA strings, symbols `"A" and "T"` and `"C" and "G"` are complements of each other. *Implement a function `DNA_strand` to match the given side of DNA with its complementary side.*

###Examples
`DNA_strand("ATTGC")` # return `TAACG`
`DNA_strand("GTTAAC")` # return `CAATTG`

###Tests
`DNA_strand("AAAA")`
`DNA_strand("CTACC")`
`DNA_strand("GTAT")`

Good luck!

***
_This [challenge](https://www.codewars.com/kata/554e4a2f232cdd87d9000038) comes from JustyFY on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Golang loops
Tags: go, beginners
Published: 2020-01-29 14:20:20

A loop lets you repeat code. There are different types of loops, one of them is a for loop. For loops in <a href="https://golang.org/">Go (golang)</a> are more similar to C/Java than Python. In Python the syntax is

    for i in range(1,10):

In C/Java the syntax is

    for (i = 1; i <= 10; i++) {

But in Golang

    for i := 1; i <= 10; i++ {

So it's inspired by those languages. 

## For loop explained

In the above program, what does it mean?
First the initial value of variable i is 1.

    i := 1;

The conditional statement will checks if i <= 10.

    i <= 10;

If that is true it stops the loop. If not, it continues inside the loop.
The post statement adds 1 to i every iteration.

    i++

In other words, i++ is the same as i = i + 1

## Example

A program with a for loop counting from 1 to 10 becomes:

```go
package main

import (  
    "fmt"
)

func main() {  
    for i := 1; i <= 10; i++ {
        fmt.Printf(" %d",i)
    }
}
```

The other stuff is loading go, importing the fmt module and the main loop.
You can also use <a href="https://golangr.com/while/">while loops in golang</a>

**Related links:**
* <a href="https://golang.org/">Golang official website</a> 
* <a href="https://golangr.com/">Go tutorial</a>
How to create a full landing page:
Tags: webdev
Published: 2020-01-29 14:05:14

Hi Devto,

I want to share with all of us my website. Urltree allows you to share all of your favorite websites or files with a full landing page with own bio, avatar, colours, logo and everything for FREE!

Key Points:

You can upload your own logo.
You can upload your background image.
You can upload any type of files.
You can upload thumbnails.

And much more! 

Examples:
https://urltr.ee/alfonso
https://urltr.ee/pedroldi
https://urltr.ee/csyroy
https://urltr.ee/piath
AI in software testing 
Tags: ai, qa, testing, productivity
Published: 2020-01-29 14:03:42

Everyone speaks about the increasing adoption of artificial intelligence (AI) to boost the software testing process. At the same time, this adoption leads to new challenges from both a complexity and a skills perspective.

It is not easy to find specialists with these skills today. But what about the future when and more organizations start adopting AI? The rise of which professions, roles will we observe? Let's make some predictions. 

- AI test experts. Of course, this role is first on the list, if we speak about the synergy of AI and software testing. These specialists will have to combine traditional testing expertise with the solid understanding of natural-language processing techniques and machine-learning algorithms not to mention other tech skills. 
- AI QA strategists. Introducing AI into the business processes, there must be a person possessing both business and technical knowledge to set the procedure up and running.
- Data scientists. It's not an easy task to build models analyzing test data, applying predictive analytics and statistics. Data scientists with a deep understanding of data analysis techniques will be definitely high in demand.
 
What predictions for this niche do you have? 

http://ow.ly/RJog50xyUnX

#HireTester #AI #QA #softwaretesting
Why to use dynamic white-box testing?
Tags: qa, testing
Published: 2020-01-29 14:01:58

There are various classifications of test types, depending on the test objectives and methods. Dynamic white-box testing is used to test the internal design, code, and structure of a program by running it. Its main advantage is the maximum test coverage, the opportunity to find hidden errors and optimize the code. 

Dynamic white-box testing is also performed to confirm the software compliance with business requirements and is focused on three main aspects: 

1. Testing of the source code, separate software parts, low-level functions, and libraries.
2. Integration testing.
3. System testing. 

Do you use this type of testing to verify your software?

#HireTester #QA #SoftwareTesting #whiteboxtesting

http://hire-tester.com