teleren/devto huggingface dataset:
Day 582 : Runnin
Tags: hiphop, code, coding, lifelongdev
Published: 2022-06-28 21:31:42

_liner notes_:
- Professional : Had an all hands call today. I think this is the first one I was able to attend while not travelling. It was good to hear what's going on in other parts of the company. Finished up the work I did yesterday by running it by some folks. Spent the rest of the day working on some videos.

- Personal : Took most of my off time to finish up the work project so I could get some feedback and set it done. Also worked on my side project a little.

![A mountain range in Kôprovský štít, Slovakia at sunset](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c1n3atqc0lg4d4pzu7ll.jpg)

Going to keep working on these videos. It's pretty much just doing screen recordings because I have the audio already recorded. Hoping it goes by quickly. Also want to watch at least one episode of "The Umbrella Academy" before going to bed.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube jQ-RrGCSa2M %}
Ezviz smart plugs support in Home Assistant (docker)
Tags: homeassistant, ezviz, docker, mqtt
Published: 2022-06-28 21:09:22

Ezviz integration in Home Assistant can be used only for camera devices. Since it is not the best idea to change files of HA docker image, I've managed to find a way around by using pyEzviz and MQTT. **The set of scripts that allows to use Ezviz smart plugs can be fund in the link below**:

https://github.com/ordigital/homeassistant-ezviz-plugs
Composing payment flows with Postman and Stripe
Tags: postman, stripe, tutorial, beginners
Published: 2022-06-28 21:07:46

