teleren/devto huggingface dataset:
Taashee Partners with RavenDB – World’s Fastest NoSQL Database
Tags: nosqldatabase, businesspartnership, taasheelinuxservices, ravendb
Published: 2022-12-21 10:15:30

This week, Taashee Linux Services, one of the premier open-source technology companies in India, announced the launch of its strategic partnership with RavenDB, which is a NoSQL Document Database that addresses the needs of applications operating on the cloud, over multiple devices, and throughout the Internet of Things (IoT).
RavenDB was one of the first databases to be built especially for a distributed environment and is the first Document Database to offer high performance with Fully Transactional (ACID) Data Integrity. As a NoSQL database, RavenDB avoids the major drawbacks of its relational counterparts like full table scans due to queries without indexes, lack of support for native distribution, or SQL injection attacks. Being schema-less gives it the ability to store semi-structured or even unstructured data and the availability of X.509 certificate-based authentication and encryption at rest, makes it secure by default!
Taashee aims to leverage RavenDB’s unique features to provide an expanded options palette for its clients who are looking for certain niche functionalities in their customized database solutions. For example, RavenDB’s fully ACID, including Multi-Document and Cluster-Wide transactions capabilities are a major draw for organizations pursuing PCI, HIPAA, GDPR, and CCPA-compliant data integrity in their databases. Native clustering options, and the ability to run on any system make RavenDB a boon for organizations looking for a highly scalable database, while its high performance (150,000+ writes and 1,000,000+ reads per second on commodity hardware) ensures that Taashee’s clients can even run their production applications on a simple Raspberry Pi setup!
However, the features that especially set RavenDB apart from other databases are its Auto Indexing and Full-text Search capabilities. Since Taashee caters to clients from various walks of business, we understand the need for a database that evolves to be more efficient based on industry-specific queries. RavenDB provides this capability, increasing performance by automatically creating, using, and updating indexes based on specific user-defined queries. Moreover, its inbuilt search function, which allows full-text search with suggestions, geospatial searching, result boosting, facets, and complex aggregations with Map/Reduce has become one of RavenDB’s primary USPs.
As our CTO and MD, Mr. Abhishek Datt puts it, “Taashee is very happy to announce partnering with RavenDB which is, at this point, the world’s fastest NoSQL database. Now our clients can have the liberty of creating schema-less data stores along with high-throughput transactional capabilities.”
This article was originally published on [our company blog](https://www.taashee.com/taashee-partners-with-ravendb-worlds-fastest-nosql-database/).
Markdown
Tags: github, readme, scrimba, markdown
Published: 2022-12-21 10:14:45

Markdown (.md) is a lightweight markup language for creating formatted text using a plain-text editor.
is used in Readme files on github README.md

this is a sample of Markdown file
source code :: https://github.com/MedAmineCk/Markdown
```markdown
<!-- Headings -->

# Heading 1

## Heading 2

### Heading 3

#### Heading 4

##### Heading 5

###### Heading 6

<!-- Italics -->

\_This text\_ is italic

_This text_ is italic

<!-- Strong -->

**This text** is strong

**This text** is strong

<!-- Strikethrough -->

~~This text~~ is strikethrough

## <!-- Horizontal Rule -->

---

<!-- Blockqoute -->

> this is a blockqoute

<!-- Links -->

[Portfolio](https://www.medamineck.com)

[Portfolio with a hint](https://www.medamineck.com "medamineck.com")

https://www.medamineck.com

`https://www.medamineck.com`

<!-- Emails -->

<contact@medamineck.com>

<!-- UL -->

- item 1
- item 2
- item 3
  - Nested item 1
  - Nested item 2

<!-- OL -->

1. item 1
1. item 2
1. item 3

<!-- Inline code block -->

`print("hello world") <p class="bg">hello</p>`

<!-- Images -->

![placeholder](https://via.placeholder.com/150)

<!-- Github Markdown -->
<!-- Gode Blocks -->

\`\`\`bash
    npm install vite@latest
\`\`\`

\`\`\`javascript
console.log("hello world");
\`\`\`

<!-- Tables -->

| Name    | Email                  |
| ------- | ---------------------- |
| me      | contact@medamineck.com |
| another | another@email.com      |

| Left | Center | Right |
| :--- | :----: | ----: |
| 1    |   2    |     3 |

<!-- Task List -->

- [x] task done
- [ ] task to do

```
Output ::
<!-- Headings -->

# Heading 1

## Heading 2

### Heading 3

#### Heading 4

##### Heading 5

###### Heading 6

<!-- Italics -->

\_This text\_ is italic

_This text_ is italic

<!-- Strong -->

**This text** is strong

**This text** is strong

<!-- Strikethrough -->

~~This text~~ is strikethrough

## <!-- Horizontal Rule -->

---

<!-- Blockqoute -->

> this is a blockqoute

<!-- Links -->

[Portfolio](https://www.medamineck.com)

[Portfolio with a hint](https://www.medamineck.com "medamineck.com")

https://www.medamineck.com

`https://www.medamineck.com`

<!-- Emails -->

<contact@medamineck.com>

<!-- UL -->

- item 1
- item 2
- item 3
  - Nested item 1
  - Nested item 2

<!-- OL -->

1. item 1
1. item 2
1. item 3

<!-- Inline code block -->

`print("hello world") <p class="bg">hello</p>`

<!-- Images -->

![placeholder](https://via.placeholder.com/150)

<!-- Github Markdown -->
<!-- Gode Blocks -->

```bash
    npm install vite@latest
```

```javascript
console.log("hello world");
```

<!-- Tables -->

| Name    | Email                  |
| ------- | ---------------------- |
| me      | contact@medamineck.com |
| another | another@email.com      |

| Left | Center | Right |
| :--- | :----: | ----: |
| 1    |   2    |     3 |

<!-- Task List -->

- [x] task done
- [ ] task to do
Display ChatGPT response alongside Google Search results
Tags: openai, chatgpt
Published: 2022-12-21 09:58:53

> Do you know about ChatGPT?

ChatGPT is particularly well-suited for generating responses to user input in chat or messaging applications, as it is able to understand the context of a conversation and generate appropriate responses. It can also be used for a wide range of other natural language processing tasks, including language translation, summarization, and question answering.

> Display ChatGPT response alongside Google, Bing, DuckDuckGo Search results

The ChatGPT for Search Engines extension allows you to see ChatGPT responses alongside results from search engines like Google, Bing, and DuckDuckGo no matter where you are browsing.
Whether you are a content creator, developer, designer, student, or stay-at-home parent, this extension is for you. It provides detailed solutions to your queries, ranging from writing a prom proposal to fixing your code.
Simply install the extension and get specific answers to your subject matter!!!
Link extension: https://chrome.google.com/webstore/detail/chatgpt-for-search-engine/feeonheemodpkdckaljcjogdncpiiban/related?hl=en-GB&authuser=0
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owizbg41xml9uhhl4w6b.png)
Pattern-matching in Ruby is pretty cool
Tags: ruby, functional, patternmatching
Published: 2022-12-21 09:36:43

Before moving ahead, think for a moment about how would you parse this:

```shell
$ cd /
$ ls
dir a
14848514 b.txt
8504156 c.dat
dir d
$ cd a
$ ls
dir e
29116 f
2557 g
62596 h.lst
$ cd e
$ ls
584 i
$ cd ..
$ cd ..
$ cd d
$ ls
4060174 j
8033020 d.log
5626152 d.ext
7214296 k
```

Certainly, not difficult. Some conditionals and string manipulation here and there, it is the first thing that comes to mind. Though trivial, it may not be obvious or pleasant to read afterward, or for a new pair of eyes.

Ruby 2.7 introduced pattern-matching as an experimental feature, and since Ruby 3.0 it is not considered experimental anymore.

In case you don’t know what pattern matching is, it’s a feature that allows you to specify patterns to match against data. It is similar to regular expression matching, but with the ability to match against arbitrary data structures, rather than just strings.

The content above can be simply pattern-matched this way:

```ruby
input.split("\n").each do |line|
  cmd = line.split(" ")
  case cmd
  in ["$", "ls"]
    # matches listing entries
  in ["$", "cd", ".."]
    # matches leaving a directory
  in ["$", "cd", dir]
    # matches entering a directory
  in ["dir", dir]
    # matches directory entry
  in [size, filename]
    # matches file entry
  end
end
```

That’s exactly what I did on [day 7 of the advent of code](https://gitlab.com/bitmaybewise/advent-of-code/-/blob/main/2022/07/07.rb)! The resolution just came naturally and easily realizing that it would be a perfect case to use pattern-matching.

At first, it seems like a switch-case statement on steroids, which is true, but it’s so much more!

Arrays, hashes, and objects can be matched and bound:

```ruby
# Matching against arrays
[1, 2, x, 4] = [1, 2, 3, 4]  # x is now bound to 3
[a, b, *rest] = [1, 2, 3, 4]  # a is bound to 1, b is bound to 2, and rest is bound to [3, 4]

# Matching against hashes
{a: 1, b: 2} = {a: 1, b: 2}  # a is bound to 1, b is bound to 2
{a: 1, **rest} = {a: 1, b: 2, c: 3}  # a is bound to 1, and rest is bound to {b: 2, c: 3}

# Matching against objects
Point = Struct.new(:x, :y)
point = Point.new(1, 2)
Point.new(x, y) = point  # x is bound to 1, y is bound to 2
```

[Give it a try](https://docs.ruby-lang.org/en/3.0/syntax/pattern_matching_rdoc.html)! You won’t regret it!

---

If you liked this post, consider subscribing to my newsletter [Bit Maybe Wise](http://bitmaybewise.com/).

You can also follow me on [Twitter](https://twitter.com/bitmaybewise) and [Mastodon](https://mastodon.online/@bitmaybewise).

---

Photo by [Georg Eiermann](https://unsplash.com/@georgeiermann) on [Unsplash](https://unsplash.com/)
What are higher order function?
Published: 2022-12-21 09:25:07

A “higher-order function” is a function that accepts another functions as parameters and/or returns another function.

Generally while programming, we use first class functions which means that the programming language treats functions as values – that you can assign a function into a variable, pass it around. These functions do not take other functions as parameters and never has any function as their return type.To overcome all these shortcomings of first-class functions, the concept of Higher Order function was introduced.In Javascript functions can be assigned to variables in the same way that strings or arrays can. They can be passed into other functions as parameters or returned from them as well.
We can pass a function as a parameter in Higher-Order function. 
There are two types of functions which can be passed function which return unit, function which return any of the value integer, string etc.Higher-order functions allow us to abstract over actions, not just values. They come in several forms. For example, we can have functions that create new functions.
Java Collections Cheat Sheet
Tags: java, beginners, programming, tutorial
Published: 2022-12-21 09:19:58

Java Collections Cheat Sheet
=========================
Here is the Java collections cheat sheet. You can use it as quick reference guide to prepare for the interviews.

![Java Collection Cheat Sheet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pxf8rnwc12kpowfecckt.png)

See more at https://javaconceptoftheday.com/java-collections-cheat-sheet/
JavaScript reduce method and how it works
Tags: javascript, arraymethods, reduce, webdev
Published: 2022-12-21 09:11:45

The `reduce` array method is an interesting method because unlike `filter` and `map`that takes one parameter during it's most basic usage, the `reduce` method takes two parameters. The first one is the accumulator and the other is the parameter of the current value that will be worked on.

`reduce`allows for items to be summed up or brought together.
 
Let's see a few examples on it. 
 
Were going to try to sum up the numbers in the following array:

`const nums = [1, 2, 3, 4, 5] `

Solution

`const sumNumbers = nums.reduce((sum, num)=> sum + num, 0)`

`console.log(sumNumbers)`

`//output is 15`

Here, you will see that apart from `num` which is the current value parameter that we will work on according to every number in the array, the `sum` which is another parameter and the accumulator taken in by `reduce` and it is being set to an initial value of `0`at the end of the `reduce`method so that it can be added to the current value `num`and accumulated as it moves along the from one  number to the other in the array. 

Example 2

Apply reduce and add "-" at the end of every city in the array. 

`const cities = ["Lagos", "Paris", "Miami", "Mumbai" ]`

Solution 

`const dashCities = cities.reduce((result, city)=> result + city + "-", "")`

`console.log(dashCities)`

`//output is Lagos-Paris-Miami-Mumbai-` 

Here we can see that the cities are brought together with dashes after them and made into a string because `result` which is a parameter and the accumulator has an initial value that is set to an empty string at the end of the `reduce`method. 

I hope you enjoyed the explanation and now  understand how `reduce`works now. Please like, share, comment and follow for more.
How to improve developer experience (DX) with visual testing
Tags: productivity, testing, dx
Published: 2022-12-21 08:56:48


As a developer, there's nothing more frustrating than spending hours, if not days, working on a feature or bug fix, only to have it break the visual layout of the app. This not only slows down the development process, but it can also lead to frustration and loss of confidence in the quality of the work being delivered.

That's where visual testing comes in.

## Developer experience (DX)

Developer experience refers to the overall satisfaction and efficiency of development tools, including design, usability, documentation, support, and working workflows.

A good developer experience is important for maintaining a high level of productivity and software quality. Efficient tools and workflows allow developers to iterate quickly, and ultimately resulting in higher software quality and positive experiences for developers and users.


## Visual testing to ship with confidence

[Visual testing](https://argos-ci.com/blog/visual-testing) is a type of testing that focuses on the visual aspects of an application, such as layout, design, and user interface elements. One way visual testing can be implemented is through the use of screenshot comparison tools. These tools allow developers to take screenshots of the app before and after a change is made.

With visual testing tools like [Argos](https://argos-ci.com/), the screenshots are
automatically compared, and if any differences are detected, the developer is alerted, allowing them to fix the potential issues before it becomes a problem.

In addition, a visual tests suite can be created to ensure that the visual aspects of the app are consistent across different devices and screen sizes and catch visual issues early on. By implementing visual testing, developers can be confident that their work won't cause any visual issues that could break the app.

## Conclusion

Overall, visual testing is invaluable for any developer looking to deliver high-quality, bug-free applications. Automatic visual testing improves software crafting workflow by giving developers more confidence in feature delivery and save time and effort in the long run.

 _Photo by [devn](https://unsplash.com/@devn?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash]("https://unsplash.com/fr/s/photos/sonar-de-jour?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText")_
So... staitc is Sorta Shifty.
Tags: c, cpp
Published: 2022-12-21 08:46:39

In a [previous post](https://dev.to/shawsumma/static-has-only-one-meaning-5d1e) I pondered that in the C programming language static only has one meaning.

Long story short I though that it meant "translation unit local". A term that effectively means that it is owned by the .c file or .o file and not the executable produced.

This turns out to be wrong. As I dove further into the c language I came upon a puzzling piece of code

```c
int main(int argc, char *argv[static argc]) {
    // WTF. What the Function?
}
```

In a state of panic I looked all over for what it meant. Google was being no help. Eventually however, I learned that it meant that there must be atleast `argc` elements in argv (there is argc+1).

This disproves my static theory.

That is all. Thanks!
Exploring the New Features of Python 3.10
Tags: webdev, programming, python, datascience
Published: 2022-12-21 08:29:32

Python 3.10, the latest version of the popular programming language, was released in October 2021. This release includes several new features and improvements that make Python even more powerful and user-friendly. In this article, we’ll explore some of the key features of Python 3.10 and how they can help you in your Python programming.

One of the major new features in Python 3.10 is the ability to define variables with the “:= ” operator. This operator, known as the walrus operator, allows you to assign a value to a variable as part of an expression. For example, you can use it to iterate over a list and perform an operation on each element:

Copy codefor i := 0 to len(my_list):
    print(my_list[i])
Another new feature in Python 3.10 is the “match” statement, which allows you to write concise and efficient code for pattern matching. The “match” statement allows you to specify a pattern to match against an expression, and then specify the code to execute if the pattern is matched. For example:

Copy codematch x:
    case 1:
        print("x is 1")
    case 2:
        print("x is 2")
    default:
        print("x is something else")
Python 3.10 also includes a number of other improvements, such as faster dictionary lookups, improved garbage collection, and better support for asynchronous programming.

In conclusion, Python 3.10 brings a number of new features and improvements that make Python an even more powerful and user-friendly programming language. Whether you’re a beginner or an experienced programmer, Python 3.10 has something to offer for everyone.

#Python #Python310 #walrusoperator #matchstatement

References:

Python 3.10 documentation: https://docs.python.org/3/whatsnew/3.10.html
Learn Test Driven Development With Django Part 12 - Post Object Creation
Tags: django, tdd, testing, python
Published: 2022-12-21 08:29:08

In this video, we walk through how we can build the post creation feature of our application using a test-driven approach. We test our views, as well as forms that will help us to create our blog entries.

{%youtube rvrjbTDDGwQ%}
Python in Education: An Overview of Resources and Tools
Tags: datascience, python, programming, database
Published: 2022-12-21 08:25:46

Python is a popular programming language for education, and it is used in schools and universities around the world. Its simplicity, flexibility, and extensive library support make it an ideal choice for teaching a wide range of topics, from computer science fundamentals to data science and machine learning. In this article, we’ll explore some of the resources and tools available to educators who are teaching Python.

One popular resource for teaching Python is Codecademy, an online platform that provides interactive lessons and exercises for learning programming. Codecademy offers a range of courses for Python, including an introductory course for beginners and more advanced courses for those who are looking to build more complex applications.

Another popular resource for teaching Python is LearnStreet, a platform that provides interactive lessons and exercises for learning programming, as well as tools for creating and grading assignments. LearnStreet also offers a range of courses for Python, including an introductory course and courses on topics such as data structures, algorithms, and machine learning.

There are also a number of tools available to educators who are teaching Python, such as Jupyter notebooks and PyCharm. Jupyter notebooks are interactive documents that allow you to write and execute code, as well as include text, images, and other media in the same document. PyCharm is an integrated development environment (IDE) for Python that provides a range of tools for writing, debugging, and testing code.

In conclusion, Python is an excellent language for education, and there are many resources and tools available to help educators teach it. Whether you’re a beginner or an experienced programmer, Python has something to offer for education.

#Python #education #Codecademy #LearnStreet #Jupyternotebooks #PyCharm

References:

Codecademy: https://www.codecademy.com/
LearnStreet: https://www.learnstreet.com/
Jupyter notebooks documentation: https://jupyter.org/
PyCharm documentation: https://www.jetbrains.com/pycharm/
Python in Finance: An Overview of Applications and Tools
Tags: webdev, programming, datascience, python
Published: 2022-12-21 08:23:27

Python is a popular language for finance, and it is used in a variety of tasks within the financial industry. In this article, we’ll explore some of the key applications of Python in finance and the tools that are available to help you get started.

One common use of Python in finance is for data analysis. Python has a number of libraries and frameworks that are specifically designed for this purpose, such as NumPy and pandas. NumPy provides functions for working with large, multi-dimensional arrays and matrices of numerical data, while pandas provides data structures for storing and manipulating large datasets, as well as tools for working with missing data and performing data cleaning and preparation.

Python is also used in finance for risk management, and it has a number of libraries and frameworks that are specifically designed for this purpose. For example, the “Risk” library provides a range of algorithms and functions for tasks such as portfolio optimization and value at risk (VaR) calculation.

Another common use of Python in finance is for algorithmic trading, which involves using algorithms to buy and sell financial instruments based on certain criteria. Python has a number of libraries and frameworks that are specifically designed for this purpose, such as “Zipline” and “backtrader.” These libraries provide tools for building and testing trading strategies, as well as for executing trades.

In conclusion, Python is a powerful language for finance, and it is used in a variety of tasks within the financial industry. Whether you’re a beginner or an experienced programmer, Python has something to offer for finance.

References:

NumPy documentation: https://numpy.org/doc/stable/
pandas documentation

#Python #finance #dataanalysis #riskmanagement #algorithmicTrading #NumPy #pandas #Risk #Zipline #backtrader