teleren/devto huggingface dataset:
HOW TO PUT A ANGULAR APPLICATION TO A DOCKER CONTAINER
Tags: angular, docker
Published: 2020-08-05 14:03:25

I have read quite complicated articles on how to deploy an Angular application to a docker container that is why I am motivated to write this simplest step by step guide to putting your angular app to docker container

1 Assuming you have already created your app and now you want to dockerize it. run the code below to create a dist folder in your application folder

`ng build`

2 create a file called Dockerfile under root of your application as illustrated below
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/i1ip1j0pkso1k84kx2n1.PNG)

3 copy following code to your Dockerfile
``` 
FROM node:alpine AS my-app-build
WORKDIR /app
COPY . .
RUN npm install && npm run build

FROM nginx:alpine
COPY --from=my-app-build /app/dist/{name-of-your-application} /usr/share/nginx/html
EXPOSE 80
```

4 Now your application is ready to be put in a docker container. this tutorial assumes you have downloaded docker and a copy is running locally on your machine. if you have not downloaded the docker application visit the Docker website to download the version suitable for your machine . when all that has been set up use the code below to build image for your application.
```
// docker build -t name-of-container:tag-of-image .
docker build -t my-application-container:latest . 
```

5 To start your application locally and test it on a browser run
`docker run --publish 80:80 --detach --name bb bulletinboard:lastest`

I hope you enjoyed this tutorial. i will write more tutorials on how to deploy your Docker container on Azure.
Using Google Analytics without that annoying consent popup
Tags: googleanalytics, gdpr, cookiepopup, consentpopup
Published: 2021-07-04 11:30:55

---
title: Using Google Analytics without that annoying consent popup
published: true
date: 2020-08-07 05:01:37 UTC
tags: GoogleAnalytics,GDPR,cookiepopup,consentpopup
canonical_url: https://kambanthemaker.com/using-google-analytics-without-that-annoying-consent-popup-ckdjrnhl10230z2s10qkkavxa
---

