teleren/devto huggingface dataset:
Top Django Projects Ideas
Tags: django, ideas, project, beginners
Published: 2021-10-01 13:19:13

![Django Projects Ideas](https://secureservercdn.net/160.153.137.163/84g.4be.myftpupload.com/wp-content/uploads/2020/11/Django-Projects-665x333.png)

Here in this article, we have referenced some Django projects thoughts reasonable for all degrees of Django designers. Here, we trust that from this article you will actually want to get the thought for your next Django project. To make it simple for the perusers, the article is partitioned into 3 segments: 

* [Django project ideas](https://www.techgeekbuzz.com/django-projects/) for beginners,
* Project ideas for intermediate developers, and
* Django project ideas for advanced developers.

Django is the most famous Python web structure and the most ideal approach to learn it is by making some Django projects. These will assist you with executing answers for genuine issues and furthermore help the value of your resume.

If you are new to Django then you might be still exploring all the tools and libraries offered by the leading Python framework. Thus, you can start with some beginner-level Django projects. These projects will help you explore how the MTV (Model-Template-View) architecture of Django works and how it deals with the data flow.

**Django Projects Ideas for Beginners**

##### 1. To-Do App with Django
##### 2. Weather App with Django
##### 3. Poll App using Django
##### 4. Quiz App Using Django
##### 5. Django Chat App
##### 6. School Management System with Django
##### 7. Resume App with Django
##### 8. A Blog Website with Django
##### 9. Clone Projects with Django
##### 10. An E-Commerce Application with Django

## Conclusion

That concludes this article on top Django projects. The list involves starter project ideas that you can consider when starting with Django and must-do projects for every Django developer.

You can build many other projects using Django, such as social networking app, video calling app, CMS APP, and video subscription app. We hope you will consider one of the above Django project ideas and built one. If you like this article or have any new Django project ideas, let us know by commenting down below.
What is a DOM?
Tags: html, webdev, beginners
Published: 2021-10-01 13:02:46

The Document Object Model is known as a programming interface used for web documents so that programs can change the document structure, style, and content representing a page.

There is an interaction between pages, nodes and object. In the case of the object model it allows the representation to be manipulated. This is object based and it can be modified using javascript.
It was designed to be independent of any particular programming language, making the structural representation of the document available from a single, consistent API.

Even if most web developers will only use the DOM through JavaScript, implementations of this can be built for any language.
JavaScript can also be used in other contexts.

For example, Node.js runs JavaScript programs on a computer, but provides a different set of APIs, and the DOM API is not a core part of the Node.js runtime. In short DOM is not necessarily a part of the JavaScript, but a Web API which builds websites.

If we take an example of a HTML DOM, a document containing HTML is being described as the Document interface that can be extended by HTML specification which includes HTML-specific features. An Element interface is enhanced to transform into an HTMLElement and are of various subclasses.
Best Halloween Party Theme Ideas
Published: 2021-10-01 12:57:47

Is it your turn this time for throwing the Halloween party? If yes then we know exactly what you are looking for. You want the party to be the most memorable theme party that anybody has ever attended. So, for your help, we are here with the article that will give you the best Halloween Party theme ideas.

A Halloween party without the spooky costumes is incomplete. So, why not throw a theme party that makes the best use of the spooky costumes you are planning to wear. Sounds Fun! A perfect theme can make any party exciting and it’s Halloween, the theme is pre-decided, it has to be spooky, creepy, and super scary. But, here we are with the best Halloween Party theme ideas that will ignite the creepiness in your party.

The toughest part of being the host is choosing the perfect Halloween party theme. There are several good themes, but if the theme does not match the vibes of your friends then the party can get boring as hell. So, further, in the article, you will find the Halloween party theme ideas categorized according to the different vibes of friends.
Passing Data with React Router using Link
Tags: react, javascript, webdev, programming
Published: 2021-10-01 12:50:52

If you've used **React Router** on many projects, definitely you've asked **How i can pass some data or state to other components through a link tag?**.

So 1st of all we'll discuss how we can pass data between components in React.

### 1. Passing props

The 1st one is by passing some props from the parent component to the children components

![carbon (4)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/396agklpv95vwyjdkssv.png)
 
 
![carbon (3)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ngo93uqady6u4h0wrv2.png)
 
### 2. Global State
2nd one is by making a **Global State** and make some data accessible by many components.

You can manage Global State using two main paths:
- [Redux](https://redux.js.org)
- [React context](https://reactjs.org/docs/context.html)


### 3. Using React Router's Link
3rd one is basically when you click on a link(to component), you passing data with that.

Below we Have a simple React App with some routes
![App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/180gizgnhw3vnvfjw5ti.png)
 
We Have two routes Here the "`/`"(Home) Route and the "`/profile`"(Profile) route.

So the 1st page we'll see if we run `yarn start` is the **Home** Page

![Home](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ljyvxzhlppovzmbx5mq.png)

![Screenshot from 2021-10-01 13-11-24](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6zdcjm60ay743rzq24o.png)
 




And if we go to the **/profile** route 
we'll see the **Profile** component  


 ![Profile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0q14kjti8gkvgdbd4jau.png)

![Screenshot from 2021-10-01 13-12-15](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7bsstxnvrw0ehv6ipthe.png)

<br>


So as you can see we're using the `<Link>` instead of the regular `<a>` tag to prevent the refresh of the page.

### So how we can send data for exemple to the **Profile** component from the **Home** component ?

So the cool thing is we can pass an Object to the **to** property in the **`<Link>`** and that object must contains a `pathname` and optionally a `state`, and we can pass the data through that state

![Screenshot from 2021-10-01 13-41-45](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n85dxg1uafrgxi4y04cs.png)
 

and we can access that state in the **Profile** component in the `props.location.state`

![Screenshot from 2021-10-01 13-45-07](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9vc6730qsm35blkqxrq.png)

![Screenshot from 2021-10-01 13-46-47](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7y9dfy4r4fhqva0i9vhi.png)


for more Info check this [React Router Link](https://reactrouter.com/web/api/Link)
To Share Files between Windows-OS and Mac-OS (VirtualBox)
Tags: mac, windows, os, virtualbox
Published: 2021-10-01 12:18:38

---
title: To Share Files between Windows-OS and Mac-OS (VirtualBox)
published: True
description: To Share Files between Windows-OS and Mac-OS (VirtualBox)
tags: #mac #windows #OS #virtualBox  
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nsuf2ttqvvyzyi494azm.jpg

---
#1 Access Mac Files on Windows
Open File Explorer. In the address bar (that is 'This PC') at the top of the window, type \\ followed by your Mac’s IP address (Found at System Preference > Sharing > File Sharing' tab) When you're done, it should look something like this: \\192.168.1.68 or \\iosmac or afp://iso-mac-pro or smb://iso-mac-pro, then hit Enter button. 

A new window will pop up asking for a username and password. Enter the **user credentials exactly as they appear on your Mac**.
That is, Your Mac OS Username (start terminal and enter 'whoami') and Mac OS Password.

##2 Checkmate!
Now you will be viewing your shared Mac directory(files) within Windows File Explorer.
The best way to run Tailwind CSS on Rails
Tags: rails, hotwire, tailwindcss
Published: 2021-10-01 12:16:49

Each time I go to startup a new Rails app for a side project I can’t remember how to set tailwind up correctly and end up looking through 3 or 4 different approaches until I find one that looks "correct". 

With [cssbundling-rails](http://github.com/rails/cssbundling-rails), this is now a thing of the past. The new (css|js)bundling-rails gems are super thin wrappers around setting up your own build task in package.json, and all it has to do is dump a file into `app/assets/builds` to be included via the asset pipeline. 

What’s even handier though is tailwind is included out of the box using the new JIT mode. 

## Installation

All you have to do is add `gem 'cssbundling-rails'` to your Gemfile and then run

```sh
rails css:install:tailwind
```

After that, you will have a `build:css` script added to your package.json and a new binstub to run your Rails app alongside the tailwind JIT.

```sh
# Now you run rails with:
bin/dev
```

## Extra credit: Using @imports with postcss

This is completely optional, but I have a few apps where I needed to write additional styles or wrap some tailwind components up using tailwinds @apply helper, so there’s a little extra step to get this working.

You need to add `--postcss` to your `build:css` script, so it will look something like:

```js
{
  "scripts": {
    "build:css": "tailwindcss --postcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css"
  }
}
```

After that install a few dependencies:

```sh
yarn add postcss postcss-flexbugs-fixes postcss-import postcss-nested postcss-preset-env
```

And finally create a `postcss.config.js` in the root of your Rails app.

```js
module.exports = {
  plugins: [
    require("autoprefixer"),
    require("postcss-import"),
    require("tailwindcss"),
    require("postcss-nested"),
    require("postcss-flexbugs-fixes"),
    require("postcss-preset-env")({
      autoprefixer: {
        flexbox: "no-2009",
      },
      stage: 3,
    }),
  ],
};
```

Now you can create components in `app/assets/stylesheets/components/*.css` and `@import` them in your main application.tailwind.css file. 

**Note:** you may need to change the tailwind imports to use post css like so:

```css
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
```
Apollo Client in Practice
Published: 2021-10-01 12:16:18

Some time ago I joined a team that is working on a search application. The application takes search terms and displays the results in a table with potentially dozens of columns and hundreds of rows, even before pagination. It is implemented in React and uses Apollo for GraphQL calls. I was surprised to find it noticeably slow when a lot of search results were retrieved. React is well-known for leveraging virtual DOM to optimize performance and GraphQL should even be able to add caching to further optimize performance on the side of network requests.

Read more: https://medium.com/codestar-blog/apollo-client-in-practice-f81434f6f8d7
A Nice Developer Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2021-10-01 12:00:21

---
title: "A Nice Developer Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258be05ecc.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_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 computer do at lunchtime?

___A:___ Had a byte!
 -->
Asp.net Core configuration options pattern Giriş.
Tags: dotnet
Published: 2021-10-01 11:58:50

# Options pattern nedir ?

Options pattern configurasyonlara class'lar aracılığıyla erişmemizi sağlayan bir bir .net core özelliğidir.

## Options pattern nasıl kullanılır ?

Aşağıda linkten projei indirin : 

## [Proje](https://github.com/MustafaSamedYeyin/Yazilarimin-Kaynak-Kodlari/tree/main/DevConfiguration/Dev.to/Dev.to.Configuration.Part3.OptionsPattern)

Öncelikle projeye default bir mvc projesi açtım ve sırasıyla şu dosyaları değiştirdim veya yaratım : 

1.) "appsettings.json"a MustafaConfiguration adlı configuration'ları ekledim : 
```
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "MustafaConfiguration": {
    "Soyad": "YEYIN",
    "Yas": "24"
  }
}

```

2.) MustafaConfiguration adlı class 'ı yarattım : 

```
 public class MustafaConfiguration
    {
        public string Soyad { get; set; }
        public string Yas { get; set; }
    }
```

3.) "Startup.cs"de IOptions pattern'i configure ettim : 

```
public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<MustafaConfiguration>(Configuration.GetSection("MustafaConfiguration"));
            services.AddControllersWithViews();
        }
.
.
.
```

4.) "HomeController"da IOptionsPattern'i di(dependecy injection) olarak geçtim: 

```
public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly MustafaConfiguration _mustafaConfiguration;
        public HomeController(ILogger<HomeController> logger, IOptions<MustafaConfiguration> mustafaConfiguration)
        {
            _logger = logger;
            _mustafaConfiguration = mustafaConfiguration.Value;
        }
.
.
.
```
Dah sonra MustafaConfiguration adlı class'a atanan değeleri aşağıdaki gibi ViewBag'e Soyad ve Yas olarak geçtim.

```
  public IActionResult Index()
        {
            ViewBag.Soyad = _mustafaConfiguration.Soyad;
            ViewBag.Yas = _mustafaConfiguration.Yas;
            return View();
        }
```
5.) Index.cshtml'e sadece ViewBag'leri ekledim aşağıki gibi : 

```
@{
    ViewData["Title"] = "Home Page";
}

@ViewBag.Soyad
@ViewBag.Yas

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
```
## Sonuç : appsettings.json'daki MustafaConfiguration'ının Soyad ve Yas bilgilerini böylece ulaşabildim. Aşağıdaki resimdeki gibi : 

![alt text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l6ghs7h6et5wqv4j6xf.png)
 
Yani IOptions pattern ile configuration dosyası olan appsettings.json dan, bir class olan MustafaConfiguration adlı class'a değer geçirebilip(Soyad ve yas bilgilerini geçirdik), daha sonra ViewBag'lere bu bilgileri atayıp Index.cshtml dosyasından göstermiş olduk.

Bir dahaki yazıda görüşmek üzere.

En iyi dileklerim ile. 

Mustafa Samed Yeyin.
Are you eliminating or creating Technical Debt???
Tags: agile, softwaredevelopment, teamwork
Published: 2021-10-01 12:07:27

---
title: Are you eliminating or creating Technical Debt???
published: true
date: 2021-10-01 11:57:54 UTC
tags: agile,softwaredevelopment,teamwork
canonical_url: https://medium.com/chingu/are-you-eliminating-or-creating-technical-debt-2f0065a7ff4b
---

#### Sprint 5 — Friday

![](https://cdn-images-1.medium.com/max/1024/1*mc25PdPbWp0L6Xxuo64h7A.jpeg)<figcaption>Photo by <a href="https://unsplash.com/@sigmund?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Sigmund</a> on <a href="https://unsplash.com/s/photos/crisis?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption>

As you come to the end of a project you may start to encounter the effects of **_technical debt_**. In other words, the cost of rework that’s incurred from an earlier decision to take an easy approach rather than one that would have been better, but potentially longer or harder.

It’s important to keep in mind that in this context **_refactoring is not the same as rework_** resulting from technical debt. Refactoring is simply improving the internal operation of an app without changing what the user sees. Rework is more extensive, costly, and time consuming since it usually requires re-design on or more components.

> Refactoring code isn’t the same as re-working code

If you have encountered the effects of technical debt that’s a good lesson to learn from! This is among the most valuable, but also one of the hardest concepts to understand in project management — waterfall AND Agile.

Some tips for avoiding technical debt include:

1. Understand the apps architecture and the impact different parts of it have on performance and functionality.
2. When a feature or change is proposed use your understanding of the app to determine what the costs are for different implementation options.
3. Evaluate the risk of implementation options against different app factors — functionality, performance, security, impact to deadlines, etc.
4. Using this data have the hard discussion with the team, customers, and management on risks vs. benefits of the various options.

Based on these it’s okay to defer correcting a technical debt issue, but it’s **_NOT_** okay to ignore it! When you encounter the effect of technical debt document it immediately! Treat it as a bug and open an issue documenting it so it won’t be forgotten.

![](https://cdn-images-1.medium.com/max/1024/0*hLBSh_8cNgJA2qxM.jpg)

### Before you Go!

Chingu helps you to get out of “_Tutorial Purgatory_” by transforming what you’ve learned into experience. The experience to boost your Developer career and help you get jobs. **_And it’s Free!_**

You can learn more about **Chingu** & how to join us at [https://chingu.io](https://chingu.io/)

* * *
Build A Simple Progress Bar
Tags: javascript, webdev, beginners
Published: 2021-09-30 17:51:02

You might get this as an interview question for web development roles, especially front-end roles. I'll explain how you can ace it by creating a progress bar in minutes.

Spoiler: You could do it under a minute with CSS ;)

## Step 1: Create the structure
Create the progress bar with plain HTML and CSS as follows:

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Progress Bar Tutorial</title>
    <style>
        .progress-bar-wrapper {
            width: 500px;
            height: 50px;
            background-color: #D5C67A;
            margin: 20px 0;
        }
        .progress-bar {
            height: 100%;
            width: 0%;
            background-color: #06A77D;
        }
    </style>
</head>
<body>
    <div class="progress-bar-wrapper">
        <div class="progress-bar"></div>
    </div>
    <button onclick="load_something(1)">Load</button>
</body>
</html>
```
This results in the following empty progress bar:
![Empty Progress Bar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xobd9wtj5802vgq2wy85.png)

You can already test it by manually increasing the width from `0%` to `10%` and so on!

There's a button in there which will trigger the function `load_something(1)` and pass seconds as value. In this case we are passing 1 second as the value.

We'll create that function in the next step.

## Step 2: Add JavaScript

Add the following JS code before the closing `body` tag:

```html
<script>
    function load_something(seconds) {
        const progress_bar = document.querySelector('.progress-bar')
        let percent = 0
        const interval = setInterval(() => {
            percent += 1
            progress_bar.style.width = percent + '%'
            if (percent > 100) {
                clearInterval(interval)
            }
        }, (seconds * 1000)/100);
    }
</script>
```
This `load_something` function will perform the following steps:

- Select the element with the `progress-bar` class.
- Set `percent` to 0.
- Create an interval which repeats every `seconds/100`. In each iteration it will set the width of the progress bar based on the value in `percent` and then increase the `percent` value by 1.
- It will clear this interval only when `percent` is greater than `100`.

Here's what that looks like:

![Final Progress Bar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2chnphc832fd9gnge26v.gif)

## Step 3: Do it with CSS

What if I tell you we can avoid the second step completely by using CSS? Here's how –

```html
<script>
    function load_something(seconds) {
        const progress_bar = document.querySelector('.progress-bar')
        progress_bar.style.transition = `${seconds}s linear width`
        progress_bar.style.width = '100%'
    }
</script>
```

This will achieve the same result but I personally prefer this one as it is much cleaner and done with CSS (instead of intervals which can be a bit messy).

Let me know what you think about this in the comments.
Golang 101: Değerler (Values)
Tags: go, values
Published: 2021-10-01 11:56:09

Golang değer türlerine hızlıca bir bakalım.

```golang
package main

import "fmt"

func main() {

	// string (metin)
	fmt.Println("golang " + "101")

	// integer (tam sayı)
	fmt.Println("Toplam =", 1+1)

	// float (kesirli)
	fmt.Println("Bölüm =", 3.14/1.6)

	// boolean (mantıksal)
	fmt.Println(true || false)
        fmt.Println(true && false)
}
```
```
golang 101
Toplam = 2
Bölüm = 1.9625
false
true
false
```
[çalıştır!] (https://go.dev/play/p/n4lGqEFGrkU)

## String (Dize)
String türü harfler, sayılar ve diğer karakterlerden (*tab, yeni satır vb. dahil*) oluşabilir. String türündeki bir değeri yine aynı türdeki bir değer ile toplamaya çalıştığınız da (*değerler sayı bile olsa*) iki değeri yan yana getirecektir. Aksi durumda çalıştırmak istediğimiz de `mismatched types` (*uyumsuz türler*) şeklinde hata oluşur.

## Integer (Tam sayı) ve Float (Kesirli) Sayılar
Tam sayılar işaretli (negatif) ve işaretsiz (pozitif) sayılar olarak ikiye ayrılır. Tam sayılarda yapılacak 4 işlemde sonuç kesirsiz olarak verilir. Örneğin `3/2` bölme işleminin çıktısı `1`'dir. Kesirli işlemlerde ise eğer sonuç kesirli ise çıktı da kesirli olacaktır.

## Boolean (Mantıksal)
Mantıksal değerlerde çıktılar da mantıksal operatörler olarak sağlanır. Yukarıdaki örnekte `true && false` çıktısı `doğru (1) ve yanlış (0)` sonucunun mantıksal değeri olan `false` yani `yanlış`'dır.

Değerler konusunu değişkenler konusunda daha detaylı göreceğiz.