{% embed https://youtu.be/oOjEKdBIq60?t=1441 %}

## What you'll learn
In this talk, [Charles Watkins](https://twitter.com/charlesw_dev) explains the why and how of composing payment flows with [Stripe](https://stripe.com/) and [Postman](https://www.postman.com/). 

You'll learn how to create a hosted payment page using a single API call with Postman. You'll also see how to integrate additional features like pre-filling a known customer's email address, accepting taxes, and more. 

## What to watch next
Learn all the tips and tricks for exploring Stripe's APIs with Postman in our [developer foundations series](https://www.youtube.com/watch?v=oviFGXrwYIQ&list=PLy1nL-pvL2M6t_iks7eZd9ITVns1WD0LU) on Youtube.
  
{% embed https://www.youtube.com/watch?v=oviFGXrwYIQ&list=PLy1nL-pvL2M6t_iks7eZd9ITVns1WD0LU %}

## Additional Resources
* Accept a payment with [Stripe Checkout](https://stripe.com/docs/payments/accept-a-payment)
* Making requests with [Postman](https://learning.postman.com/docs/getting-started/introduction/)

## Stay connected
You can stay up to date with Stripe Developer updates in a few ways:

  
📣 Follow [@StripeDev](https://twitter.com/stripedev) on Twitter
📺 Subscribe to our [Youtube channel](https://www.youtube.com/StripeDevelopers)
💬 Join the official [Discord server](https://discord.com/invite/RuJnSBXrQn)
📧 Sign up for the [Dev Digest](https://go.stripe.global/dev-digest)
Contains Duplicate
Tags: leetcode, algorithms
Published: 2022-06-28 21:03:49

**Objective:**

Given an integer array `nums`, return `true` if any value appears **at least twice** in the array, and return `false` if every element is distinct.

---
**Pattern: Arrays and Hashing**

---
**Approach:** 

1. Use a Set because Set does not allow duplicates. 
2. Go through the array nums and add values to the set, check if the Set contains the value. 
3. If set contains value then return true, else return false.

---
**Big-O Notation:** 

Time Complexity: O(n) 
We have a for loop that goes through the array n times.

Space Complexity: O(n)
We have a Set that stores the n elements. 

---
**Code:**

```java
class Solution {
    public boolean containsDuplicate(int[] nums) {
        // Set -> doesn't allow duplicates 
        Set <Integer> hashSet = new HashSet<>();
        
        // example: [2,5,8,5]
        // set: 2, 5, 8, 5
        for(int i = 0; i < nums.length; i++){
            if(hashSet.contains(nums[i])){
                return true;
            }
            hashSet.add(nums[i]);
        }
        return false; 
    }
}
```
NeetCode 150 Introduction
Tags: leetcode, womenintech
Published: 2022-06-28 21:00:00

Starting my technical interview journey with practicing problems from [neetcode.io](https://neetcode.io).

The NeetCode 150 problems are an addition to the list of Blind 75 problems. 

Problems are broken down into different patterns that might be encountered during a technical interview question. 

1. Arrays and Hashing 
2. Two Pointers
3. Sliding Window 
4. Stack
5. Binary Search
6. Linked List 
7. Trees
8. Tries 
9. Heap / Priority Queue 
10. Backtracking 
11. Graphs
12. Advanced Graphs
13. 1-D Dynamic Programming
14. 2-D Dynamic Programming 
15. Greedy
16. Intervals
17. Math & Geometry
18. Bit Manipulation
Zero Trust Network Access (ZTNA) vs. Zero Trust Application Access (ZTAA): Which Is Better?
Tags: cybersecurity, zerotrust, applicatins
Published: 2022-06-28 20:05:12

The concept of zero trust has gained a lot of excitement in recent years. A zero trust architecture assumes an inherently hostile network and treats every user request as an external party. This practice has been crucial to secure increasingly remote, cloud-based working arrangements, especially as broken access control remains a top threat to modern IT.

Most organizations now understand the imperative to implement zero trust. However, it’s tricky to build a simple zero-trust architecture without negatively impacting application performance. This issue has worsened as most vendor solutions utilize costly network-based systems that create a bottleneck (not to mention a high-value attack target) as they rely on a single tunnel to enterprise application environments. For most scenarios, an application-based proxy is better suited to enable zero trust with less complexity and higher performance. 

Below, we’ll compare and contrast two emerging variants of zero trust architecture: Zero Trust Network Access (ZTNA) and Zero Trust Application Access (ZTAA). We’ll identify the benefits and drawbacks of each approach and highlight use cases for each.

[Learn more here...](https://www.datawiza.com/blog/industry/zero-trust-network-access-vs-zero-trust-application-access/)
Top 7 Featured DEV Posts from the Past Week
Tags: top7
Published: 2022-06-28 20:41:22

---
title: Top 7 Featured DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week
tags: icymi 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---

_Every Tuesday we round up the previous week's top posts based on traffic, engagement, and a hint of editorial curation. The typical week starts on Monday and ends on Sunday, but don't worry, we take into account posts that are published later in the week._ 

## How to Thank your Project Sponsors

Slowly but surely, people are starting to acknowledge the significance of compensation in open source. Here, @blackgirlbytes provides a guide on giving back to those who have contributed to your GitHub repo.

{% embed https://dev.to/github/how-to-thank-sponsors-for-supporting-your-open-source-project-2hc3 %}


## Please Remove that Folder

Directory browsing is disabled by default, which is basic security. However, many files in the .git/ folder could be accessible, putting you at risk. @jmau111 provides a guide on tying up these cybersecurity loose-ends.

{% embed https://dev.to/jmau111/please-remove-that-git-folder-3i9a %}


## APIs — what, why, how

If you've read and re-read a bunch of resources about APIs but the concepts still don't feel clear, this article by @sahilfruitwala is a great read for you!

{% embed https://dev.to/sahilfruitwala/what-is-an-api-483o %}


## Getting past Tech Interviews

Over the last four years, @adityatyagi came up with a little framework that has helped get into multiple roles in various tech companies. Here are your five steps to technical interviews!
{% embed https://dev.to/adityatyagi/4-years-of-cracking-technical-interviews-24o0 %}


## Take a Look at TypeScript!

In this article, @omerwow takes a look at some of the key features of TypeScript and how they can help you write better code.

{% embed https://dev.to/omerwow/why-you-should-learn-typescript-today-dmo %}


## Your Missing Intro to React

@khansa wrote this article for those who are curious about why people use React. Why does React function the way that it does? Here’s your introduction!

{% embed https://dev.to/khansa/missing-introduction-to-react-2ddo %}


## 5 Things I Wish I Knew

Writing quality code is harder and takes more time, but trust me, it's a good investment. Here are five rules from @dcichorski that you can follow while writing code that will improve its quality and take you a step closer to clean code mastery. 

{% embed https://dev.to/emphie/five-things-i-wish-i-knew-before-starting-serious-development-a-journey-into-code-perfection-2e3j %}


_That's it for our weekly Top 7 for this Tuesday! Keep an eye on dev.to this week for daily content and discussions...and be sure to keep an eye on this series in the future. You might just be in it!_
Aws Elasticsearch Backup
Tags: elasticsearch
Published: 2022-06-28 20:37:58


## Understanding basics
Elasticsearch backup works differently when compared to databases like mysql and mongodb where you can specify the backup path in the runtime, 

while in case of elasticsearch, it expects user to specify the backup directory(repository) in advance and Specifying the backup directory in advance is called `registering`

so first step is to **register repository** and that is done using `_snapshot` api. 

Syntax:
```
_snapshot/<repository_name>
```

## Use Cases

- Backup from one server and restore on same server
- Bacukup from one server and restore to another server.

You will have to register repository from all the server where you want to restore.


References:

- [Official Documentation for snapshots](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html)

- [Some Visual Explanation on process](https://medium.com/docsapp-product-and-technology/aws-elasticsearch-manual-snapshot-and-restore-on-aws-s3-7e9783cdaecb)
Rules that i follow for clean Code
Published: 2022-06-28 20:36:23

- Avoid Switch Statements instead use polymorphysm so for example you have a class Shape and there are few children like triangle, circle so in future if you want to add new shape like rectangle you can just inherit it from Shape and you do not have to change anything in the base class.
- Don't Pass more than three arguments instead pass an object
- Don't pass a boolean to a function
- Use functions inside if statements
- Clearly name your folders, modules, functions, classes, object and variables in a way that easily understandable what they do.
- Function has to do just one thing
- Function should not have more than 2 indents, ideally no ident.
- No side Effects  ( for example if you open a file ,you should not leave it open but close it after you are done with it.) 
- Don't write any code inside try block instead just a function call.
- Don't duplicate code convert them to reusable methods.



I will write part 2 to this post.
Build on Flow | Learn FCL - 11. How to Install and Create a New Testnet Account with Lillico
Tags: javascript, tutorial, onflow, blockchain
Published: 2022-06-28 20:04:28

## Overview

Similar to Blocto Wallet we’ve covered [last time](https://dev.to/maxstalker/build-on-flow-learn-fcl-10-how-to-create-a-new-testnet-account-with-blocto-wallet-4lda), [Lilico](https://lilico.app/) is another wallet, which lets you create account for Mainnet and Testnet. So this post will teach you how to:

- install [Lilico Chrome extension](https://chrome.google.com/webstore/detail/lilico/hpclkefagolihohboafpheddmmgdffjm)
- setup your wallet
- switch to “Developer Mode”

Let’s start! 💪

## Step 1 - Installation

Go to the Chrome Web Store and install Lilico - [https://chrome.google.com/webstore/detail/lilico/hpclkefagolihohboafpheddmmgdffjm](https://chrome.google.com/webstore/detail/lilico/hpclkefagolihohboafpheddmmgdffjm)

## Step 2 - Setup

Click on extension icon in top right corner of the browser panel and go through a step-by-step process.

- Pick your username

![Lilico - Pick Username](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sqnjsrk9uam13jpu145t.png)

- Copy and save your `recovery phrase`. This one is really-really important if you intend to use this wallet not only for development, but as your primary mean of signing transactions


![Lilico - Recovery Phrase](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/swrr81a4h7hbuzrldxpp.png)

- Create `password` - it will be used to `unlock` your wallet before using it.

![Lilico - Create Password](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oo5byhgh7jj3g7drriqx.png)

- ***(Optional)*** Create Google Drive backup, so you can restore the wallet in the future if you forget your password

![Lilico - Google Drive Backup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xv8iofvlga0axuorkkxj.png)

- 🎉 Congratulations! Now you have Lilico Wallet in your browser and ready to sign some transactions 😁

![Lilico - Congratulations](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rai74zcybuv5e41u9muf.png)

You can see your address in the top part of the window.

Before we continue, let’s click on that `gear` icon (bottom panel, the one on the right) and click `Developer Mode`

![Lilico - Developer Mode](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ks5igf3c3oregv98h8d1.png)

This will allow you to enable `Developer Mode` and switch network to `Testnet` (which we will use to mitigate the damages we can inflict😅)

![Lilico - Testnet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fmzut698leamnn4bnoz2.png)

Notice that your address on Testnet changed as well.

That’s it! Now your Lilico Wallet is properly set up and ready for action 🙂

Until next time! 👋

## Resources

- Install Lilico - [https://lilico.app/](https://lilico.app/)
- Lilico Twitter Account - [https://twitter.com/lilico_app](https://twitter.com/lilico_app)
Nike Logo | Pure CSS
Tags: codepen, css, showdev, beginners
Published: 2022-06-28 20:03:25

In today’s tutorial, I finished creating a Nike logo with CSS. Simple css code for this iconic staple. Though this is just a fun tutorial, you can practice CSS art to improve your CSS skills. CSS art has been a fun way for me to learn new properties and improve my CSS skills. I have a bunch of CSS art tutorials that are CSS inspired. You can check them out [here](https://codepen.io/rembertdesigns).

For this tutorial, all we need is some basic HTML and CSS.

{% codepen https://codepen.io/rembertdesigns/pen/yLKLPyX %}

If you liked this post, make sure to follow me on [Twitter](https://twitter.com/RembertDesigns) where I post daily about Tech related things!

https://www.buymeacoffee.com/rembertdesigns

### 🌎 Let's Connect

- [Portfolio](https://www.rembertdesigns.co/)

- [Twitter](https://twitter.com/RembertDesigns)

- [Github](https://github.com/rembertdesigns)

- [Codepen](https://codepen.io/rembertdesigns)

- [LinkedIn](https://www.linkedin.com/in/rrembert/)
Startup-Investor Fit | Made with React JS
Published: 2022-06-28 19:37:27

![Startup-Investor Fit | Made with Javascript | React JS](https://res.cloudinary.com/madewithjavascript/image/upload/v1655737061/large_startup_investor_fit_made_with_react_js_0522464543.jpg "Startup-Investor Fit | Made with Javascript | React JS")


### The definitive guide to identify investor-fit for your startup

> Use this checklist for when you are researching funds to invest in your startups. There are an abundance of investors out there - so the goal isn't to reach out to all of them, but to find the one that suits you the most.
> 
> Startup-Investor Fit
> The definitive index to identify investor-fit for your startup.
> 
> 1. Lead vs. Follow
> 
> 2. Sector / industry
> 
> 3. Check size
> 
> 4. Geography preference
> 
> 5. Conviction
> 
> 6. Chemistry / connection
> 
> 7. Fund reputation
> 
> 8. Dry powder
> 
> 9. Previous investments
> 
> 10. Value-add
> 
> 11. Community offering
> 
> 12. Co-investors
> 
> 13. Board seat preference
> 
> 14. Fund follow-on strategy
> 
> 15. Who are the LPs
> 
> 16. Fund vintage
> 
> 17. GP commit
> 
> 18. Fund performance

## Check out more such amazing projects on our website

[Made with Javascript](https://madewithjavascript.club)

## Want us to feature your project

[Submit your Project to Made with Javascript](https://madewithjavascript.club/submit-project)


You can also write to us for any of your queries at:

[Email Made with Javascript](mailto:madewithjavascript@gmail.com)

## Project already shared on our social media handles.

| SocialMedia | SharedLink |
| ----------- | ---------- |
| Twitter | [Startup-Investor Fit on Twitter](https://twitter.com/withjavascript/status/1541867393324032000?s=20&t=aaVYoxK_BlofhEqDYrElnw)
 |
| Medium | [Startup-Investor Fit on Medium](https://medium.com/@madewithjavascript/startup-investor-fit-made-with-react-js-eee40a5971a5)
 |
| Facebook | [Startup-Investor Fit on Facebook](https://www.facebook.com/madewithjavascript/posts/pfbid023qfCL3G1Rewqtu5hSCGmHu7CUDBivutCjnteehqPaDEnrSjo5Becrf2YrX4zAk2jl)
 |
| Tumblr | [Startup-Investor Fit on Tumblr](https://www.tumblr.com/blog/view/madewithjavascript/688332433228218368?source=share)
 |
| LinkedIn | [Startup-Investor Fit on LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:6947633163598757888)
 |
| Pinterest | [Startup-Investor Fit on Pinterest](https://pin.it/3ImMSEq)
 |


Filled Under:


 - [Made with Javascript](https://madewithjavascript.club)
 - [Made with React JS](https://madewithjavascript.club/categories/react-js)

Make sure to give this post ❤ 50 ❤ hearts, click the 🦄 unicorns 🦄 and follow 👉 @madewithjavascript 👈 for more such awesome showcases. Show you love for the people who have worked so hard!
Components - Gallery of Fruits
Tags: angular, components
Published: 2022-06-29 12:17:52

---
title: Components - Gallery of Fruits
published: true
date: 2022-06-28 19:30:24 UTC
tags: Angular,Components
canonical_url: https://ricardo-torres.me/index.php/2022/06/28/components-gallery-of-cards/
---

> **@Input** to send messages from Parent to Child
> 
> **@Output** to send messages from Child to Parent

![](https://ricardo-torres.me/wp-content/uploads/2022/06/gallery-of-fruits-1024x625.png)

Understand the concept of Communication between components is basic to develop any Application in angular.

We must render a list of fruits by using 2 components:

1- product-list

```
<div class="container" id="navbar-container">
  <section class="section">
    <div class="container">
      <div class="has-text-centered" id="services-text-container">
        <h1 class="title is-1">Gallery of Fruits</h1>
      </div>
      <br />
      <div class="columns">
        <app-product-card
          *ngFor="let item of record"
          [product]="item"
        ></app-product-card>
      </div>
    </div>
  </section>
</div>
```

In the component product-list, we must call the service productService to get the data.

```
import { Component, OnInit } from '@angular/core';
import { Record } from 'src/app/model/record';
import { ProductService } from 'src/app/services/product.service';

@Component({
  selector: 'app-product-list',
  templateUrl: './product-list.component.html',
  styleUrls: ['./product-list.component.scss'],
})
export class ProductListComponent implements OnInit {
  record: Record[] = [];
  constructor(private productService: ProductService) {}

  ngOnInit(): void {
    this.getProducts();
  }

  getProducts(): void {
    this.productService.getProducts().subscribe((data) => {
      this.record = data.record;
    });
  }
}

```

2-product-card

```
<div class="column">
  <div class="card">
    <div class="card-content">
      <div class="has-text-centered">
        <img [src]="product.image" />
      </div>
      <h3 class="title is-3 has-text-centered" id="card-product-description">
        {{ product.name }}
      </h3>
      <p class="has-text-centered">
        {{ product.description }}
      </p>
    </div>
  </div>
</div>

```
In the Typescript we must to define an **@Input** property named product, it is going to receive the data from the parent component (product-list).

```
import { Component, Input, OnInit } from '@angular/core';
import { Record } from 'src/app/model/record';

@Component({
  selector: 'app-product-card',
  templateUrl: './product-card.component.html',
  styleUrls: ['./product-card.component.scss'],
})
export class ProductCardComponent implements OnInit {
  @Input() product!: Record;
  constructor() {}

  ngOnInit(): void {}
}

```

[Live Demo](https://ricardo-torres.net/demos/com-components/#/)  
[Download Code](https://github.com/ricardojavister/angular-demos-com-components)
Javascript E𝗺𝗽𝘁𝘆 𝗼𝗯𝗷𝗲𝗰𝘁 𝗮𝘀 𝗮 𝗳𝗮𝗹𝗹𝗯𝗮𝗰𝗸 𝘄𝗵𝗶𝗹𝗲 𝗱𝗲𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗶𝗻𝗴
Tags: javascript, frontend, webdev, react
Published: 2022-06-28 19:02:52

As explained in one of my posts in the Javascript series, you can use the optional chaining operator to simplify and avoid breaking code

So the below code:

```
𝘤𝘰𝘯𝘴𝘵 𝘶𝘴𝘦𝘳 = {
𝘯𝘢𝘮𝘦: '𝘋𝘢𝘷𝘪𝘥'
};

𝘤𝘰𝘯𝘴𝘵 𝘴𝘵𝘳𝘦𝘦𝘵𝘕𝘢𝘮𝘦 = 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯 && 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯.𝘴𝘵𝘳𝘦𝘦𝘵 && 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯.𝘴𝘵𝘳𝘦𝘦𝘵.𝘯𝘢𝘮𝘦;

is same as:

𝘤𝘰𝘯𝘴𝘵 𝘶𝘴𝘦𝘳 = {
𝘯𝘢𝘮𝘦: '𝘋𝘢𝘷𝘪𝘥'
};

𝘤𝘰𝘯𝘴𝘵 𝘴𝘵𝘳𝘦𝘦𝘵𝘕𝘢𝘮𝘦 = 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯?.𝘴𝘵𝘳𝘦𝘦𝘵?.𝘯𝘢𝘮𝘦;

```

In the above code, 𝘀𝘁𝗿𝗲𝗲𝘁𝗡𝗮𝗺𝗲 will be 𝘂𝗻𝗱𝗲𝗳𝗶𝗻𝗲𝗱 as 𝘀𝘁𝗿𝗲𝗲𝘁 property does not exist on the user object.

This is because the optional chaining operator returns 𝘂𝗻𝗱𝗲𝗳𝗶𝗻𝗲𝗱 if the property does not exist.

And destructuring on 𝘂𝗻𝗱𝗲𝗳𝗶𝗻𝗲𝗱 will throw an error.

So If you're using destructuring along with the optional chaining operator, you will get an uncaught error If you try to use destructuring like this:

```

𝘪𝘧 (𝘶𝘴𝘦𝘳.𝘯𝘢𝘮𝘦) {
𝘤𝘰𝘯𝘴𝘵 { 𝘯𝘢𝘮𝘦, 𝘢𝘥𝘥𝘳𝘦𝘴𝘴 } = 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯?.𝘴𝘵𝘳𝘦𝘦𝘵; // 𝙐𝙣𝙘𝙖𝙪𝙜𝙝𝙩 𝙏𝙮𝙥𝙚𝙀𝙧𝙧𝙤𝙧: 𝘾𝙖𝙣𝙣𝙤𝙩 𝙙𝙚𝙨𝙩𝙧𝙪𝙘𝙩𝙪𝙧𝙚 𝙥𝙧𝙤𝙥𝙚𝙧𝙩𝙮 '𝙣𝙖𝙢𝙚' 𝙤𝙛 𝙪𝙣𝙙𝙚𝙛𝙞𝙣𝙚𝙙
}

To fix this, you need to assign an empty object all the time while destructuring like this:

𝘪𝘧 (𝘶𝘴𝘦𝘳.𝘯𝘢𝘮𝘦) {
𝘤𝘰𝘯𝘴𝘵 { 𝘯𝘢𝘮𝘦, 𝘢𝘥𝘥𝘳𝘦𝘴𝘴 } = 𝘶𝘴𝘦𝘳.𝘭𝘰𝘤𝘢𝘵𝘪𝘰𝘯?.𝘴𝘵𝘳𝘦𝘦𝘵 || {}; // 𝙬𝙤𝙧𝙠𝙨 𝙛𝙞𝙣𝙚, 𝙣𝙤 𝙚𝙧𝙧𝙤𝙧
𝘤𝘰𝘯𝘴𝘰𝘭𝘦.𝘭𝘰𝘨(𝘯𝘢𝘮𝘦, 𝘢𝘥𝘥𝘳𝘦𝘴𝘴); // 𝘶𝘯𝘥𝘦𝘧𝘪𝘯𝘦𝘥 𝘶𝘯𝘥𝘦𝘧𝘪𝘯𝘦𝘥
}
```
File Sharing Site
Published: 2022-06-28 18:57:23

## File Sharing

Simple file sharing created with:

Github project: https://github.com/lassv/file-sharing-site (feel free to give a star ⭐)

[Express](https://expressjs.com)
[Node.js](https://nodejs.org)
[MongoDB](https://www.mongodb.com)
[EJS](https://ejs.co)
[Hypestyle CSS](https://www.hypestylecss.xyz)

## Getting Started

Download the soruce code.

```bash
git clone https://github.com/lassv/file-sharing-site.git
```

Install the dependencies.

```bash
pnpm (npm) install
```

Setup the .env file.

<code>PORT = <YOUR_PORT> Eg: 3000</code> <br>
<code>MONGO_URI = <YOUR_MONGO_URI> Eg: mongodb://localhost:27017/file-sharing-site</code>

Start the server.

```bash
pnpm (npm, yarn) run dev
```

## Read License

You can find the license in the LICENSE [file](https://github.com/lassv/file-sharing-site/blob/main/LICENSE).

## Demo

There are currently no demo!
Announcing Beast - An open source Jeopardy style CTF creation and management tool!
Published: 2022-06-28 18:56:32

SDSLabs feels ecstatic to announce the release of Beast, an Open Source platform to host and manage deployment, lifecycle, and health check of CTF challenges.

Beast provides features like container based isolation, easy configuration, SSH support for challenge instances to name a few.

Beast is the perfect open source alternative to proprietary CTF organizing tools like CTFd and HackTheBox.

Head over to Beast User Documentation (https://beast.sdslabs.co) to know more about it or check out the code (https://github.com/sdslabs/beast)

Made with 💖 by SDSLabs

Intrigued and wanna chat more with the team behind it? (https://chat.sdslabs.co) our Discord (https://discord.gg/dXkVEgTPu9) is open to all visitors and questions 😉