teleren/devto huggingface dataset:
Lancerkit - The web app for freelancers
Tags: freelance, webdev, saas, startup
Published: 2023-02-13 05:02:55


Hello, developers!


I've been working on a tool for my own business for the last few weeks. It is now ready to be shared with the rest of the world. So I'm delighted to announce the release of Lancerkit, a full program created exclusively for freelancers.

I'm putting this post on dev.to since many software engineers, like myself, are freelancers. 
So, I'd want to hear from the community on any part of Lancerkit, from its technical implementation to its user interface. 
I'd want to make Lancerkit the best it can be for freelancers like you, so please share your views and recommendations with me.


As a freelancer, I've seen the difficulties that come with running a business, from acquiring new clients to keeping track of your revenue and costs.

But, as a developer, I've always resisted all of the paperwork and administrative weight that comes with it.
That's why I created Lancerkit: to make my freelancing life easier and more organized. I was able to manage all parts of your freelancing company in one spot using Lancerkit. That's why I believe it's now ready for everyone.


Lancerkit has a variety of features that make it ideal for freelancers. With a few clicks, you can manage your documents, contacts, and invoice your clients. Lancerkit also has a comprehensive financial monitoring system that allows you to keep track of your income, spending, and match transactions.

Today, I'd want to seek your input on that tool. Today,  it's something I use daily, but I'd like to obtain your opinion. Is this something you'd consider using, and what do you think of the tool? Is it well-executed?