Note: I have written this article on my linkedIn as well.GDPR has been the talking point for a while. Google Analytics is having enough trouble since users need to show cookie consent popup even when users don’t need the private information in ques...
Row-Echelon Form & Reduced Row-Echelon Form - [Linear Algebra #2]
Tags: computerscience, codepen
Published: 2020-08-10 11:24:35

#### Some learning points from making the visualization
* Develop with the principle of Mobile First, even if it is less intuitive. This will greatly reduce work on responsiveness of the website later on.
* Use setInterval and setTimeout to create simple animation/stop motion effects.

#### A demo of Row-Echelon Form & Reduced Row-Echelon Form
{% codepen https://codepen.io/tlylt/pen/MWyYxEG %}
What does community mean to you?
Tags: motivation, developer, community
Published: 2020-08-08 17:53:24

I asked the above question to my local tech community. The following is a curated list of their answers: 

[George Spake](https://www.linkedin.com/in/georgespake/)
Community, for me, has just been about getting to share my journey with a bunch of different people. Everybody's coming from a different place and doing their own thing but we're all moving towards the same kind of goals so it's great to be able to motivate and support and learn from each other along the way.

[Corey McCarty](https://www.linkedin.com/in/coreydmccarty/)
Community means involvement and relationship. In dog/wolf packs each member needs to know it's place in the 'pecking order'. This means that there are special responsibilities and everyone is placed into the hierarchy above some and below others. This means that you have an identity within that community.

[Agrit Tiwari](https://www.linkedin.com/in/agrit-tiwari-69171715b/)
Community means a source of inspiration to me. A group of people that will help you till a point. where I can also help newbie to programming like me. It's a cycle of support and involvement. I feel real free to ask basic questions, Like how do guys manage to keep coming back after an unproductive day?

[Dennis Kennetz](https://www.linkedin.com/in/dennis-kennetz-377448142/)
Community is awesome! The different perspectives and paths that people bring to a conversation really fill me up and ultimately enable to enjoy the world more. Thankful for you guys!

[Dinesh Sharma](https://www.linkedin.com/in/dinesh14sharma/)
Community is being in touch with like minded people and having a group which you can look up to, may be for bouncing ideas, seeking help or just knowing the world better.

[JC Smiley](https://www.linkedin.com/in/jcsmileyjr/)
You can't choose what family you are born in. You normally can't choose what neighborhood you are raise in. But at some point you can choose a community to inspire and help you to do great things. I have seen others make the biggest leaps in their career by being in a community. It is a fact, you are the product of the 5 people you associate with.

Community means being in a relative safe place where everyone wants me to succeed and pushes me safely past my perceived limits.

#Recap
**A good community is about:**
1. identity and belonging somewhere
2. not being alone
3. helping one another, 
4. each person has the ability to ask questions
5. moving as a collective toward a goal. 

**To be an active member of a good community is to be:**
1. Involved
2. Share your journey with others
3. Having a responsibility.

> A great community is where everyone comes from different places with different perspectives.

[Code Connector](https://codeconnector.io/) is a non-profit that's organized tech meetups to help people start their journey into tech. You can join our daily conversations by clicking this link: [Code Connector slack channel](https://bit.ly/2Ywnzqc).
World of WoqlCraft - Ep.19 making of the Smart Query?
Tags: python, database, query, metaclass
Published: 2020-08-08 22:57:00

---
title: World of WoqlCraft - Ep.19 making of the Smart Query?
published: true
description: This time we are doing something different, looking at the idea of creating a wrapper of the WOQL.py to create a smooth passing of the Python object to the WOQLQuery. We will also explore the possibility of using a metaclass in Python.
tags: Python, database, query, metaclass
---
This time we are doing something different, looking at the idea of creating a wrapper of the WOQL.py to create a smooth passing of the Python object to the WOQLQuery. We will also explore the possibility of using a metaclass in Python.

Find the source code from our [tutorial repo](https://github.com/terminusdb/terminus-tutorials).

Join the TerminusDB community at [Discord](https://discord.gg/Gvdqw97)
My learning development progress💻💪🤯
Tags: javascript, postgres, react
Published: 2020-08-09 08:55:26

---
title: My learning development progress💻💪🤯
published: true
description: posts about my learning development progress
tags: javascript, postgresql, react
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/ybe3dlomz0it9uv4ayvt.jpg
---
Hi, my name is Dmitry and I'm fullstack NodeJS developer from Russia 🥶. 

Here is some posts 👇 about my development learning progress📈. 

At the end of the week, I'll write one post 📇 about my progress, and another - about my goals 💪 for next week. 

So, this is the first post about my goals for next week.

Also, to each point, I'll attach 📎 some links to learning resources. Some of them written in russian 🇷🇺, because it's my native language.

## Javascript 🤓 🎓

1. Working with theory: This&Objects

[YDKJS: this & Object Prototypes](https://github.com/getify/You-Dont-Know-JS/tree/1st-ed/this%20%26%20object%20prototypes)

[Object basics from learn.javascript.ru](https://learn.javascript.ru/object-basics)


## Postgresql🤯

1. Isolation in Postgresql

[MVCC - isolation from habr](https://habr.com/ru/company/postgrespro/blog/442804/)

## Algorithms🧠

1. Binary search from [Grokking Algorithms](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230)
pfsense OPT port
Published: 2020-08-09 18:03:09

---
title: pfsense OPT port
published: true
description: 
tags: 
//cover_image: https://direct_url_to_image.jpg
---

I am slowly trying to build up to having a tiny cluster Raspberry Pi 4s at home. I have 2 of them (so far) connected to a small switch. I needed internet connectivity and I use this little tiny pfsense box at home https://www.netgate.com/solutions/pfsense/sg-1100.html

It is lovely and works wonderfully.

Just due to where everything is located I did not have any open ports physically near where I was at so I wanted to use the OPT port on the Netgear. Almost all things network are somewhat challenging and there are tons of misinformation on how to use the OPT port on the web.

I ended up using this guide.
https://www.cyberciti.biz/faq/how-to-pfsense-configure-network-interface-as-a-bridge-network-switch/

In short, you have to enable the OPT interface and do not assign it an IP.

Then create a bridge between LAN and OPT.

Then finally add a firewall rule on LAN but select the OPT interface. The rule I added there was basically allow everything just to verify things were working.

Once that is done plugin and use ping to verify it works.

One thing to note the IP address you get on the OPT port come from the DHCP so you are not on a separate LAN. In my case that is what I wanted.
Tank Off
Published: 2020-08-10 06:40:49

Hi there. Well I'm excited to say I've been the game dev efforts of Martian Games since 2011 and Tank Off is now Coming Soon on Steam.
https://store.steampowered.com/app/1391380/Tank_Off

I assisted with the site [Tank-Off.com](https://tank-off.com), setting up the Steamworks page, and got to help with the official Tank Off box art on [Giant Bomb](https://www.giantbomb.com/tank-off/3030-79589).  Here's a link to the [teaser trailer](https://youtu.be/wAnJiM3_6G0) on YouTube.

Hope you like it! More updates to come. :-)


~ Jenni
[jenninexus.com](https://jenninexus.com)
Sharing is caring
Tags: frontend, webshare, javascript, pwa
Published: 2020-08-10 07:06:02

---
title: "Sharing is caring"
published: true
description: "Quick tip to add awesome sharing to your app"
tags: ['frontend', 'webshare', 'javascript', 'pwa']
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/7b6ld2c3bl65co0l6d5t.png
canonical_url: "https://gregbenner.life/sharing-is-caring/"
---

Wouldn't it be grand to click a button and have your mobile's native share dialog come up?
This used to take funky third party js widgets, or registering for all the various site api's individual; I remember it could take a week to get it right with SEO back in the golden days.

Well friends fear no more check out the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share">webshare</a> api

Now hypothetically say you have a fullscreened progressive web app, looks slick don't it? The problem though is the missing url bar.

Example:

![Image Alt](https://res.cloudinary.com/https-gregbenner-life/image/upload/v1597043661/share_nw2ssb.jpg)

Here's your solution in the form of a method. One caveat is this must be called on a user action like click. 

```js
share() {
      if (navigator.share) {
        navigator
          .share({
            title: 'title',
            text: 'description',
            url: `url`
          })
          .catch(err => {
            console.log(`Couldn't share because of`, err.message);
          });
      } else {
        console.log("web share not supported");
      }
    }
```


```html
<a class="show-mobile" href="#" @click.prevent="share">🔗 share</a>
```

Oh one more thing, this is only supported on mobile devices. I find this solution better than the user agent sniffing dark arts.

```css
.show-mobile {
    display: none;
}
@media (pointer: coarse) {
  .show-mobile {
    display: inline-block;
  }
}
```

Why not fire up your cellular device and give it a try with this article, how meta would that be?
An open-source CI/CD tool flow.ci
Tags: devops, github
Published: 2020-08-11 12:44:11

# About flow.ci

flow.ci is a powerful and user-friendly CI/CD tool to level up your DevOps experience.

> GitHub: https://github.com/flowci
> Website: https://flowci.github.io

# Key Features
- Zero configuration, start the first build within a minute
- Simple YAML configuration and template
- Elastic agents to speed up your build
- Web terminal to debug the job in time
- Flexible plugins
- Scaleable on server-side to improve availability 
- Run steps either on any docker images or native os

# Preview
![start](https://raw.githubusercontent.com/FlowCI/docs/master/src/create_flow_and_build.gif)

![demo](https://github.com/FlowCI/docs/raw/master/src/step_tty.gif)

---

for more info please refer to [doc](https://github.com/FlowCI/docs)
Need help? submit issue from [here](https://github.com/flowci/docs/issues)

Happy build :)
NetSuite Interview Questions
Tags: netsuite, technical, functional
Published: 2021-01-19 12:33:30

If you're looking for NetSuite Interview Questions for Experienced or Freshers, you are in right place. There are a lot of opportunities from many reputed companies in the world. According to research, NetSuite has a market share of about 8.2%. So, You still have the opportunity to move ahead in your career in NetSuite Development. Mindmajix offers Netsuite Training and Advanced NetSuite Interview Questions 2021 that helps you in cracking your interview & acquire a dream career as NetSuite Developer.


1) Explain what is a Lead and how Leads are captured in Netsuite?

Ans: In accounting terminology, a lead is classified as an individual who is interested in the product or service that is been offered and they are in a state to take a decision to purchase the product or service.

Within Netsuite, the term “Lead” is considered as a standard object where several other informational fields are captured while taking up Lead information.

2) Explain what is the Lead Generation Process?

Ans: The lead generation process actually starts after the fact, i.e. when a product is completely developed or the service is readily available for the consumers. A lead generation process is nothing but a marketing strategy where the products or services are presented to the consumers to try them out and further promote them to sign up for the regular usage of the product or the services that the company is offering.

Most of the time lead generation process is taken up by the sales team of an organization. One has to make sure that they have sound knowledge about the product or the service where they are going to promote.

3) Explain the lead conversion process in Netsuite?

Ans: The lead conversion process in NetSuite can be executed in two different methods:

>> Within the system, for an opportunity, if we have keyed in the estimates, sales transactions then the lead is automatically converted as per the default statues.
>> If you are explicitly using the lead conversion process then you can follow the below process:

1. Click on the convert button on the lead record

>> The above process is commonly used in sales organizations and business to consumer businesses

4) List out the process flow for procuring to pay process in Netsuite and let us know how it works?

Ans: The procure to pay process in Netsuite is as follows:

1. Purchase Order Entry
2. Purchase order Approval
3. Receiving
4. Matching
5. Bill Approval

For More Info Visit <a href="https://mindmajix.com/netsuite-interview-questions">Here</a>

Do You Want to become NetSuite Professional then get trained & Certified at Mindmajixs'<a href="https://mindmajix.com/netsuite-training"> NetSuite Online Certification Training</a> Institute
Daily Developer Jokes - Thursday, Nov 5, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-11-05 13:00:24

---
title: "Daily Developer Jokes - Thursday, Nov 5, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Thursday%2C%20Nov%205%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12592cb43a5.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ What did the Class say in court when put on trial?

___A:___ I strongly object!
 -->
I completed the Hacktoberfest Challenge!
Tags: hacktoberfest
Published: 2020-11-06 04:48:18

<!-- ✨This template is only meant to get your ideas going, so please feel free to write your own title, structure, and words! ✨ -->


### [Intro Heading]
<!-- If you are new to the DEV community, introduce yourself and share a bit about why you joined DEV and decided to participate in Hacktoberfest this year.  --> 
### Background

<!-- Are you brand new to open source? What about coding in general? Tell us about how you got here →

### Progress

<!-- Share a bit about where you’re at in your Hacktoberfest journey. What stage are you at? How has the process been?  -->

### Contributions

<!-- This is where you can list the contributions you made and explain why you chose the projects you did. Don’t forget to add links!  -->


### Reflections
<!-- Overall, how has your Hacktoberfest 2020 experience been? If you’re a first-timer, will you participate again? What have you learned? Have you made any interesting connections? What is your next step in open source?  -->
Tự học Dart - 002
Tags: dart, flutter
Published: 2020-11-17 13:51:36

# Biến (Variables)
Khai báo biến bằng từ khóa `var` Dart sẽ ngầm hiểu kiểu dữ liệu của nó. Khi khai báo trong phạm vi local thì nên dùng `var` thay vì dùng kiểu khai báo tường minh như `String` `double` `int`....
```dart
String title = 'Đây là 1 ví dụ về biến';
main() {
  var name = "Son Tran";
  String s = "abcxyz";
  double d = 1.1;
  int num = 2;
  
  print(title);
  print("Variables are: $s $d $num $name");
}
```

Khi đã khai báo biến rồi, thì biến đó thuộc kiểu dữ liệu cố định. Nếu gán giá trị kiểu khác sẽ bị lỗi.

```dart
var i = 1;
i = 'somethings';
/*
Sẽ lỗi do biến `i` thuộc kiểu `int` mà giờ lại gán qua kiểu String
*/
```

Nếu muốn gán kiểu khác, hãy dùng `dynamic` hoặc khai báo kiểu `Object`
```dart
main() {
 // Dùng dynamic
 dynamic s = 1; 
 s = 'a cat';
 /*
  Dùng `Object` vì như đã nói mọi kiểu dữ liệu đều là một instance 
  của class Object trong Dart
 */
 Object x = 99;
 x = 'a dog';

 print("Variables is: $s $x");
}
```
Ngoài ra còn có từ khóa khai báo kiểu hằng số là `const` và `final`. Chúng khác nhau ở chỗ là `const` khai báo hằng số ở complie-time còn `final` là run-time.
Và hằng số thì không thể gán giá trị sau khi khởi tạo.

```dart
main() {
 const PI = 3.14;
 final TODAY = DateTime.now();
 
 print("Variable is: $PI $TODAY");

 PI = 3.1416; //Lỗi
}
```
Ngoài ra với Dart 2.5 còn có thể dùng `is` `as` và Spread Operator (`...`)
```dart
main() {
 const Object i = 3;

 const list = [i as int]; // Sử dụng typecast.

 const map = {if (i is String) i: "String" else "aaa": "Other"};
 // Dùng `is` và lệnh `if else`.

 const set = {if (list is List<int>) ...list};
 // Dùng Spread Operator `...`

 print("Variable is: $list $map $set");
}
```

# Kiểu dữ liệu trong Dart

Cơ bản có các kiểu sau:
- Kiểu numbers gồm: `num`, `int` và `double`
- Kiểu string
- Kiểu booleans
- lists (hay array - mãng)
- sets
- maps
- runes (chuỗi Unicode)
- symbols

### Kiểu numbers

Cũng dễ như bình thường thôi :D

```dart
main() {
  //`num` có thể là kiểu số nguyên hoặc thập phân
  num i = 100;
  num d = 7.55;

  /*
   `int` là kiểu số nguyên, và `double` là kiểu số thập phân.
   Hai kiểu này là sub-class của `num`
  */
  int n = 999999;
  double x = 68.25;
  double y = 1; // ngầm hiểu `double y = 1.0`
  //Ép kiểu
  var one = int.parse('1');

  //Một số cách biểu diễn số khác
  var hex = 0xFF;
  var exp = 1.42e5;
  
  print("Variable is: $i $n $d $x $hex $exp");
}
```
Deploy to firebase functions
Tags: javascript, node, firebase, functions
Published: 2019-11-02 00:00:00

---
title: Deploy to firebase functions
date: '2019-11-02'
spoiler: Deploy your first express app to a firebase cloud function, with a snap of fingers.
tags: javascript, nodejs, firebase, functions
published: true
---

<p align="center">
	<img src="https://firebasestorage.googleapis.com/v0/b/from-tatooine.appspot.com/o/deploy-firebase-functions%2F1_vgy9tD1ixcaztpirUw0QCw.png?alt=media&token=2ad76553-3ae3-443a-98a2-05645b2b272f" width="400px" />
</p>

Today we'll learn how to deploy you node app to firebase functions. You can also use [nodevader](https://github.com/stanleygomes/nodevader) boilerplate to do this tutorial.

First, install the Firebase CLI if you don't have it.	

```bash	
npm install -g firebase-tools	
```	

Then, run, login to your firebase account and init a project, right after choose option `functions` and connect it to your project	

```bash
firebase login	
firebase init	
```	

Now, you have a folder called functions. 	

Yes, delete it.	

```bash
rm -rf functions	
```	

Go to the `firebase.json` file and add the `source` property to functions, pointing to current directory:	

```json	
{	
  "functions": {	
    "source": ".",	
    ...	
  }
}
```	

Now install dependencies for firebase	

```bash
npm install --save firebase-admin	
npm install --save firebase-functions	
npm install --save-dev firebase-functions-test	
```	

and, add the required engine property to your `package.json` file	

```json	
  {	
    ...	
    "engines": {	
      "node": "8"	
    }	
  }	
```	

We're almost there. Go to your `src/index.js` file, remove app.listen(...)	

```javascript	
// app.listen(...)	
```	

And the last step. Add functions dependency and export the function.	

```javascript	
const functions = require('firebase-functions')	
// your code here ...	
const api = functions.https.onRequest(app)	
module.exports = {	
  api	
}	
```	

Now you can deploy your function to firebase	

```bash
firebase deploy	
```	

If you want to get the firebase CLI key for CI/CD. Run	

```bash
firebase login:ci	
```	

Thanks and Good luck.

<!-- I’d love to hear from you on Twitter! Thanks for reading. -->