teleren/devto huggingface dataset:
I separated dependency injection from Angular:`static-injector`
Tags: angular, web, node, frontend
Published: 2024-03-24 04:18:27

---
title: I separated dependency injection from Angular:`static-injector`
published: true
description: 
tags: angular,web,node,frontend
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-03-24 04:15 +0000
---

- Angular's dependency injection is indeed very useful, making the dependency relationships between services more flexible and reusable
- However, its limited use within Angular restricts its effectiveness and needs to be made available on all Node/Frontend platforms.

## How to use?
- If you don't care about the implementation, you can directly [access the usage documentation](https://github.com/wszgrcy/static-injector/blob/main/readme.md)

## Why not write a package that is the same as Angular dependency injection
- A mature feature has usually undergone multiple considerations, so it is the best to not reinvent the wheel.
- Using the source code of Angular can ensure that the function is in sync with the official version, without worrying about differences between your implementation and the official version.
- Using the same logic in Node/frontend eliminates mental burden.

## Can I use the code directly?
- Of course not. First, Angular's source code is designed for its specific services, so some features that we don't need need to be removed. For example, `@Module` has dependency injection-related code, `@Host` and other component decorators, and more non-general dependencies. 
- Additionally, Angular uses dependency injection for static dependency injection, so it needs to implement its own static compilation method to ensure consistency with the official version.
- It also needs to create interfaces to call and invoke Angular's source code, ensuring the normal operation of the function.

## Is it over if it runs successfully?
- Running successfully is not the end, but the first step. The code successfully executes independently, so the next step is to ensure that the code runs in sync with the `Angular` official version, no missed new features, but also no defects are overlooked. 
- To accomplish this, a method must be found that allows stable code changes and automatically updates code to match project updates.