Simply sign up for a free account on our website to experience Lancerkit for yourself (here is the link: [https://lancerkit.com](https://lancerkit.com) ). I'm sure you'll like it as much as I do!
I'm interested to hear what you think about Lancerkit and how it can help you take your freelancing career to the next level. Thank you for your help!
What is the use of ':is()' in CSS?
Tags: css, beginners, programming, html
Published: 2023-02-13 05:00:32

The "is" selector in CSS is a type of pseudo-class that allows you to select elements that are in a specific state. This state could be a hover state, an active state, or a focus state, among others. In other words, the "is" selector helps you apply styles to elements based on the way they are being interacted with by the user.

Here's an example of how you can use the "is" selector in CSS:

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

In this example, the "is" selector is being used to select the button element when it's being hovered over and activated at the same time. The background-color property is then set to blue to change the color of the button when these conditions are met.

The "is" selector can also be used in combination with other selectors to target specific elements with greater precision. For example:


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

In this example, the "is" selector is being used to select p elements that have the class highlight. The background-color property is then set to yellow to give these elements a yellow background.

It's important to note that the "is" selector is only supported in modern browsers, so you should use it with caution and make sure to provide fallback styles for older browsers.

In conclusion, the "is" selector in CSS is a powerful tool that can be used to apply styles to elements based on their state. Whether you're styling buttons, links, or other elements, the "is" selector can help you create dynamic and interactive user interfaces with ease.


💡 NOTE: If you can't see it click [here](https://codepen.io/StakeDesigner/pen/VwGZpyJ) and see the final result

##Support 
[YouTube](https://www.youtube.com/@stakedesigner)
[Website](https://stakedesigner.com/)

##Thanks for reading!

If you have any questions, complaints or tips, you can leave them here in the comments. I will be happy to answer!

😊😊 See you later! 😊😊
Simplify Business Logic with Reactive Architecture
Tags: architecture, refactoring
Published: 2023-02-13 04:41:42

Expressing a complex business logic as a readable code is not an easy task. Also, refactoring can feel like shifting the complexity around rather than making it simpler. I'd like to show you a technique that can simplify your code: using Reactive Architecture.

Please take a look at this example:

```js
class Feedback {
  create(user, message) {
    // Save the feedback on db.
    dbService.create("Feedback", message);
    if (user.isVip) {
      // Send notification on slack on VIP feedback.
      slackService.notify(message);
    } else {
      // Non-VIP feedbacks get deleted later.
      taskQueue.enqueue(
        "/tasks/delete-feedback",
        {id: message.id},
      );
    }
  }
}
```

As you can see, it is really common for a business logic to include side-effects like logging, messaging, analytics, and scheduling. The example code wraps the ugly part behind services methods (like `slackService.notify`), but you can see the function is clearly doing more than one thing. Basic extraction like below won't really improve anything here.

```js
function enqueueDeleteTask(messageId) {
  taskQueue.enqueue(
    "/tasks/delete-feedback",
    {id: messageId},
  );
}
```


But we can simplify the code by splitting them into cause & effect. Also known as Reactive Architecture or event handlers.

```js
class Feedback {
  constructor(options) {
    this.onVipFeedback = options.onVipFeedback;
    this.onNonVipFeedback = options.onNonVipFeedback;
  }
  create(user, message) {
    dbService.create("Feedback", message);
    if (user.isVip) {
      onVipFeedback();
    } else {
      onNonVipFeedback();
    }
  }
}

// usage
const feedbackService = new Feedback({
  onVipFeedback: (message) => {
    slackService.notify(message);
  },
  onNonVipFeedback: (message) => {
    taskQueue.enqueue(
      "/tasks/delete-feedback",
      {id: message.id},
    );
  },
});
```

This structure is much better than the original code because

1. `Feedback.create` method will not change when business logic changes for VIP feedback handling. It will stay short and readable.

2. `Feedback.create` method doesn’t depend on “slackService” or “taskQueue” anymore. This makes testing much easier.

The benefits of Reactive Architecture get amplified as your business logic gets more complicated. Try this technique next time you’re writing a complex code. The technique is pretty versatile so you can use it as easily in backend controllers as in React component functions.
Core Java - Packages
Tags: java
Published: 2023-02-13 04:29:55

**Packages**
In java packages are used to structure the code in the folder.

A class inside same package can access the Static method directly and non-static method by creating object for it.

A class outside the package can access by importing the class from package.

If 2 classes in different package as same name even if we import class still it points to the class in the same package.
To call package 1 class package1.classname.method .
Running Jenkins On Docker | Day 3 | Jenkins Tutorial for Beginners
Tags: webdev, beginners, programming, tutorial
Published: 2023-02-13 04:23:26

In this video, we are going to install docker and run our Jenkins on Docker.

{% embed https://youtu.be/i9pr0m8ZdIY %}

✅✅ Download Jenkins 
https://docs.docker.com/get-docker/


✅✅ Command
docker pull jenkins/jenkins
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins

✅✅ Download Slides + NOTES - https://sdet.live/notes


———————————————————————————

🔗 Join the Facebook Group - http://scrolltest.com/fb

🔗 Learn API Testing(with Postman) - https://learnapitesting.com/

🔗 Rest API Testing with Python - http://masterapitesting.com/

🔗 E2E Frontend Testing with Cypress - http://cypresstutorial.com/

🔗 Join Our Automation Newsletter - http://scrolltest.com/tta

🔗 Master API Testing Bundle - https://apitesting.co/bundle

🔗 Rest Assured MasterClass- https://apitesting.co/enroll


———————————————————————————

Who is this for?

✅ Anyone who wants to learn How Jenkins works, basics and more.
✅ Want to run your own projects on Jenkins

✅✅ What is Jenkins?

**Jenkins** – an open source automation server which enables developers around the world to reliably build, test, and deploy their software.

https://www.jenkins.io

https://en.wikipedia.org/wiki/Jenkins...
)

✅ *An open source automation server which enables developers around the world to reliably build, test, and deploy their software*

✅ Why we need to Learn Jenkins?

Jenkins has become an indispensable tool for both Java programmers and DevOps engineers. **Jenkins allows you to set up continuous integration (CI) and continuous deployment (CD) pipeline**, which reduces risk on Software development and delivery

✅ What are the benefits of Jenkins?

- *Runs Automated Test Suites*
- *Run you Web, Mobile Automation SUITE*
- *API Monitoring*
- *Report and Email Notification*
- *Trends and detailed failure that can be shared.*
- *You can use slave to make build and run fast.*

How to install Jenkins on Windows, Mac and Ubuntu

1. Go the [https://www.jenkins.io/
](https://www.jenkins.io/)download

2. Install the file or follow steps
3. Install the default plugins
4. Navigate to localhost:8080

✅ *Do I need to know coding to learn Jenkins?* 

No, OPnly in some cases you need to learn Groovy

#jenkins #jenkinstutorial #jenkinsinstall
API logs - Best practices
Tags: logs, api, webdev, productivity
Published: 2023-02-13 04:16:53

### How to log information in APIs?
Logging the right information will save you **hours of debugging** and improve **code flow visibility**.

- Do not **console.log or println** etc... Because,
  - These logs are directly added to the terminal where the server runs.
  - This is difficult to read and record.
- Use a library or create a separate service for logging. Better to save them in a separate file at a secure location if not using any existing libraries.
- Avoid logging sensitive data. Like,
  - usernames
  - tokens
  - password
  - Database config data
- Avoid logging each stage of the API like, starting, started, processing, done. Instead add details like,
  - Non-sensitive but critical input data that determine the API flow. Ex: flags or reference ids.
  - Log any third party integrated APIs. Ex: "Firebase Authentication response: 200 success", but do not log the actual response.
- Make it as **meaningful** as possible with limited data.
- Add a **header** for easy filtering. Ex: "Login API: ...." or "Get user details: ...
- Add enough **facts** or information for debugging the issue. Not just plain sentences like as it will be easy to cross refer and confirm the understanding. Ex:
  - **Avoid**: "Received response from firebase"
  - **Better**: "User authenticated by firebase: <reference_id>" or "Firebase authentication failed: <reference_id>"
- Add only suspicious or areas where logs could help. Ex: Third party integration - It will help decide if our code went wrong or third party API returned wrong.
  - Avoid adding in simple get APIs. Where there is no much data processing, only data retrieving. So, no need of detailed logging here.
- Do not forget to remove when not necessary. It will save a log of time when viewing and filtering the logs.
- Do not add logs in core areas like (index.js, routes, middlewares, etc…)

### Log types
- **Error**: This is used when you need to log any error like DB connection failed or uncaught error thrown.
- **Debug**: This is debugging logs. This is used to log any information that can will used for better understanding of the API flow. Ex: "Third party auth succeed".
- **Warn**: This is used when logging issues that may or suspected to cause issues. Like malformed data from any third party or any API header missing.
- **Log**: This is a general log type.
Weekend Product HandyAi, built and released during two days
Published: 2023-02-13 03:48:43


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

Introducing **[HandyAi](https://handyai.app/)**: The Revolutionary Chat GPT GUI

Do you want to streamline the way you interact with the powerful language model, GPT-3? Look no further than HandyAi, the cutting-edge Chat GPT GUI that makes it easier than ever to harness the power of AI technology.

With HandyAi, you can now access GPT-3's natural language processing capabilities through a user-friendly interface. No longer will you have to sift through lines of code to get the information you need. Simply type in your question or request, and HandyAi will provide you with a clear, concise answer.

Whether you're a researcher, business owner, or just someone who loves to explore the latest technology, HandyAi has something to offer. With its advanced features, you can customize your interactions with GPT-3 to fit your specific needs. Whether you're looking for a detailed analysis of a particular topic or just need some quick answers to everyday questions, HandyAi has you covered.

In addition to its user-friendly interface, HandyAi is also designed to be secure and privacy-focused. You can trust that your information and data are protected with the latest security measures.

So why wait? Give HandyAi a try today and experience the future of AI technology for yourself. You'll wonder how you ever managed without it.
1523. Leetcode Solution in CPP
Tags: cpp
Published: 2023-02-13 03:47:32

============================================================
Description:
Given two non-negative integers low and high. Return the count of odd numbers between low and high (inclusive).

 

Example 1:

Input: low = 3, high = 7
Output: 3
Explanation: The odd numbers between 3 and 7 are [3,5,7].
Example 2:

Input: low = 8, high = 10
Output: 1
Explanation: The odd numbers between 8 and 10 are [9].
 

Constraints:

0 <= low <= high <= 10^9
============================================================
Solution:
```cpp
class Solution {
 public:
  int countOdds(int low, int high) {
    return (high + 1) / 2 - low / 2;
  }
};

```
============================================================
#leetcode
#challenge 
Here is the link for the problem:
https://leetcode.com/problems/count-odd-numbers-in-an-interval-range/
bank-ussd-code-and-latest-bank-ussd-codes
Tags: thelatestbankussdcode
Published: 2023-02-13 03:37:30

<h1><strong><a href="https://www.bankussdcode.com/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle">https://www.bankussdcode.com/</a></strong></h1>
<img src="https://image.space.rakuten.co.jp/d/strg/ctrl/9/242ed274166bda0cc02dab27af63b863beb295e4.34.9.9.3.jpeg"/><img src="https://image.space.rakuten.co.jp/d/strg/ctrl/9/242ed274166bda0cc02dab27af63b863beb295e4.34.9.9.3.jpeg"/>
Object-Oriented Programming in Ruby
Published: 2023-02-13 03:06:44


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

**What is Object-Oriented Programming?**
In OOP, data is modeled using objects that encapsulate both data and behavior. Each object is an instance of a class, which defines its properties and methods. Classes allow you to create multiple objects that have the same properties and behavior, and they provide a blueprint for the objects they create.

**Classes in Ruby**
A class in Ruby is defined using the class keyword followed by the name of the class. The class body is defined within curly braces. For example:


```
class Cat
  attr_accessor :name, :breed

  def initialize(name, breed, age)
    @name = name
    @breed = breed
    @age = age
  end

  def meow
    puts "#{name} meows"
  end
end

```

In the example above, we've defined a Cat class with two instance variables :name and :breed. We've also defined an initialize method that sets the values of the instance variables when a new Cat object is created. The meow method simply outputs a string to the console when it's called.

**Objects in Ruby**
An object in Ruby is an instance of a class. To create an object, you call the new method on the class and pass in any required arguments to the initialize method. For example:

```
cat= cat.new("Simba", "British Shorthair", 6)

```

This creates a new Cat object with a name of "Simba" and a breed of "British Shorthair" with an age of 6

Accessing Properties and Methods of Objects
To access the properties of an object in Ruby, you use the dot notation. For example:

```
puts cat.name
puts cat.breed
puts cat.age

```
This will output:

```
Simba
British Shorthair
6

```
To call a method on an object, you use the dot notation followed by the method name and any required arguments within parentheses. For example:

```
cat.meow
```
This will output "Simba meows"

**Inheritance in Ruby**
Inheritance is a key concept in OOP that allows you to create new classes that are based on existing classes. The new class inherits all the properties and behavior of the parent class, and can also add new properties and behavior.

To create a subclass in Ruby, you use the < operator followed by the parent class name. For example:

```
class PersianCat< Cat
  def play
    puts "#{name} plays with his toys."
  end
end

```
In this example, we've created a PersianCat class that inherits from the Cat class. The PersianCat class has all the properties and methods of the Cat class, as well as its own "play" method.
[Electron] Play audio from a specific destination
Tags: electron
Published: 2023-02-01 17:57:01

## Project files

ElectronSample
    L clients
        L ts
            L audio.page.ts
    L sound
        L sample.mp4
    L views
        L js
            L clients
                L audio.page.js
        L playAudio.html
L forge.config.js
L main.ts
L package-lock.json
L package.json
L preload.ts
L tsconfig.json
L webpack.config.js

## Samples
#### playAudio.html
```html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Play audio</title>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body style="background: white;">
    <audio id="audio_player" src="../sound/sample.mp3"></audio>
    <button onclick="Page.playUsb()">Play USB Headphone</button>
    <button onclick="Page.playHeadphoneJack()">Play Headphone Jack</button>
    <button onclick="Page.stop()">Stop</button>
    <script src="./js/clients/audio.page.js"></script>
    <script>Page.init();</script>
</body>
</html>
```

#### audio.page.ts
```ts
let audioElement: HTMLAudioElement;
export async function init() {
    audioElement = document.getElementById("audio_player") as HTMLAudioElement;
    audioElement.loop = true;
}
export async function playUsb() {
    const usbHeadphoneId = await getDeviceId("usb");
    if(usbHeadphoneId != null) {
        (audioElement as any).setSinkId(usbHeadphoneId);
        audioElement.play();
    }
}
export async function playHeadphoneJack() {
    const headphoneId = await getDeviceId("headphone");
    if(headphoneId != null) {
        (audioElement as any).setSinkId(headphoneId);
        audioElement.play();
    }
}
export function stop() {
    audioElement.pause();
}
async function getDeviceId(key: string): Promise<string|null> {
    try {
        for(const d of await navigator.mediaDevices.enumerateDevices()) {
            if(d.kind !== "audiooutput") {
                continue;
            }            
            if(d.label.toLowerCase().includes(key)) {
                return d.deviceId;
            }
        }
    }catch(ex) {
        console.error(ex);
    }
    return null;
}
```

## Get device info by navigator.mediaDevices.enumerateDevices()
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41jnucouz54dzelvob2f.png)

## Resources
* [Audio Output Devices API - W3C](https://www.w3.org/TR/audio-output/)
* [MediaDevices.enumerateDevices() - Web APIs - MDN](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices)
* [HTMLMediaElement.setSinkId() - Web APIs - MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId)
Giới thiệu về Luận Văn Beta
Tags: luanvanbeta, vietthueluanvan
Published: 2023-02-13 03:04:34

Thành lập năm 2018, Luận Văn Beta là đơn vị cung cấp các dịch vụ viết luận văn thạc sĩ thuê, viết khóa luận tốt nghiệp, viết tiểu luận thuê, viết thuê báo cáo thực tập... trọn gói với mức giá tốt nhất trên thị trường. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojdotznp7sr9pflwv41f.jpeg)
LUẬN VĂN BETA – DỊCH VỤ VIẾT LUẬN VĂN THUÊ CHUYÊN NGHIỆP
Địa chỉ: 29A Nguyễn Đình Chiểu, Đa Kao, Quận 1, Thành phố Hồ Chí Minh
Website: https://luanvanbeta.com
Hotline: 0934725139
Email: Luanvanbeta@gmail.com
Bộ sưu tập nhạc chuông nhạc trẻ đặc sắc và độc đáo
Published: 2023-02-13 02:59:06

## Bộ sưu tập nhạc trẻ Việt Nam đang HOT

- [Nàng Thơ – Hoàng Dũng](https://nhacchuong39.com/nang-tho-hoang-dung/)
- [Là Do Em Xui Thôi – Khói, Sofia, Châu Đăng Khoa](https://nhacchuong39.com/la-do-em-xui-thoi-khoi-sofia-chau-dang-khoa/)
- [Già Cùng Nhau Là Được – Tùng TeA, PC](https://nhacchuong39.com/gia-cung-nhau-la-duoc-tung-tea-pc/)
- [Chúng Ta Của Hiện Tại – Sơn Tùng M-TP](https://nhacchuong39.com/chung-ta-cua-hien-tai-son-tung-m-tp/)
- [Một Mình Có Buồn Không – Thiều Bảo Trâm](https://nhacchuong39.com/mot-minh-co-buon-khong-thieu-bao-tram/)
- [Có Chơi Có Chịu – Karik, Only C](https://nhacchuong39.com/co-choi-co-chiu-karik-only-c/)
- [Cưới Thôi – Masew, Masiu, B Ray, TAP](https://nhacchuong39.com/cuoi-thoi-masew-masiu-b-ray-tap/)
- [Để Tôi Ôm Em Bằng Giai Điệu Này – KAI ĐINH, MIN, GREY D](https://nhacchuong39.com/de-toi-om-em-bang-giai-dieu-nay-kai-dinh-min-grey-d/)
- [Hai Mươi Hai (22) – Amee, Hứa Kim Tuyền](https://nhacchuong39.com/hai-muoi-hai-22-amee-hua-kim-tuyen/)
- [Không Yêu Cũng Chẳng Cô Đơn – Đỗ Hoàng Dương](https://nhacchuong39.com/khong-yeu-cung-chang-co-don/)
- …

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tamv9ug8oyvkxn9iuvsn.jpg)
## Lưu ý cần biết khi chọn nhạc chuông nhạc trẻ

Khi chọn [nhạc chuông nhạc trẻ](https://nhacchuong39.com/nhac-chuong-nhac-tre/) cho điện thoại di động, bạn cần xem xét một số lưu ý sau:

- Ưu tiên chọn nhạc có thể nghe mượt mà và không quá giật: Bạn cần chọn một bài hát có âm thanh trong sáng, chất lượng tốt và không quá giật.
- Chọn nhạc phù hợp với tâm trạng của bạn: Cần chọn một bài hát mà bạn thực sự yêu thích và phù hợp với tâm trạng của bạn.
- Chọn nhạc có độ dài phù hợp: Bạn cần chọn một bài hát có độ dài phù hợp, không quá ngắn hoặc quá dài.
- Xem đánh giá trình bày của nhạc: Bạn cần xem xét đánh giá trình bày của bài hát và chọn nhạc có giai đoạn đầu hoặc cuối phù hợp để làm nhạc chuông.
- Kiểm tra chất 
lượng âm thanh: Bạn cần kiểm tra chất lượng âm thanh của bài hát trước khi chọn nó làm nhạc chuông.

Lưu ý: Chọn một nhạc chuông tốt có thể giúp bạn cảm thấy tốt hơn mỗi khi bạn nhận được một