teleren/devto huggingface dataset:
Cloud Native Live: Automate pinning GitHub Actions and container images to their digests
Tags: githubactions, security, cloudnative, github
Published: 2024-07-09 16:30:07

GitHub Actions, like open source dependencies, are vulnerable to malicious attacks. Pinning GitHub Actions to their digests (instead of using floating tags) is recommended by GitHub: it’s the only way to use an Action as an immutable release, so that you’re always using a known-good version even if the source repo is compromised.  Likewise, for containers, the digest is a unique identifier for the content of an image. Once an image is built, its digest will always refer to that specific build, ensuring immutability and consistency. 

Only 2% of public GitHub repos pin actions to digests today, probably because it’s a tedious process. But there are now ways to automate this! 

Join [Stacklok](https://stacklok.com) Engineers [Juan Antonio "Ozz" Osario](https://github.com/JAORMX) & [Jakub Hrozek](https://github.com/jhrozek) for this [CNCF Livestream](https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cloud-native-live-automate-pinning-github-actions-and-container-images-to-their-digests/) as they explore some free and open source tools you can use to automate pinning container images and Actions by their digests and demo how they work.

**July 17, 2024**
9am PT / 12pm ET / 16:00 UTC

- [Watch live on CNCF YouTube](https://www.youtube.com/watch?v=jHW2x-8LruE)
- [Watch live on CNCF Twitch](https://www.twitch.tv/cloudnativefdn)
- [Watch live on LinkedIn]()
Por quê eu estou aprendendo e acho que vocês também deveriam aprender scala em 2024
Tags: scala, learning, algorithms, functional
Published: 2024-07-09 16:39:56

Bom, para começar vou contextualizar vocês. Scala é uma linguagem de programação de proposito geral e multi-paradigma, criada por Martin Odersky. Em scala todo valor é um objeto, e toda função é um valor.

Comecei a me interessar por scala quando eu vi pela primeira vez o projeto criado pelo twitter chamado cassovary que é uma biblioteca que facilita o processamento de grandes grafos. E também quando vi o repositório the algorithm que é uma coleção dos algoritmos de recomendação do twitter, primeiro eu pensei, por quê scala? Não sei se foi por isso que eles escolheram mas certamente é por isso que eu escolheria: 

Como ja diz o nome scala (“scalable language.”) foi projetado para crescer com as demandas de seus usuários. Você pode usar Scala para uma ampla gama de tarefas, desde escrever pequenos scripts até construir grandes sistemas. Ela é executado na JVM (Java Virtual Machine) e suporta perfeitamente todas as bibliotecas Java. Scala também oferece recursos avançados para programação concorrente e paralela, como atores (via Akka) e ferramentas para programação funcional. Isso é crucial para o processamento eficiente de grandes volumes de dados. Scala também combina paradigmas de programação funcional e orientada a objetos, permitindo que os desenvolvedores escrevam código expressivo, conciso e robusto. A programação funcional, em particular, facilita o desenvolvimento de algoritmos de recomendação mais limpos e menos propensos a erros. A linguagem Scala é conhecida por sua performance, o que é fundamental para aplicações em tempo real. Scala é uma linguagem popular na comunidade de Big Data. Ferramentas e frameworks como Apache Spark, que são amplamente utilizados para processamento de grandes volumes de dados, são escritos em Scala. Isso proporciona ao Twitter uma vantagem ao integrar e utilizar essas tecnologias para processamento de dados em larga escala.

Salários no mercado: 

Scala tem um dos salários mais generosos do mercado, a média anual para desenvolvedores Scala é em torno de $105,400 a $135,200. As cidades com os salários mais altos para desenvolvedores Scala incluem San Jose e Santa Clara, na Califórnia, onde os salários podem chegar a aproximadamente $141,531 por ano​ (Salary.com)​. Em termos de estados, os salários mais altos são encontrados no Distrito de Columbia, Califórnia, e Nova Jersey, com médias superiores a $120,000 por ano​ 

Eu também estou planejando fazer uma série de posts, documentando meu progresso de estudo em scala, trazendo alguns tutoriais de coisas que eu achar interessante de trazer, no inicio ensinando os conceitos mais básicos e depois que eu aprender mais eu vejo se consigo arquitetar um desafio "Scala em 30 dias".

Fontes: 
https://www.velvetjobs.com/salaries/scala-developer-salary
https://www.talent.com/salary?job=scala+developer
https://www.salary.com/research/salary/hiring/scala-developer-salary
canoe vascular surgeon
Published: 2024-07-09 16:51:10

[https://drive.google.com/drive/folders/16vTPk6GAVFb6fgv5VBIDPxSl5-DrtpQx?usp=sharing](https://drive.google.com/drive/folders/16vTPk6GAVFb6fgv5VBIDPxSl5-DrtpQx?usp=sharing)
Why "everthing" is a object in JavaScript
Tags: javascript, beginners, learning
Published: 2024-07-09 16:53:13

In JavaScript, "everything" is considered an object or can behave like an object due to its design principles. Here are some of the main reasons for this; Some examples;

![Example about object in Javascript](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3u34va6ih7nsfo1qfrzj.png)

But wait, you see `null` is considere a object, but why?

> Some people say it's a bug of the first version of the language and according ECMAScript is "the internal absence of any object value", for more detail follown the link about this [Stackoverflow](https://stackoverflow.com/questions/18808226/why-is-typeof-null-object/18808300#18808300)

---

It can be said that, in JavaScript, any value capable of having properties is an object. This is not the case with primitives (undefined, null, boolean, number, bigint, string and symbol). 
> Each instance of the Object type, also referred to simply as “an Object”, represents a collection of properties. Each property is either a data property, or an accessor property.

---
This design choice also aligns with JavaScript's dynamic nature, where objects can be created, modified, and extended at runtime without rigid class definitions. Functions, for example, are treated as objects and can be assigned to variables or passed around as arguments, showcasing JavaScript's functional capabilities alongside its object-oriented features.

In JavaScript, the pervasive concept that "everything is an object or behaves like one" stems from its foundational design principles, which prioritize flexibility, simplicity, and a dynamic approach to programming. This design philosophy underpins much of JavaScript's syntax and behavior, influencing how developers interact with data and functionality within the language.

---

<h2>References</h2>
- https://en.wikipedia.org/wiki/Primitive_data_type
- https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Operators/null
Iterators
Tags: java, programming, learning, beginners
Published: 2024-07-09 16:55:51

Each collection is **Iterable**. You can obtain its **Iterator** object to traverse all the elements in the collection. **Iterator** is a classic design pattern for walking through a data structure without having to expose the details of how data is stored in the data structure.

The **Collection** interface extends the **Iterable** interface. The **Iterable** interface defines the **iterator** method, which returns an iterator. The **Iterator** interface provides a uniform way for traversing elements in various types of collections. The **iterator()** method in the **Iterable** interface returns an instance of **Iterator**, as shown in Figure below, which provides sequential access to the elements in the collection using the **next()** method. You can also use the **hasNext()** method to check whether there are more elements in the iterator, and the **remove()** method to remove the last element returned by the iterator.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fok3ak02eom2jzkniq12.png)

The code below gives an example that uses the iterator to traverse all the elements in an array list.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/it2gph7mtrutrxairqn8.png)

The program creates a concrete collection object using **ArrayList** (line 7) and adds four strings into the list (lines 8–11). The program then obtains an iterator for the collection (line 13) and uses the iterator to traverse all the strings in the list and displays the strings in uppercase (lines 14–16).

You can simplify the code in lines 13–16 using a foreach loop without using an iterator, as follows:

`for (String element: collection)
 System.out.print(element.toUpperCase() + " ");`

This loop is read as “for each element in the collection, do the following.” The foreach loop can be used for arrays as well as any instance of **Iterable**.
🚀 *New stage in my mobile development adventure!* 🚀
Tags: javascript, programming
Published: 2024-07-09 16:56:35

🚀 *New stage in my mobile development adventure!* 🚀

Today marks a big milestone for me: I've set up my mobile development environment with React Native! 🎉

It wasn't an easy task, but every challenge met is a new skill acquired. I'm extremely excited to continue my learning and develop powerful and elegant mobile applications.

Stay tuned to follow my journey and discover my future projects! 💻📱

#MobileDevelopment #ReactNative #SelfTaughtDeveloper #TechJourney #Learning #NewSkills
---
What do you think?
🚀 Advanced Terminal Calculator: Your Ultimate Dev Tool! 🌟
Tags: python, github, programming, opensource
Published: 2024-07-09 16:57:34


👋 Hey devs! I've been working on something super cool -- the **Advanced Terminal Calculator**! It's not just any old calculator. This baby combines a bunch of handy tools into one terminal interface. Whether you're a casual user or a pro, this calculator's got you covered. 🎉

* * * * *

### 🌟 Features

Imagine having a calculator that does more than just math. This one can convert units, fetch the weather, get the latest news, and even chat with OpenAI's ChatGPT. 😲 Here's a quick rundown of what it can do:

-   💱 **Currency Conversion**: Real-time exchange rates.
-   🌦️ **Weather Updates**: Get weather info for any location.
-   📰 **News Headlines**: Stay updated with the latest news.
-   🧮 **Advanced Math Functions**: From basic arithmetic to complex operations.
-   🎙️ **Voice Assistance**: Results read out loud with TTS.
-   📜 **History Logging**: Track all your past calculations.
-   🔢 **Unit Conversion**: Convert between different units easily.
-   🌡️ **Temperature Conversion**: Switch between Celsius, Fahrenheit, and Kelvin.
-   🤖 **GPT-3.5 Turbo**: Chat with OpenAI's ChatGPT.
-   📋 **Copy to Clipboard**: Easily share your results.

* * * * *

### ⚙️ Getting Started

Setting it up is super simple:

1.  **Clone the repo:** `git clone https://github.com/SafwanAyyan/Calculator`
2.  **Install dependencies:** `pip install -r requirements.txt`
3.  **Run the tool:** `python calculator.py`

* * * * *

### 👨‍💻 Developer Humor

Why do programmers prefer dark mode? Because light attracts bugs! 🐞😄

* * * * *

Check it out and let me know what you think! 🚀

Happy coding! 💻✨
Building a Robust Next.js Quiz App: My Journey
Published: 2024-07-09 17:17:35

The Challenge
Recently, I embarked on an exciting project: building a Next.js app with dynamic client-server interactions and static site generation. The initial implementation was seamless, especially with token-based authentication for the login page. Everything was running smoothly until my client threw in a new requirement—a feature to create a quiz app.

This new feature demanded server-side rendering (SSR) to expose an API endpoint. The backend, built with Laravel, included authentication routes. The critical part was ensuring that the quiz questions were tailored to the user’s profile, requiring secure access to the authenticated user's data.

The Roadblocks
Token Access: The token needed for authentication was stored in local storage, inaccessible from the server side. Conversely, the client side couldn't use cookies.
Data Transmission: Although server-side data can be passed to the client via props, my component structure didn't allow for this straightforward transmission.
The Solution
Innovation and a bit of clever engineering helped me overcome these obstacles. Here's how:

Token in URL: By encoding the token as a URL parameter, I could access it server-side. This approach allowed me to retrieve the token and use it as a Bearer token in the header.
Seamless Integration: This method was not only secure but also adaptable, working flawlessly for infinite loading scenarios via server actions.
Final Thoughts
This project was a rewarding challenge, showcasing the power of combining Next.js with Laravel for a robust, full-stack solution. The ability to seamlessly integrate SSR with token-based authentication opened new doors for secure and dynamic user interactions.

Thanks for joining me on this journey! If you have any questions or need assistance with similar projects, don't hesitate to reach out.
How we fixed the app downtime issue in NeetoDeploy
Tags: webdev, devops, programming
Published: 2024-07-09 17:20:35

We have a new blog on: How we fixed the app downtime issue in NeetoDeploy. 

NeetoDeploy is an alternative to Heroku. At Neeto, we are building 20+ applications, and most of them are running in neetoDeploy. 🔥 

Learn more about the 520 response code and how we fixed the app downtime issue. 👀 

Read more here: https://www.bigbinary.com/blog/how-we-fixed-app-down-time-in-neeto-deploy
Skillcertpro Review? Is it any good for Azure & AWS?
Tags: skillcertpro
Published: 2024-07-09 17:33:36

Below post is based on my Experience with AZ-104, SC-900, AWS Solutions Architect exams.

**Comprehensive Coverage of Azure and AWS Certifications**
Skillcertpro offers a wide range of resources for various Azure and AWS certifications. Whether you’re preparing for the AZ-104 (Microsoft Azure Administrator), AZ-204 (Microsoft Azure Developer Associate), or the AWS Certified Solutions Architect - Associate, Skillcertpro has you covered. Their practice exams are designed to mimic the actual test environment, which helps in getting a feel of the real exam.

**Quality of Practice Tests**

The practice tests provided by Skillcertpro are of high quality. The questions are not just about rote memorization but are designed to test your understanding of the concepts. They include:

**Multiple-Choice Questions**: These questions are similar to what you would encounter in the actual exam. They cover a wide range of topics and are updated regularly to reflect the latest exam patterns.
Drag-and-Drop Questions: These types of questions test your practical knowledge and ability to apply concepts in real-world scenarios. Skillcertpro includes these in their practice tests to ensure you’re well-prepared.
**Scenario-Based Questions**: Real-world scenarios are a significant part of cloud certifications. Skillcertpro’s scenario-based questions help you think critically and apply your knowledge to solve problems.
**Detailed Explanations and Exam Notes**
One of the standout features of Skillcertpro is the detailed explanations provided for each question. These explanations help you understand why a particular answer is correct and why the other options are not. This deepens your understanding and prepares you better for the exam.

The exam notes are another valuable resource. They condense the most important topics and concepts into easily digestible points, making last-minute revisions much more manageable.

**Regular Updates**
The cloud landscape is constantly changing, and certification exams are frequently updated to reflect these changes. Skillcertpro stays on top of these updates, ensuring that their practice tests and materials are current. This is crucial for anyone preparing for an exam, as outdated materials can lead to a lot of confusion and misinformation.

**Realistic Test Environment**
Skillcertpro’s practice exams are designed to simulate the actual test environment. This includes timed exams and a similar interface to what you will encounter on exam day. This helps in managing time effectively and reduces anxiety on the day of the actual exam.

**Conclusion**
Based on my experience, Skillcertpro is a fantastic resource for anyone preparing for Azure and AWS certifications. The practice tests are comprehensive, well-structured, and updated regularly. The detailed explanations and realistic test environment make it a valuable tool in your preparation arsenal.

Whether you’re a beginner or someone looking to advance their career with a new certification, Skillcertpro can provide the edge you need to pass your exams with confidence.
Development Made Easy for Lazy and Productive Devs - Get Code Snippets for Full or Basic Props for Native or Expo Components
Tags: vscode, extensions, reactnative, mobile
Published: 2024-07-09 17:39:11

While building my project (Quotix), which I'm using to learn and apply my knowledge in Mobile Development using Expo (React Native Framework), I sometimes have to:

1. Jump back again to the docs
2. Search for a particular component
3. Take note of the props that suit my needs
4. Hop back to the IDE

Phew! I'm thrilled to share that I've just published my first VSCode extension on the Marketplace (React Native and Expo Code Snippets). 🎉

## Motivation
As a newcomer to React Native with Expo, I found it tiring to constantly switch between my editor and the documentation to check component props. This inspired me to create an extension that streamlines this process.

## The Game Changer for me!
With my extension, developers can simply type _exp or _rn to access a list of code snippets, including basic and full props for components (React Native or Expo-specific). It's a fantastic way to enhance productivity and keep the development flow uninterrupted. 💡💻

![Image Example usage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4ai0tepbt2layzd18m3.gif)

With more than 70+ (and counting) snippets for many of the components, or implementations for (ContextApi, Location, Camera, Permissions), now you can speed up your development process. No need to try to remember the props; just type _rn or _exp for IntelliSense to trigger the component you want, and you pick out what you need and toss out what you don't.

## Get the Extension Now and Try it out
https://marketplace.visualstudio.com/items?itemName=Cre8steveDev.react-native-and-expo-code-snippets&ssr=false#review-details 

If you're a React Native or Expo Developer, you will find this extension useful, as I have too.

## Wanna Try building your Own Extension?
If you're feeling adventurous and would like to create productivity-aiding tools for your development environment. It's quite easy. 

1. Install the `Yeoman` and `VSCode Extension Generator`
```bash
npm install -g yo generator-code
```
2. Generate the extension project
```bash
yo code 
```
Follow the prompt to choose the type of project you want to work on.
3. Define your snippets in the `snippets.code-snippets` file using the snippet language, kindda like json (you can look up the repository for the extension to get an idea of how it's done and the general project structure @ https://github.com/Cre8steveDev/React-Native-and-Expo-Code-Snippets

Learning Resource: 
1. https://code.visualstudio.com/api/language-extensions/snippet-guide
2. https://code.visualstudio.com/api/working-with-extensions/publishing-extension
Ready to Dive into React? Let's Build Your First App!
Tags: webdev, beginners, javascript, react
Published: 2024-07-09 18:43:20

So you're ready to learn React, the powerful JavaScript library for building dynamic user interfaces!  That's awesome.  But before we start building fancy components, we need a solid foundation. Let's get your first React app up and running! 

**1.  Node.js and npm (or yarn): Your Development Tools**

Think of Node.js as the engine that powers your React app, and npm (or yarn) as the toolbox. You need both!  

* **Get Node.js:** Head to [https://nodejs.org/](https://nodejs.org/) and download the installer for your operating system.  This comes with npm, the package manager you'll use to install React and other tools.
* **Verify Your Installation:** Open your terminal or command prompt and type `node -v` and `npm -v`.  You should see the versions of Node.js and npm installed.

**2. Create Your React App**

Now for the fun part! Let's create a new React project using Create React App, a tool that sets up everything you need:

```bash
npx create-react-app my-react-app
```

Replace `my-react-app` with your desired project name. This command will:

* Download the necessary files.
* Install React and related dependencies.
* Create a basic app structure.

**3. Navigate into Your Project**

Once Create React App finishes, open your terminal and navigate to your project directory:

```bash
cd my-react-app
```

**4. Start the Development Server**

Let's fire up the development server to see your app in action!

```bash
npm start
```

This will usually open your default browser to `http://localhost:3000/` where you'll see the default React welcome page.  Yay!  You've successfully created your first React app.

**5. Explore the Files**

Open the project folder in your code editor (VS Code is a popular choice). You'll find:

* **`src` directory:**  This is where your React code will live.
* **`public` directory:**  This holds static assets like your HTML (`index.html`) and CSS (`index.css`).
* **`package.json`:**  This file lists the dependencies of your project.
* **`README.md`:**  This file contains instructions and information about the project.

**Let's Make Changes**

Now, let's make a simple change to see how React works. In the `src/App.js` file, replace the contents with:

```javascript
import React from 'react';

function App() {
  return (
    <div>
      <h1>Hello, React!</h1>
    </div>
  );
}

export default App;
```

Save the file, and your browser will automatically refresh to show your new heading! 

**Tips for Success**

* **Experiment!** Change the text, add more elements, and play around to see what happens.
* **Documentation is your friend:**  [https://reactjs.org/](https://reactjs.org/) is a great resource for learning React.
* **Community Support:** There's a fantastic community of React developers. Don't hesitate to ask questions!

That's it!  You've built your first React app. Now, the fun part begins –  learning how to create interactive and dynamic user experiences with React!
Issue 52 of AWS Cloud Security Weekly
Tags: security, aws, news
Published: 2024-07-09 18:49:44

(This is just the highlight of Issue 52 of AWS Cloud Security weekly @ https://aws-cloudsec.com/p/issue-52 << Subscribe to receive the full version in your inbox weekly for free!!).

**What happened in AWS CloudSecurity & CyberSecurity last week July 03-July 09, 2024?**
- AWS Managed Services (AMS) Accelerate customer now have access to Trusted Remediator, allowing them to automatically address recommendations derived from Trusted Advisor checks. This automation eliminates the need for manual intervention to resolve account misconfigurations, enhancing security, fault tolerance, and performance. 

**Trending on the news & advisories (Subscribe to the newsletter for details):**
- Avast releases free decryptor for DoNex Ransomware and its Predecessors.
- Google announces the launch of kvmCTF, a vulnerability reward program (VRP) for the Kernel-based Virtual Machine (KVM). 
- Twilio Authy- Security Alert: Authy Android (v25.1.0) and iOS App (v26.1.0) 
- Proton introduced Docs in Proton Drive.
hire skilled android app developers
Published: 2024-07-09 19:02:08


Supercharge your business with Centric Tech's[ hire skilled android app developers](https://centrictech.com/hire-android-app-developers/)
expertise. Our seasoned developers are ready to turn your groundbreaking ideas into reality. Elevate your brand with top-notch Android solutions tailored to meet your unique requirements. Whether you're launching a new app or enhancing an existing one, our experienced team ensures innovation and quality in every project. Harness the power of technology to stay ahead in the competitive landscape. Choose Centric Tech for unparalleled Android app development services and bring your business to new heights.