## Use `Code Recycle` to Stable Update and Sync Code 
- [Update synchronization script](https://github.com/wszgrcy/static-injector/tree/main/script/sync)

- Pull the Angular source code through scripts, use CSS selector syntax to query and modify code 
- Test the modified code after making changes to the code. 
- After each update, only change the tag => synchronize the update => test => adjust(if there are problems) => publish. This reduces potential issues caused by manual modifications.

## How do we know if the repository supports these features?
- [Check the examples](https://github.com/wszgrcy/static-injector/tree/main/test/fixture)
- All existing examples have been tested and verified. If you need to use other features, you can submit an issue.
Submit Only Fans Chatter Job Application Now
Published: 2024-03-24 04:27:25

Unlock Exclusive Opportunities: Submit Your OnlyFans Chatter Job Application Today!

APPLY HERE            [CLICK here](https://www.jobhits.net/2024/03/unlock-world-submit-only-fans-chatter.html)

Are you ready to step into the world of exclusive content creation and connect with a vibrant community like never before? Look no further! OnlyFans Chatter is on the lookout for passionate individuals to join our dynamic team. If you're someone who thrives on creativity, enjoys engaging with audiences, and wants to monetize your unique talents, then this is the opportunity you've been waiting for.

**Why OnlyFans Chatter?**

At OnlyFans Chatter, we're not just another platform; we're a community. We provide creators with a supportive environment where they can express themselves freely and connect with fans who appreciate their content. Whether you're a seasoned creator or just starting out, we welcome diversity and creativity with open arms.

**What We Offer:**

1. **Lucrative Earning Potential:** With OnlyFans Chatter, you're in control of your earnings. Benefit from our transparent payout structure and turn your passion into profit.

2. **Flexible Schedule:** Say goodbye to the nine-to-five grind. Work on your terms and create content whenever it suits you.

3. **Community Support:** Join a community of like-minded creators who are passionate about what they do. Share tips, advice, and experiences as you grow together.

4. **Safety and Security:** Your safety and privacy are our top priorities. Rest assured that we maintain a secure platform to protect both creators and subscribers.

**How to Apply:**

Submitting your application is quick and easy. Simply follow these steps:



2. **Create Your Account:** Sign up as a creator and complete your profile. Tell us about yourself and what sets you apart as a content creator.

3. **Submit Your Application:** Once your profile is set up, navigate to the "Jobs" section and submit your application for review.

4. **Get Started:** Once approved, you'll gain access to a world of opportunities awaiting you on OnlyFans Chatter. Start creating and engaging with your audience right away!

Don't miss out on this chance to take your content creation journey to new heights. Join OnlyFans Chatter today and unlock a world of possibilities!

*Note: OnlyFans Chatter reserves the right to review all applications and select candidates based on suitability and alignment with our platform's values.*
How to add auto-reloading in Golang projects with Nodemon: A Developer's Guide
Tags: livereload, go, nodemon, productivity
Published: 2024-03-24 04:24:17

Are you a Go developer transitioning from the Node.js ecosystem? If so, you're probably familiar with nodemon, a popular tool for automatic live reloading during development. This article guides you through using nodemon to achieve a similar workflow in your Go projects.

#Getting Started: Installing Node.js
Before diving into the world of automatic reloading for Go, let's ensure you have Node.js installed. Node.js serves as the backbone for Nodemon's functionality. Head over to the official [Node.js website](https://nodejs.org/) and follow the simple installation instructions.

![Node.js official website](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wmucvmu8k37mxzn8nx5.png)


#Installing Nodemon Globally
Once you've got Node.js up and running, the next step is to install Nodemon globally. Open your terminal and execute the following command:

```
sudo npm install -g nodemon
```

Nodemon, a utility that monitors for changes in your code and automatically restarts the server, will now be accessible across your system.


#Implementing Nodemon in Your Go Project
Now comes the exciting part – integrating Nodemon into your Go project. Let's break down the process step by step:

**Choose Your Go File**: Identify the main Go file in your project. For the sake of this guide, we'll refer to it as main.go. However, feel free to adjust the filename according to your project's structure.

**Executing Nodemon**: In your terminal, execute the following command to leverage Nodemon:

```
nodemon --exec go run main.go --signal SIGTERM
```
_Note: Remember, the `main.go` file mentioned here is just an example. Feel free to substitute it with the appropriate filename based on your project setup._

**In conclusion**, incorporating Nodemon into your Go projects revolutionizes the way you approach development. With its automatic reloading capabilities, you'll enjoy a smoother, more efficient coding experience from start to finish
Animate "details" tag with pure CSS 
Tags: html, css
Published: 2019-06-26 21:11:02

---
title: Animate "details" tag with pure CSS 
published: true
description: How you can animate the HTML tag details with only CSS
tags: html, css
---

<p>Hello!</p>

<p>I saw a post with the title "HTML can do that?" and here the dev user added the &#60;details&#62; tag. Here is a small description from W3 Schools:</p>

<p>"<em>The &#60;details&#62; tag specifies additional details that the user can view or hide on demand.<br>

The &#60;details&#62; tag can be used to create an interactive widget that the user can open and close. Any sort of content can be put inside the <details> tag.<br>

The content of a &#60;details&#62; element should not be visible unless the open attribute is set.</em>"</p>

<p>The problem here is that by itself the &#60;details&#62; tag isn't user friendly, I suggest adding a really small animation to it so the user knows exactly what content appears after clicking the detail summary.</p>

<p>Details tag with no animation:</p> 
{% codepen https://codepen.io/Pixmy/pen/xoXaXm %}

<p>To add an animation to it we first need to create the CSS keyframes. In our animation you can play with a lot of css rules, but to keep it simple we are only going to use opacity and a margin-left.</p>

```css
@keyframes open {
  0% {opacity: 0; margin-left: -20px}
  100% {opacity: 1; margin-left: 0px}
}
```

<p>Once the animation is ready, let's assign this to our &#60;details&#62; tag with the [open] selector, just like this:</p>

```html
details[open] summary ~ * {
  animation: open .5s ease-in-out;
}
```

<p>Here you can see the result:</p>

{% codepen https://codepen.io/Pixmy/pen/RzLYer %}

<p>This is a super simple animation you can add to your projects and the result is pretty nice!</p>
Syntax, syntax, syntax
Tags: beginners, ruby, python
Published: 2024-03-24 03:02:39

I wan't sure what to expect when I first started learning Ruby, but the experience was more enjoyable than what I expected. A learning curve with most programming languages is syntax. Going in I had Python and JavaScript (with other front end languages), under my belt. Python was the most similar in general and made Ruby feel familiar. However, with the familiarity I found myself having to overcome certain syntactical issues, and feeling liberated as programmer because of certain advantages Ruby has over Python.

## Looping(Iterating)
One of the most powerful things you can do in both languages is looping, or in this examples case iterating over a range of numbers.
```python
for j in range(1, 8):
  print(j)
```
```ruby
(1..7).each do |j|
  puts i
end
```
These both print a list of numbers, 1-7. I appreciate that Ruby has inclusive and exclusive ranges. However, it is interesting in Ruby looping, if statements, and functions require an end statement. Looping in Python doesn't and in hindsight when there's hundreds of lines of code, more end statements help to make code more clear. The colon in Python loops has also caused issues in program execution  because it's one of those things that is so easy to miss in a sea of code.

## Dictionaries and Hashes
Python dictionaries and Ruby hashes are another case of differentiating syntax. Python only allows for a colon to be used for assigning values to keys, while Ruby allows for a => to be used as well as the colon. 
```python
peeps = {'Janet': 1234, 'Samuel': 5678, 'Georgina': 6060}
```
```ruby
peeps = {:name => 'Georgina', :number => 6060}
```
Ruby also has different data types like Symbols, so using the => ends up being a default practice because it makes the hash easier to read.   

## No Nests, No Problem
Lastly, I found myself wanting to do certain, "small" things in Ruby that weren't possible. When learning about methods I found myself wanting to nest them in the way you would Python functions. In certain projects this was annoying, but ultimately helped me learn what Ruby isn't as a language. Python is easier to learn imo than Ruby, but when you get the hang of things Ruby is more enjoyable to use as a developer which is a huge point of its existence. To be fair I've primarily used Python in a design, scripting, artistic lens as opposed to web development with Ruby. I want to go further into database management with both languages. I'm looking forward to my findings.
How to be good at Open Source 🧑‍💻🌏
Tags: github, opensource, community, learning
Published: 2024-03-24 02:51:47

## What's the coolest thing about open source software? 💭

If you need a new feature, you can just go ahead and add it yourself!

I recently did this with [lazygit](https://github.com/jesseduffield/lazygit), a terminal-based git client I use every day.
I wanted to add co-authors to commits, which is handy for pair programming at Incubyte 

[My pull request](https://github.com/jesseduffield/lazygit/pull/3097) for this feature got merged recently, and now I'm thrilled to use it with the latest release!

Here are some tips I learned along the way:

### Add Value

Make sure your contribution adds value to the project. Don't just contribute because it's trendy.

### Ask for Help

Don't expect to get everything right on the first try. Ask the project maintainers for feedback and guidance.

### Be Patient

Remember, many open source projects are labors of love. Be patient if things take time or responses are slow.

### Accept Rejection

 Sometimes your ideas might not fit with the project's goals. Be polite and be prepared to fork the project if necessary (and maybe even become a maintainer yourself!).



Most importantly, be a good open sourcerer, and may the code be with you! 🖖

 #OpenSource #Community #SoftwareDevelopment
How can we implement a mysql restoration algorithm in Bash
Tags: sql, bash, laravel, php
Published: 2024-03-24 02:21:24

The problem in case 4 is to implement a database restoration process from a selected backup file to the current database. The restoration process should handle cases where the structure of the backup database may differ from the current database. Specifically, it should:

Allow the user to select a backup file from a list of available backup files.

Verify whether database migrations have been executed. If not, execute them before proceeding with the restoration process.

Restore data from the selected backup file to corresponding tables in the current database.

Handle cases where tables or columns exist in the current database but not in the backup file. In such cases, either set the values of missing columns to default values or NULL, depending on their data types.

Ensure that only matching tables found in the backup file are restored to the current database.

Display appropriate messages to inform the user about the restoration process and any encountered issues.

Prompt the user to confirm whether they want to continue after the restoration process is complete.

The solution should be implemented in Bash scripting, leveraging MySQL commands for database operations, and PHP commands for Laravel-specific tasks such as checking migration status. The script should be robust, handling errors gracefully and providing meaningful feedback to the user throughout the process.
This is the link to the problem.. thanks

{% stackoverflow 78213172 %}
Docker exec container.
Tags: dokcer, dockercommand
Published: 2024-03-24 01:50:54

`docker exec -it <container-id> bash`
<p>Here's a breakdown of the command:</p>
<ul><li><code>docker</code>: This is the command-line tool used to interact with Docker.</li><li><code>exec</code>: This subcommand is used to execute a command in a running container.</li><li><code>-it</code>: These are flags used together to allocate a pseudo-TTY (terminal) and keep STDIN open even if not attached. This allows you to interact with the shell.</li><li><code>8256ec84091703b9da993d13830dc8dc79d7d09117381a9a50b09b792f7f3e85</code>: This is the example ID of the Docker container you want to execute the command in.</li><li><code>bash</code>: This is the command to execute within the container. In this case, it's starting an interactive Bash shell session.</li></ul>
Apa Itu OpenSSH?
Published: 2024-03-24 01:40:12


   OpenSSH merupakan sebuah protokol administrasi remote yang memperbolehkan pengguna untuk mengakses dan mengontrol server mereka dalam jaringan secara aman. Mulai dari menjalankan sebuah program, membuat folder, menghapus file, membuat file, transfer file, hingga menjalankan atau menghentikan sebuah services. Singkatnya, SSH memungkinkan pengguna untuk mengelola servernya dengan leluasa meskipun dari jarak jauh.

  OpenSSSH mengimplementasikan protokol Secure Shell atau SSH di sistem Red Hat Enterprise Linux. Protokol SSH memungkinkan sistem untuk berkomunikasi secara terenkripsi dan aman melalui jaringan yang tidak aman.
 Perintah ssh untuk membuat koneksi aman ke sistem jarak jauh, mengautentikasi sebagai pengguna tertentu, dan mendapatkan sesi shell interaktif pada sistem jarak jauh sebagai pengguna tersebut. Dan dapat menggunakan perintah ssh untuk menjalankan perintah individual pada sistem jarak jauh tanpa menjalankan shell interaktif.

**Kunci host SSH
**
  SSH mengamankan komunikasi melalui enkripsi kunci publik. Ketika klien SSH terhubung ke server SSH, server mengirimkan salinan kunci publiknya ke klien sebelum klien masuk. Ini digunakan untuk menyiapkan enkripsi aman untuk saluran komunikasi dan untuk mengautentikasi server ke klien.

**Manajemen Kunci Host Dikenal SSH**

Jika kunci publik server diubah karena kunci tersebut hilang karena kegagalan hard drive, atau diganti karena alasan yang sah, Anda perlu mengedit file host yang diketahui untuk memastikan entri untuk kunci publik lama diganti dengan entri dengan kunci publik baru untuk masuk tanpa kesalahan.

**Fungsi OpenSSH**

1. Sebagai media transfer data aman dan terpercaya yang bisa digunakan secara remote atau dari jarak jauh
2. Mengamankan semua proses transfer data
3. Mengamankan komponen infrastruktur manajemen jaringan
4. SSH mampu mengamankan server dari jarak yang sangat jauh sebab, kemampuan SSH dalam mengamankan jaringan sudah dibekali dengan tiga jenis enkripsi sekaligus, yakni enkripsi simetris,  asimetris, dan hashing

**OpenSSH memiliki beberapa kelebihan**

1. Keamanan yang tak tertandingi
2. Enkripsi yang kuat
3. Autentikasi ganda
4. Tunneling aman
5. Fleksibilitas dalam Manajemen
Warp terminal on WSL is AMAZING
Tags: warp, terminal, wsl
Published: 2024-03-24 01:26:25

If you’re a developer working with Windows Subsystem for Linux (WSL), prepare to be amazed by Warp Terminal. My journey with Warp began by following the footsteps of @ljtruong, updating Ubuntu, and ensuring all packages were up to date. The real magic started when I downloaded and installed the Warp Terminal.

Installation: A Breeze
The process was straightforward. I grabbed the .deb file directly from Warp’s official download page and installed it within WSL using the following command:
```
sudo dpkg -i warp-terminal_<latest_version>.deb
```
Execution: Smooth and Seamless
Running Warp Terminal was as simple as setting a couple of environment variables. I added these lines to my ~/.bash_profile:
```
export WARP_ENABLE_WAYLAND=1
export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA
export BROWSER=google-chrome
```
With these variables set, launching Warp Terminal was just a matter of typing warp-terminal into the console.

Authentication: Secured and Swift
To obtain the authentication token, I installed Google Chrome in WSL. Downloading and installing Chrome was a quick two-step process:
```
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt -y install ./google-chrome-stable_current_amd64.deb
```
After setting Chrome as the default browser and adding export BROWSER=google-chrome to my profile config, I logged into Warp’s remote login page. A few clicks later, Warp Terminal synced with the authentication token, and I was ready to go.

The Result: Beyond Expectations
The result was nothing short of spectacular. Warp Terminal on WSL is not just another terminal; it’s a testament to how seamless development on Windows can be. It’s fast, it’s efficient, and it integrates flawlessly with the graphical environment, thanks to the Wayland support.

For developers looking to streamline their workflow, Warp Terminal is a must-try. It’s not just a tool; it’s an experience that elevates your coding sessions to new heights.

Feel free to adjust the content to better fit your voice and experience. Happy blogging!
HOW TO HACK A CHEATING SPOUSE \\ TRUSTGEEKS HACK EXPERT
Tags: webdev, hackers, professional, hire
Published: 2024-03-24 01:22:30

TRUSTGEEKS HACK EXPERT  may be the technological wizard you need if you've ever found yourself in a scenario where you have to monitor your wife's social media messages. This state-of-the-art service provides tools to make effective internet activity monitoring possible. TRUSTGEEKS HACK EXPERT provides a range of services designed to give you peace of mind in the digital age. From tracking online behavior to recovering lost data, this service is a powerful tool for those needing a helping hand in navigating the vast expanse of cyberspace. In my case, the decision to implement social media message routing was spurred by a desire to stay informed about my partner's online interactions. Little did I know, this decision would lead to a shocking discovery that would change the course of my relationship. When it comes to setting up social media message routing to your phone, TRUSTGEEKS HACK EXPERT has you covered with a user-friendly interface and seamless functionality. You can communicate with TRUSTGEEKS HACK EXPERT through EMAIL: TRUSTGEEKSHACKEXPERT(@)FASTSERVICE(.)COM - TELEGRAM: TRUSTGEEKSHACKEXPERT.  Let's dive into how this technology works its magic. The technology behind message routing is simple yet effective. By configuring your account settings, you can receive real-time notifications of incoming messages directly to your phone, ensuring you never miss a beat in the digital realm. Activating message routing is a breeze with TRUSTGEEKS HACK EXPERT. With just a few clicks, you can set up the service to forward all social media messages to your device, giving you instant access to crucial information at your fingertips. Sometimes, the messages we receive can reveal more than we bargained for. In this case, my spouse began receiving unexpected messages that would unravel a shocking truth about my relationship. The messages that started appearing on my phone were far from ordinary, hinting at a hidden world of deceit and betrayal lurking behind the façade of my seemingly happy relationship. As the gravity of the situation set in, initial reactions ranged from disbelief to anger and confusion. I found myself grappling with a whirlwind of emotions as they tried to make sense of the messages that had turned my world upside down. Getting unexpected messages from your wife's social media account can feel like a gut punch. It's a betrayal that cuts deep, stirring up a whirlwind of emotions like confusion, anger, and hurt. Discovering infidelity can shake the very foundation of a relationship, leaving you questioning everything you thought you knew. The use of TRUSTGEEKS HACK EXPERT technology to route social media messages to a phone led to the discovery of infidelity, resulting in a significant impact on the relationship.