teleren/devto huggingface dataset:
Generate Class Diagram in Visual Studio
Published: 2022-09-26 06:19:45

通常要產生 UML 類別圖會使用免費或付費的軟體，而 Visual Studio IDE 也有提供類別圖產生的工具，可以直接將圖表建立在專案內

### Install Class Designer
首先，打開 Visual Studio Installer，你可以從開始功能表找到它，或者從 Visual Studio IDE 功能列上的 Tools→Get Tools and Features 開啟

![vs-001](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ezg0x08bnumzcvz6eopi.png)

點擊修改

![vs-002](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/58vfqrvln2dw5d4u2dfo.png)

選擇「個別元件」標籤，往下找到<u>程式碼工具</u>分類下的「類別設計工具」，將它勾選後點擊右下角的修改以安裝

![vs-003](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5uhgaohzpjgtvgbvtsq.png)

### How to use it
使用快捷鍵 Ctrl+Shift+A 打開新增項目精靈，選擇 General 標籤找到 Class Diagram 選取並新增

![vs-004](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eosramqq3l79jplyabpp.png)

你可以看到在專案下產生一個附檔名 `.cd` 的檔案

![vs-005](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xiohw74bgidd6vuarg6.png)

將檔案拖曳到 `.cd` 圖表空白處以自動產生對應的圖形，或者從 Toolbox 裡的 Class Designer 將圖形或線條拖曳到 `.cd` 圖表上

![vs-006](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4zq15cm9ao9tlkkmz2fr.png)

當專案內檔案較多時，一個個拖曳實在太麻煩，你可以透過 VS 提供的功能一次產生專案內現有的圖表類型。
在功能列上選擇 View→Class View 開啟 Class View

![vs-007](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wxsbznfeo41k2b710foj.png)

在專案上點擊右鍵並選擇 View Class Diagram

![vs-008](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jjshofbj7lbiw5jtxhww.png)

如果點擊 View Class Diagram 時沒有任何 `.cd` 的檔案開啟，那麼 VS 會自動產生一個 `.cd` 的檔案，此時只會建立空白圖表檔案不會產生任何圖形，再點一次 View Class Diagram 才會產生專案內所有的圖表類型

