teleren/devto huggingface dataset:
First steps from monolithic applications to microservices
Tags: monolithic, rest, service, mezon
Published: 2021-01-25 06:26:38

Best practises recommend us to start from monolithic applications and then step-by-step split into services and micriservices.

But what are these steps?

As for me I have descided that on the first step we shoud split our database in a set of smaller ones. Each database represents it's domain. And then make your application work with these databases.

![Splitting databases into domain based parts](https://dev-to-uploads.s3.amazonaws.com/i/94vg2smlpiz2o0ac1uij.png)

Modern frameworks provide necessary routine for this transformation.

For example in [Mezon Framework](https://github.com/alexdodonov/mezon):

```php
// setup connections
Conf::addConnectionToConfig('db1', 'dsn-string', 'user', 'password');
Conf::addConnectionToConfig('db2', 'dsn-string', 'user', 'password');
```
And somewere in your model class
```php
$this->getConnection('db1')->select(/* select parameters */);
$this->getConnection('db2')->select(/* select parameters */);
```
But you can ask me about comples SQL queries which operate with multiple tables, wich will be placed in different databases after our first step?

You can make the first step easier for you, because some database engines can use tables placed in different databases in one query. For example:

```sql
SELECT 
    mydatabase1.table1.field1, 
    mydatabse2.table2.field2
FROM 
   mydatabase1.table1
       INNER JOIN mydatabase2.table2
           ON mydatabase1.table1.field1 = mydatabase2.table2.field2
```

And it will work for a while. But sooner or later you will have to split it into two queries:

```php
// getting data from the first table of the first database
$result = $this->getConnection('db1')->select('select table1.field1 from table1 where ...');

$fields1 = Fetcher::getFields(result , 'field1');

// getting data from the second table of the second database and using data from the first query as a filter
$result = $this->getConnection('db2')->select('select table2.field2 from table2 where ... AND field2 in ('.implode(', ', fields1 ).')');
```
Of course you will get overhead, but don't worry - it will be bigger when you will use microservices ))

Thats all for now. Thumbs up, subscribe, and comment - I will be glad to see any feedback.

# Want more articles?
Subscribe me in [Twitter](https://twitter.com/mezonphp)

Or you can get access to my code on [github](https://github.com/alexdodonov/mezon)
ATMMalScan - ATM Malware traces
Tags: security, atm, bank, opensource
Published: 2021-01-25 06:26:31

ATMMalScan is a commandline tool for Windows operating systems version 7 and higher, which helps to search for malware traces on an ATM during the DFIR process. This tool examines the running processes of a system, as well as the hard disk, depending on the specified file path. To scan a system, a user with standard rights is sufficient. However, ATMMalScan provides the best results with administrator privileges.

[ATMMalScan – ATM Malware traces](https://kali-linuxtr.net/atmmalscan-atm-malware-traces)
What Is Day Trading Cryptocurrency?
Tags: discuss, question, tutorial
Published: 2021-01-25 06:25:09

Day trading is a trading strategy that is not only used in cryptocurrency trading but also used in stock trading. It involves holding an asset for just a few seconds, to a couple of hours. That implies that day traders make various purchases and sales in a single day. They work on the basic idea of selling the crypto before the end of the day in the hope to make a small but quick profit.

Day trading can be best applied with high volatility cryptocurrencies and traders aim to profit from market volatility and hopes to take advantage of even small market fluctuations. However, this is the cryptocurrency market and it is famous for being the most volatile market. 

So, when a trader is buying crypto with the hope that its prices will increase and he will make a profit, there are chances that the same does not happen. That means it is not necessary that crypto’s prices will rise, they may also fall. 

For Example, Mr.X buy some XRP because he thinks that its prices will rise in the next few minutes as he has just seen in the news that a big and famous U.S. company is going to use it for international transfers. However, it is not compulsory that prices will rise. It is possible that prices fall or prices do not change. 

So traders who are planning to use day trading strategy must be very careful. Plus, they should know the risk management techniques and should be very quick in responding to the changing prices. Otherwise, you may lose your invested money. Yes, day trading is that strategy that can help you to make ample profits in just a single day but it requires a lot of crypto trading knowledge and time. 
For more information regarding Cryptos, Blockchain Technology, Trading Strategies visit https://cointocurrency.com/blog
Intro to the Duction
Published: 2021-01-25 06:07:36

Hello Internet. I am currently studying Security and Risk Analysis in college. I am fascinated with all types of security and security/crime events around the world. I am have always been interested in security events and I would like to try to explain them in simple terms to people. I enjoy all types of security, from digital and cyber, to crime and terrorism. That is my goal with my platform, to try to explain things so everyday people can easily understand them. I plan to talk about some technology things as well. 

Some of my favorite classes I have taken have been centered around terrorism and crime, not because I like terrorism and crime. I disavow all criminals. I do enjoy learning about them and what makes them tick, again I don't support them. Anytime there is a crime event, I always read up on it and try to understand it from all sides, again I don't want be a criminal or condone their actions. This is an anti-crime blog. 

This video I made explains the latest terrorist attack in Baghdad, which was a double suicide bombing. I don't condone the beefturds who did this, by the way.
https://youtu.be/CLKIMJb45VY
Welcome to Mike Wagner Designs!
Published: 2021-01-25 06:07:22

###*About Me*
My name is Mike Wagner and I'm currently a junior at Penn State studying the Human Centered Design and Development major in IST. I'm from the Allentown, Pennsylvania area (since everyone knows and seems to reference Philly, I'm 45 minutes north of Philly). 

###*What I've Learned*
I'm very new to programming, the first time I ever started learning a language was the summer before sophomore year of college. Since then in the short 1 1/2 years, I've learned a multitude of languages, some of which I really enjoy. My favorites so far have been HTML, CSS and JavaScript but I've also learned a great deal of Java, MySQL and some Git commands.

Beyond programming languages, I enjoy learning about the HCI aspect of my major. I find it interesting how we interact with computers and there's principles based on making applications easier and more appealing to a user. I've had experience with a few design programs, such as; Figma, Adobe Xd and Photoshop.

###*Introduction Video*
Below is the link to my lab 1 video where I go through the "hidden" Adobe Creative Cloud that PSU students can get FREE (after you pay tuition of course) through Penn State. Creative Cloud is a very useful tool since you can download the full version of virtually any Adobe program for "free". 

https://youtu.be/pQQ3naY5t5o

@btopro Sounds like you're a fan of heavily caffeinated coffee. Check out [Death Wish Coffee](https://www.deathwishcoffee.com/). 5x stronger than a normal cup!
(not a promo just a friendly suggestion)
MVT Design Pattern In Django
Tags: django, python
Published: 2021-01-25 06:05:27

**MVT** stand for(Models-View-Template) is a software design pattern,basically it is collection of three main components 
called Model-View-Template

**Model**:
         It is a data access layer.It helps to maintaining data

**View**:
        It is buisness access layer.in this layer we can write 
        buisness logic,it handle communication between user and 
        database 

**Template**:
            Presentation layer in which handles User Interface 
            part completely

-----**Let's Understand How it's work**-----
Client send the request to django webserver and django sever accept it and then submit those request to urls where urls is act as a mapper to  redirect httprequest to relevent views based on requested url.And views acccept request and perform some instruction and finally return reponse back to client.Response might be (getting data from databse,or render html page or text),refer this answer to above image
Day22:100DaysOfCode

Tags: 100daysofcode, kotlin, programming, productivity
Published: 2021-01-25 05:42:04


some leetcode question 
daily scrum at intern(completed api integration part with retrofir and room db) in kotlin......
studied spring further 

more ques on trees nd prefix sum algo from codechef

lots of assignments :(


You can Follow me->
https://github.com/singhtaran1005
https://www.linkedin.com/in/taranpreet-singh-chabbra-27517918a/
Setting up RabbitMQ Cluster
Tags: queue, eventbasedarchitectu, devops, rabbitmq
Published: 2021-01-31 06:55:53

---
title: Setting up RabbitMQ Cluster
published: true
date: 2021-01-25 05:09:33 UTC
tags: queue,eventbasedarchitectu,devops,rabbitmq
canonical_url: https://medium.com/coinmonks/setting-up-rabbitmq-cluster-c247d61385ed
---

[![](https://cdn-images-1.medium.com/max/680/0*4u72bulnveTqRWLR.png)](https://medium.com/coinmonks/setting-up-rabbitmq-cluster-c247d61385ed?source=rss----721b17443fd5---4)

Overview

[Continue reading on Coinmonks »](https://medium.com/coinmonks/setting-up-rabbitmq-cluster-c247d61385ed?source=rss----721b17443fd5---4)
Display KPIs in FlexPivot
Tags: web, desktop, net
Published: 2021-01-28 15:17:36

---
title: Display KPIs in FlexPivot
published: true
date: 2021-01-25 05:00:00 UTC
tags: 
canonical_url: https://www.grapecity.com/blogs/display-kpis-in-flexpivot
---

This article introduces the new ComponentOne feature, FlexPivot for WinForms. The addition of this feature allows FlexPivot to display KPI-type data commonly found in multi-dimensional data sources like OLAP Cube and more.
An introduction to me! 
Published: 2021-01-25 04:58:15

Hi everyone! My name is Katie Walkowski and I am currently a Senior majoring in Health Policy and Administration as well as minoring in Security and Risk Analysis and Information Sciences and Technology - I like to keep busy! I have overall loved my experience at Penn State and am grateful to have found a major and minor(s) that I am passionate about. 

I am from just outside of Pittsburgh, PA. I'm the youngest of three and have two older step siblings who are very close with the rest of my family as well! Family is everything to me and a huge motivator for myself to succeed. I consider myself extremely lucky to have the support of my friends and family to always pursue my goals and dreams. 

That mentality has pushed me to always try new things, even if they are scary to me. At the beginning of the pandemic, I was encouraged to sell my art by friends and family which at first was a flat no in my head. I eventually listened to them and opened an Etsy store where I sometimes sell my art to strangers or more often I post on an art account and sell to my friends locally! It has been a very positive experience for me and something that I look forward to doing for myself. 

When I'm not creating art and at home in Pittsburgh, I work at a book factory more or less. I found myself working at this strange job to make money during winter break. I worked with books from the Library of Congress and then treated them with specific chemicals in order to prevent them from becoming brittle and ultimately preserving them. At first I genuinely hated this job but now it has turned me into somewhat of a history junkie. 

This is how I discovered what I would like to share with you all - Internet Archive. With my major being focused toward healthcare I do not have a lot of background in advanced technology websites but I still think a lot of you would find this website interesting. I was able to find this website with all of my free time :,). I hope you all enjoy discovering more about this website with me! 

Link - https://www.youtube.com/watch?v=_YKcrelpTwM&feature=youtu.be
How to access the previous route in your Angular app
Published: 2021-01-25 04:36:08

The blog is all about access the `previous route` in your Angular app. In a simple way this service work like:  

- it saves the current `url`, after that, when a `NavigationEnd` event fires. 

- it saves that `url` in a variable `previousUrl`, to be get in your component.

First create a new service `PreviousRouteService`. If you're using the `Angular CLI`, use the command `ng generate service previous-route` and add in your `app.module` file.


**Your service file will look like below:**

```js
import { Injectable } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';

@Injectable()
export class PreviousRouteService {

  private previousUrl: string;
  private currentUrl: string;

  constructor(private router: Router) {
    this.currentUrl = this.router.url;
    router.events.subscribe(event => {
      if (event instanceof NavigationEnd) {        
        this.previousUrl = this.currentUrl;
        this.currentUrl = event.url;
      };
    });
  }

  public getPreviousUrl() {
    return this.previousUrl;
  }    
}
```


**You can use in your component like below:**

To use the previous route `url` in your component, first importing the service:

```js
import { PreviousRouteService } from '../services/previous-route.service';
```

Inject it into the constructor like below:

```js
constructor(
  private previousRouteService: PreviousRouteService
) {}
```

Now you can access the previous url with `this.previousRouteService.getPreviousUrl()`.

```js
ngOnInit() {
  console.log(this.previousRouteService.getPreviousUrl());
}
```

Thank you for reading if any suggestion please comment below!!!

Happy Coding!!!
How to a build debian package
Tags: devops
Published: 2021-01-25 04:43:25

---
title: How to a build debian package
published: true
description: We look into how to build a Debian package from source after we have done some patching of a bug that we needed to solve in the original package. Debian is a great system with good tools for building packages.
tags: devops
cover_image: https://i.ytimg.com/vi/-QrvP1m7ReI/maxresdefault.jpg
---

{% youtube -QrvP1m7ReI %}

We look into how to build a Debian package from source after we have done some patching of a bug that we needed to solve in the original package. Debian is a great system with good tools for building packages.
Odoo Development Tutorial
Published: 2021-01-25 04:42:47

Learn the technical aspects of Odoo from the best in business. Cybrosys Technologies, the golden partner of Odoo offers courses for developers focusing on the technical aspects of the platform.
What you will learn?

- Learn to configure your Odoo
- Design and create modules
- The interrelation between models in Odoo
- Understand Inheritance aspects of Odoo
- Learn about decoration attributes of advanced views of the platform.

https://www.cybrosys.com/odoo-development-tutorial/
StateNotifier, an improved ChangeNotifier
Tags: dart, flutter, statemanagement, statenotifier
Published: 2021-01-25 04:36:58

---
title: StateNotifier, an improved ChangeNotifier
published: true
description: Another way to manage state
tags: dart, flutter, statemanagement, statenotifier
cover_image: https://images.unsplash.com/photo-1505299344687-ee45ad431f9b
---

> ⚠️ This article was deprecated. ⚠️
>
> Check out the updated full article on my personal [blog](https://marcossevilla.dev/state-notifier).

You can find even more and keep in contact with me on my socials:

- [GitHub](https://github.com/marcossevilla)
- [LinkedIn](https://www.linkedin.com/in/marcossevilla)
- [Twitch](https://www.twitch.tv/noscopedevs)
- [Twitter](https://twitter.com/MarcosJSevilla)
- [YouTube](https://www.youtube.com/noscopedevs)
Recursive functions
Published: 2021-01-25 04:28:15

Recursive functions are functions that call themselves over and over again until a base condition is met, eezy-peezy lemon squeezy... or is it?

Let start with some simple code to get the ball rolling

    function printDownFrom(num) {
      console.log(num)
      if(num > 1) {
        printDownFrom(num - 1) // recursive call
      }else {
        return true //base condition
      }
    }

    printDownFrom(4)
    //4
    //3
    //2
    //1


As you can see above, this is a function that takes in a number and the first line it is asked to print the number. The second line is determining whether that number is greater than 1, that way we can see if we can subtract from that number and print the number again because the goal or "base case" for this function is to count down all numbers starting with the condition inserted. 

After that line of code, if the condition is true we call our function from within our function telling it to run again, thus printing the next number after we subtracted. This process repeats until the first if statement condition is false breaking our recursion.


Lets do something a bit harder, what if we want to print all the letters individually from one to the next initially spelling out the word.

    function printString(string) {
      console.log(string[0]);
 
      if (string.length > 1) {
        let myNewString = string.substring(1, string.length);
      printString(myNewString); //recursive call
      } else {
       return true; //base case
      }
    }

Similar task to the above code, but changing a step we are calling the function based off the remainder of the string after we call the .substring method which removes the first letter because we are telling it to start from index 1 and not index 0. Each time we are reassigning myNewString with the new information and printing the first letter.

I hope this makes sense! Thank you all for reading, I hope you have a wonderful day.
Gradient Boosting Classifier
Tags: machinelearning, datascience
Published: 2021-01-25 04:11:36

<span>Photo by <a href="https://unsplash.com/@rodlong?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Rod Long</a> on <a href="https://unsplash.com/s/photos/ai?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>

In this post, I would like to show briefly how theoretical components given in the [gradient boost for classification](https://dev.to/xsabzal/gradient-boost-for-classification-2f15) are implemented in sklearn.

Gradient Boosting Classifier uses [regressor trees] (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier.decision_function). Meaning, we use mean squared error as splitting criteria and differentiable Loss function (Log - Loss by default). I guess the name of the regressor tree here comes from the Logistic regression Log-Loss function.

Let us see the first and last tree in the model ([repo reference](https://github.com/xs-abzal/Blogs_stat_examples/blob/master/Decision%20Tree%20Splitting%20Criterions.ipynb)). 

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

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

As we can see by iteratively building and fitting trees to the negative gradients of the Log-Loss Function (-G=Residuals =True_Probability - Predicted_Probability), each leaf gives an output value. 
Each ouput value is calculated like 
predicted_leaf_output = (sum of residuals in the leaf) / [sum of the (Predicted_Probability*(1-Predicted_Probability)].

Then using log of odds, we can convert it to the new probability:
log(new_odds) =log(previos_odds) + alpha * output_value
New_probability = e^log(new_odds)/[1+e^log(new_odds)].

Then we just use a loop to keep iteratively improve our prediction till we reach the maximum number of estimators or specified hyperparameters in the classifier.

When we need to predict for a new data, this data (number of known features with unknown label) will go through that trained model (n number of fitted trees), and using the above formula probability will be calculated and Class 0 or 1 assigned respectively for binary classification.
Nice to Meet You!
Published: 2021-01-25 04:02:59

*Hello, and welcome to this technological journey we are about to embark on!*

### A Little Bit About Me
My name is Caitlin Norse, and I am a Senior (going on Super Senior) in the IST Design & Development major at THE Pennsylvania State University. I am the product of two Computer Scientists that fell in love and taught their kids to fall in love with technology. I currently reside in Bucks County, Pennsylvania, and I spend most of my time watching trashy reality TV and painting silly pictures. When I am back at school, I spend a lot of my time marching around with my friends in the Penn State Blue Band! I play the most random instrument there is, and I can almost guarantee you have never heard of. (It’s called a mellophone so don’t ask me what it is, just look it up.)

### Where I Am
It was a long journey to get where I am today, filled with many tears and luckily a few good decisions. While embarking on my Penn State journey, I was originally a member of the “Undecided” club. I knew I would have to decide on what I wanted to do for the rest of my life, but that was a decision that I would postpone for as long as I could. Eventually, I set my sights on the IST Data Science major and pursued that track. I soon realized that this major was chock-full of calculus terms that were way beyond my comprehension skills, and I was quickly approaching my senior year with not much to show for it. I spoke to many advisors about what I should do, (including my advisors’ advisor,) and it seemed that I could struggle through another two years of Data Science courses I could not afford to fail, or I could change my major. While examining my experience in the courses I had taken, my strengths in programming stood out significantly. Luckily, the courses I had taken thus far allowed me to change my major while also being able to graduate within the next two years.

### My Experience so Far
The classes that influenced my decision to pursue another career path included Python and Java courses, while also taking courses in SQL, R, Neo4j, and other database programming languages. I also have some experience in C # which I took in high school. I have experience using invoicing systems as I worked for my fathers’ company for many summers growing up.

### Where I'm Headed
For my professional career, I am would like to become a System’s Analyst one day. Though I had to stray from Data Science as a major, I hope to one day come back to Data Analysis, because I find it incredibly complex and intriguing. 
Thanks for listening to me pour my heart out! 😊

### Check Out My Content!
[My YouTube Channel](https://www.youtube.com/channel/UC2CjHJey08xQC9jVBDwH4Sw)
[How to Use MOOC.fi](https://youtu.be/zRfY0YpulMY)