### Reference
[How to: Add class diagrams to projects](https://docs.microsoft.com/en-us/visualstudio/ide/class-designer/how-to-add-class-diagrams-to-projects?view=vs-2022)

---

Thanks for reading the article :tulip: :sunflower: :blossom:

If you like it, please don't hesitate to click heart button :heart:
or follow my [GitHub](https://github.com/FakeStandard) :star:
or buy me a coffee :arrow_down: I'd appreciate it.

[![Buy-me-a-coffee][1]][2]

[1]: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h077sxd0vx1hix4t7lw8.png
[2]: https://www.buymeacoffee.com/FakeStandard
I’m BUILDING the MOST PRODUCTIVE tool — part 0 + 1
Tags: beginners, javascript, chrome, webdev
Published: 2022-09-26 06:15:29

**SHIT !. I mean, there’re hundreds of todo or task management tools. And all tools are fully loaded with dozens of features. But is that really what a person would normally need? For a todo app.**


![Girl](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nf0xf3wqy8ryy2iulsfy.jpg)

## The Reason ❓
Those apps are productive, but they MISS the most important thing. Which is efficiency and effectiveness. Normally, adding a task to one's to-do list won't require the use of a fully featured, app like notion. You only need anything that can be done in less than 5 to 10 seconds.

I mean, all you have to do is add a task to the list. Why would a regular person want so much personalization for only one task. Simply add it. And receive a reminder.


![Todo stack first look](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lq5falperywkarg0nnw2.jpg)

## The WORK 👨‍💻

That’s why i am building a todo app named “Todo Stack”. Which is instant. Fast. Simple. Even your grandma can use it easily.

It is basically a chrome extension which can be installed in any browser which supports extensions. WHY a chrome extension? Because mostly people use their browsers to do work.

_As per current data, 85+ People already shown thier interest._ **JUST PRE-REGISTER NOW!!**

_People are registering_ [here](http://todostack.vercel.app/)

**_PART 1_**

Now you can **_remind yourself from notification_**. I personally found it useful, even if you are not using chrome it will send you a notification. And that’s amazing.

I also worked on the scroll bar and I made it neat and clean as you can see in the below video.

And you can also **_undo tasks if deleted by mistake._**

Enjoyed this READ? 💘
This was my first ever story on dev.to. Mostly i write on [medium](https://medium.com/@anasdew).

**[Subscribe](https://medium.com/subscribe/@anasdew) to newsletter** as well for amazing stuff.

Thanks for reading this story.
Being a Developer Advocate: Week Three
Tags: devrel, learninpublic
Published: 2022-09-26 05:53:53

Content strategy was the name of the game this week!

Content is a DevRel topic as it is focused on _technical_ content rather than informal blog posts to drive SEO. But in a startup you have to wear many hats...

## Spending your Energy
What you generally want in DevRel is to have the following programs/activities to spend your energy on:

**High Impact** <-> **Low to mid Effort** 

For example: If you have a high amount of awareness but can not close the deal with your customers because your documentation lacks, look closer. If you can fix the pain points there with a mid effort then go for it.

## What We Did
We analysed our Twitter and LinkedIn statistics and found out, that the effort we spend on creating content there is high and the return are too small for it. 

So we streamlined our process to not create special visuals for posting blog posts and cut down on markety tweets.

Also we analysed the keywords on our homepage and found some interesting insights going forward.

## Listening to Feedback
I also worked through user feedback to identify pain points our customer have. I got some good ideas what content is needed in our documentation to help them.

## The most important Question

> What is the goal we want to achieve with that activity?

Can not recount how often I asked that in this week ;-)
Amazon Simple Queue Service Cheat Sheet
Tags: 30daysofaws, certifieddeveloperassociate, sqs
Published: 2022-09-26 05:29:11

## Alternatives

- Apache Kafka
- Google Cloud Pub/Sub
- RabbitMQ
- IBM MQ
- TIBCO Enterprise Message Service
- AWS IoT Core
- Amazon CloudWatch
- Azure Service Bus

## Digest

- **Long polling**: Long polling will reduce the overhead of the CPU and not require excessive dolls.
- **Visibility timeout**: a period of time during which Amazon SOS prevents other consumers from receiving and processing the message. The default visibility timeout for a message is 30 seconds. The minimum is O seconds. The maximum is 12 hours
- **Delay queue**: Delay queues let you postpone the delivery of new messages to a queue for a number of seconds. If you create a delay queue, any messages that you send to the queue remain invisible to consumers for the duration of the delay period
Know FIFO vs Standard Queue
- **SQS** is a fully managed message queuing service that enables you to decouple and scale micro-services, distributed systems, and Serverless applications
- **SNS**: To receive subset of messages, subscriber can apply filter policy to topic subscription.
- If use case has subscribed to email notification, go with SNS as opposed to SQS.
- By default only the queue owner is allowed to use the queue. Configure SQS Queue Access Policy to provide access to other AWS accounts

## Question

**Which endpoint is considered to be best practice when analyzing data within a Configuration Stream of [AWS Config](https://aws.amazon.com/config/)?**

1. SNS
2. E-Mail
3. SQS
4. Kinesis

> - [Practice notes](https://romankurnovskii.com/en/docs/aws-certified-developer-associate/sqs/)
> - [Questions](https://dev.to/romankurnovskii/aws-ec2-top-
questions-certified-developer-exam-27oo)
Starter Kit for Vite, Preact, TypeScript, Tailwind, ESLint ,stylelint, Prettier configuration, absolute imports
Tags: vite, preact, typescript, template
Published: 2022-09-26 05:28:06

## Starter Kit for Vite, Preact, TypeScript, Tailwind , absolute imports

Minimal, sensible defaults, fast.


![screenshot of `app.tsx`](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/myo07iqwc1e4lmtsdeqm.png)

# ✨ Technologies

- Vite
- Preact
- Typescript
- Tailwind CSS
- ESLint
- Prettier
- Stylelint
- husky and lint-staged
- Path Alias (Absolute imports)

## Setup

- Press the "Use this template" on the top of this repository's GitHub page.
- Run yarn install .
- yarn dev for development.
- yarn build for production builds.

Github repo: https://github.com/chandrakumarreddy/vite-ts-preact-tailwind-template
Why I am not getting good at Programming?!!
Tags: beginners, career, discuss, writing
Published: 2022-09-26 05:01:08

If you are on **dev.to**, It's a clear sign that you do or have love for programming. I mean it's what's talked about day in day out!

Could you have stumbled on this site looking for a joke and didn't find it funny? I guess not!

Anyway, Programming has always been that cool thing.. The idea of being infront of a screen and write allien language that results into something amazing and solving problems.
I mean, even when you are bad at math, with a few lines of code you are  be able to solve math problems. GENIUS!! Who doesn't love to be that?
Also, You can be a hacker.. We all love the idea of being able to hack but guess what? you gotta be good at programaming.

**_Why I'm I not that good? That is the question._**

I went to school and studied a couple of programming languages (Java, PHP, C#, C++,Python, Javascript and, HTML-_"Yes, I know, It isn't a programaming language"_). I was good in school, I had motivation and also had to pass. Did whatever it took even if it meant I had to cheat (Not really cheating, I mean how can you be a programmer and you never ever use GOOGLE?! Weird right? )

Long story short, school ends and life begins at a speed of "You got bills to pay".. Believe that is Godspeed.

I can't get a job that requires the skills from school because I don't have 10 year experience and I got bills to pay.
After a good time of struggle, I get a job that requires no programming but atleast its IT related. I have hope of doing some programming soon because I love it!

I start writing a few codes as I do my job that requires no programming skills but I'm rusty!! and things have changes drastically, People are using frameworks and there is a lot of them.

I wanna get back to it because I love it but I don't have a mentor and motivation, I keep jumping from one framework to another,
Trying to learn every language I about, Looking for what is hot on the market.

**NOW THAT IS THE PROBLEM**
With the problems above I came to notice a few reasons why.

I am not getting good at it because I keep reading every new thing every person talks about because they did a project in a particular language and I wanna try that project.

Not settling to one language and perfecting myself is one of the reasons why I just don't get good at it. Because I wanna do something that is gonna be lucrative ASAP.

Skipping babay steps and start from the professional aspect of the language.

Learning through projects someone built without knowledge of the basics in the language.

Lacking a mentor and many more other reason.

**WHY I WROTE THIS**

I figured there must be other like me, struggling to get good at this thing we love so much but the approach is wrong.
We end up giving up what we would have been good at because how we approach it.
How Koin works
Published: 2022-09-26 04:41:27

Koin woks on simple domain specific language(DSL) model, a computer languages ​​created for specific application domain.


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

In koin we have to create a module first .In this module all the dependent objects are there, then we have to load one or more modules in to koin in application class by calling start koin method. Then we can inject object wherever we want.


Here are the key term

- get(): It is used inside constructors to resolve needed instances.


- factory : It is used to indicate a new instance must be created 
 each time it is injected.


- single :It indicates that a unique instance will be created at 
the beginning and shared on every future injection.


- name : It is used to name definition . This is required when we want to have multiple instances of the same class with different types
Klassifier - Artificial intelligence for everyone!
Tags: saas
Published: 2022-09-26 04:23:31

Klassifier is a no-code machine learning solution for CRM, IT, support, HR, and high-speed teams. 

Our cloud-based software solution allows its users to create complicated machine learning models without writing a single line of code. 

No previous experience is needed! It's just a few clicks away!

[https://www.klassifier.com](https://www.klassifier.com)
Remove *, #, Duplicate
Published: 2022-09-26 04:19:32

Remove All * & previous char In String :
```js
/**
 * @param {string} s
 * @return {string}
 */
var removeStars = function (s) {
  return getString(s);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === "*") {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};

// Input: s = "leet**cod*e"
// Output: "lecoe"
```
Remove All Adjacent Duplicates In String :

```js

/**
 * @param {string} s
 * @return {string}
 */
var removeDuplicates = function (s) {
  return getString(s);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === stack[stack.length-1]) {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};
// Input: s = "abbaca"
// Output: "ca"

```
Remove All # & backspace on hash In String :
```js
/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var backspaceCompare = function (s, t) {
  return getString(s) === getString(t);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === "#") {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};

console.log(backspaceCompare("ab#c", "ad#c"));
Input: s = "ab#c", t = "ad#c"
Output: true
Explanation: Both s and t become "ac".

```
Jquery appendTo And prependTo Example
Tags: javascript, appendto, prependto, beginners
Published: 2022-09-26 04:17:58

In this article, we will see jquery appendTo() and prependTo() examples. The prependTo() method inserts HTML elements at the beginning of the selected elements. 

The appendTo() method inserts HTML elements at the end of the selected elements. The .append() and .appendTo() methods perform the same task. The major difference is in the syntax.

The .append() method selector expression preceding the method is the container into which the content is inserted. With .appendTo(), on the other hand, the content precedes the method, either as a selector expression or as markup and it is inserted into the target container.

The .prepend() method selector expression preceding the method is the container into which the content is inserted. With .prependTo(), on the other hand, the content precedes the method, either as a selector expression or as markup. and it is inserted into the target container.
990. Leetcode Solution in Cpp
Tags: cpp
Published: 2022-09-26 04:07:53

```
class UF {
 public:
  UF(int n) : id(n) {
    iota(begin(id), end(id), 0);
  }

  void union_(int u, int v) {
    id[find(u)] = find(v);
  }

  int find(int u) {
    return id[u] == u ? u : id[u] = find(id[u]);
  }

 private:
  vector<int> id;
};

class Solution {
 public:
  bool equationsPossible(vector<string>& equations) {
    UF uf(26);

    for (const auto& e : equations)
      if (e[1] == '=') {
        const int x = e[0] - 'a';
        const int y = e[3] - 'a';
        uf.union_(x, y);
      }

    for (const auto& e : equations)
      if (e[1] == '!') {
        const int x = e[0] - 'a';
        const int y = e[3] - 'a';
        if (uf.find(x) == uf.find(y))
          return false;
      }

    return true;
  }
};

```
#leetcode
#challenge
Here is the link for the problem:
Crypto Bot
Tags: redishackathon, python, crypto, trading
Published: 2022-08-28 19:07:17

### Overview of My Submission

Crypto Bot is a collection of micro services which uses algorithmic trading to generate the BUY / SELL Signals based on the data received from the crypto market (Binance API)

the bot uses the pubsub to publish the live crypto prices to the strategy micro service and redis json to store the orders data and the micro services communicate via gRPC with each other

custom strategies can be writen under the strategy-service/strategies

an example ema.py (Exponential Moving Average) strategy is given in the repo

### Submission Category: Microservice


### Language Used: Python, Protobuf


### Link to Code

{% embed https://github.com/rohit20001221/trading-bot-binance %}

### Additional Resources / Info


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


### Collaborators

@rohit20001221 

- - - 


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
IMX8MM-KIT
Tags: devops, android, testing, linux
Published: 2022-09-26 03:49:05

The i.MX 8M Mini application processor is an NXP product that can bring the latest video and audio experience, with the most advanced specific media functions, using high-performance processing technology, while optimizing power consumption. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4rpnhwoeeuuy8l2tvad2.jpg)
The i.MX8MMini series processors use anadvanced quad-core Arm®Cortex®-A53 core, which runs at speeds up to 1.8 GHz. And a general-purpose Cortex®-M4 400 MHz core processor is used for low-power processing. 

The DRAM controller supports 32-bit/16-bit LPDDR4, DDR4 and DDR3L memories.

Besides, a variety of audio interfaces are available, including I2S, AC97, TDM and S/PDIF.
Tiny Vanilla.js Projects
Tags: javascript, vanilla, router, component
Published: 2022-09-26 03:29:04

I've been writing some tiny libraries for Vanilla.js. But I've been slow to publish this work. I am looking for a small audience. Steve Jobs says "you have to work hard to get your thinking clean to make it simple".

The project contains a tiny message bus, a tiny "folder" based router with events for enter and exit, and a tiny component system. I'm also creating a system for state and bindings.

https://github.com/simplygreatwork/vanilla
https://github.com/simplygreatwork/vanilla/tree/main/examples
Top Full Stack Developer
Published: 2022-09-26 01:21:01

-Frontend:Javascript,Reactjs,Vuejs,Gatsby,Nextjs
-FullStack:MEAN,MERN,MEVN,Spring Boot+Reactjs,Laravel+Vuejs
-Database:MySQL,MongoDB,PostgreSQL,Oracle
-Backend:PHP,Laravel,CI,Nodejs
-Web Framework:Laravel,Wordpress,Joomla
-Mobile Development:Java,React Native,Swift
-eCommerce:Shopify
Strings using template literals (freecodecamp notes)
Tags: javascript, programming, react
Published: 2022-09-26 00:11:34

The ES6 Template literals is a new feauture allowing you to create multi-line strings and to use string interpolation features to create strings.

 Use template literal syntax with backticks to create an array of list element (li) strings. Each list element's text should be one of the array elements from the failure property on the result object and have a class attribute with the value text-warning. The makeList function should return the array of list item strings.

Use an iterator method (any kind of loop) to get the desired output (shown below).

```javascript
[
  '<li class="text-warning">no-var</li>',
  '<li class="text-warning">var-on-top</li>',
  '<li class="text-warning">linebreak</li>'
]
```
As we are asked to use an iterator we will be using the map function, here's a good article for you to check the usage of map in processing arrays https://www.digitalocean.com/community/tutorials/4-uses-of-javascripts-arraymap-you-should-know 

With that the exercise we are given is 

```javascript
const result = {
  success: ["max-length", "no-amd", "prefer-arrow-functions"],
  failure: ["no-var", "var-on-top", "linebreak"],
  skipped: ["no-extra-semi", "no-dup-keys"]
};
function makeList(arr) {
   
  const failureItems //
   

  return failureItems;
}

const failuresList = makeList(result.failure);
```
And the answer with a map function in use

```javascript
const result = {
  success: ["max-length", "no-amd", "prefer-arrow-functions"],
  failure: ["no-var", "var-on-top", "linebreak"],
  skipped: ["no-extra-semi", "no-dup-keys"]
};
function makeList(arr) {
  // Only change code below this line
  const failureItems = arr.map(e=>`<li class="text-warning">${e}</li>`)
    
  // Only change code above this line

  return failureItems;
}

const failuresList = makeList(result.failure);

```
The Internet of Things
Published: 2022-09-26 00:09:10

The Internet of Things (IoT) refers to a vast number of “things” that are connected to the internet so they can share data with other things – IoT applications, connected devices, industrial machines and more. Internet-connected devices use built-in sensors to collect data and, in some cases, act on it. IoT connected devices and machines can improve how we work and live. Real-world Internet of Things examples range from a smart home that automatically adjusts heating and lighting to a smart factory that monitors industrial machines to look for problems, then automatically adjusts to avoid failures.
Thoughts on merging
Tags: pullrequests, merging, smallbatches, flow
Published: 2022-10-17 18:48:17

---
title: Thoughts on merging
published: true
date: 2022-09-26 00:00:00 UTC
tags: pullrequests,merging,smallbatches,flow
canonical_url: https://jhall.io/archive/2022/09/26/thoughts-on-merging/
---

When I code, I create a lot of commits. And when using pull requests, I create a lot of those too. [Two dozen in a day would not be unusual.](https://jhall.io/archive/2022/06/23/introducing-the-micro-pr/)

This leads to some thought patterns that I think are interesting.

Back in the day when I worked on days- or weeks-long feature branches, I would spend a lot of time making sure my PR was “perfect.” I’d address every comment in great detail. I only merged every few days or weeks, so [I wanted to make it count](https://jhall.io/archive/2022/09/25/while-were-here-we-might-as-well.../).

Now that I’m creating dozens of commits/PRs per day, my thought process is often different. I often merge, knowing the PR is incomplete, instead prefering a follow-up pull request.

One of the problems with pull requests is that they often serve as a bottleneck to flow. So when I have a PR that is deemed incomplete, either by me, or by a reviewer, as long as it’s not _broken_, I’ll often merge it even in the incomplete state. Then I’ll submit a follow-up PR a moment later addressing the concerns.

I’d be curious to hear from you: How do you decide when to merge a pull request? Are you striving for micro-PRs?

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._