teleren/devto huggingface dataset:
Product Management: AWS Portfolio website - part 3, going to market and finishing the development life cycle
Tags: webdev, product, productmanagement, aws
Published: 2023-03-30 12:23:42

## Introduction

In this last blog of the 3 part series I will be detailing how the portfolio website hosted on AWS was 'launched' to 'market' and how you would usually finish a product development life cycle.

## Bringing the product to market

> "Launch isn't the end of development but rather the beginning of selling" (Chapter 8, Bringing Your Product To Market, The Product Book)

This will be a collaboration between marketing, sales and the Product Manager. The PM's input is for forming strategies, they will know who the product should be aimed at and what the target market will be using, this can be useful guidance for marketing.

A Product Message should be given to communicate value to customers and the problem it solves. It is very important to understand the customer personas before doing this:

- "The Personal Portfolio Website is the ultimate solution for anyone seeking to verify Jack's skills in product management and software development. It allows them to validate previous work and see tangible proof of the expertise."

When going-to-market (GTM) it is important to be prepared for every event. Like a server crash (this would be dealt with by AWS, that's a main benefit of the cloud) or marketing targeting the wrong outlets. A go-to-market plan should be developed to prevent this:
- Launch Goals: The goal is to launch the product to the target audience (hiring managers) via LinkedIn, achieve high customer adoption rates, and generate buzz around the product.
- Product readiness: It will be ensured that the product is ready for launch by conducting thorough testing to identify and fix any issues and ensure that the product meets the customer's needs and expectations.
- Launch Date: The launch date is set for the first week of February 2023.
- Launch Type: Full Launch - traditional launch method where the website is made public to everyone at once.
- Launch Asset Planning: We will create a series of  blog posts and a social media post via LinkedIn to accompany the product launch.
- Post-Launch: We will monitor the product's performance and customer feedback to identify any areas for improvement and address any issues promptly. We will also continue to promote the product and release updates to keep customers engaged and interested.

## End of the life cycle

At the end of development, the job is not done for the Product Manager. The team should celebrate but we should also assess how things went:
- what customers (hiring managers) think of the product
- did we achieve our set success metrics (number of visits to the webpage, % of hiring managers offering jobs)
- was the product easy to use?
- what did the team think of your management and work?
- recommend what the product/team should do next

## Conclusion

Thanks for reading this 3 part series, I'd appreciate any feedback!
Best Online C Compilers
Tags: programming, beginners, c, cpp
Published: 2023-03-30 12:07:18

Online C compilers offer several benefits, including accessibility, affordability, convenience, collaboration, latest updates, and learning resources. They are a great way to practice programming, as they can be accessed from anywhere, updated regularly, and often include built-in tutorials
Here are some of the best online c compilers.
1. [ideone.com](https://ideone.com/) - It supports more than 60 programming languages including C and offers features like syntax highlighting, code execution, and collaboration options.
2. [OnlineCompilers](https://onlinecompilers.com/) - A powerful online IDE that supports various languages including C. Its [Online C Compiler](https://onlinecompilers.com/online-c-compiler) allows you to share your code with others and has features like code highlighting etc.
3. [CodeChef IDE](https://www.codechef.com/ide) - It is an online IDE for competitive programming that supports various programming languages, including C. It offers features like auto-completion, debugging, and code sharing.
4. [OnlineGDB](https://www.onlinegdb.com/) - A free online compiler and debugger tool that supports multiple programming languages, including C. It allows you to compile, execute and debug your code online.
5. [tutorialspoint.com](https://www.tutorialspoint.com/codingground.htm) - A popular online platform for learning programming languages, including C. It offers an online compiler and interactive coding environment where you can write, compile, and execute your C code.
6. [JDoodle](https://www.jdoodle.com/c-online-compiler/) - An online compiler and IDE that supports multiple programming languages, including C. It allows you to write, compile, and execute your code online, and also has options for sharing and collaborating on your code.
Learning to deploy Spring boot Web Application to On Render(free tier)
Tags: deploywebapp, docker, java, springboot
Published: 2023-03-30 11:35:24

After you make a spring boot web app using spring data jpa, thymeleaf, the next challenge comes when you want to deploy that app to show your colleagues or college friends.

There are very few free hosting services that allow you to deploy web apps.

I found one with the name of On render, which gave a free plan to host web services.


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


Even after I found the platform, there was still a challenge, how do I deploy the spring boot app? They have very good services for nodejs and others.

The only solution to that was to deploy using Docker.

For that, I had to make a docker file using the name "Dockerfile" without any extension, in the root directory of the project.


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



Finding the maven version that was required for the OpenJDK 19 was a headache.


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

after I set the version in the docker file, compile version was not matching with it so I had to set it manually in the pom.xml, which did the trick.

But after that it was easy, just needed to set the command to make a maven clean build on the docker container, expose the port, and set the entry point.

Then you just need to push it to git repo and connect it in onrender by creating a new web service.

After completing the build in the server you can run your web app on the given domain from on render.

You can check(might need some time (2-3min) to open as it is free hosting)

my weather app -->https://weatherapp-g3yu.onrender.com

my todo app -->https://todoapp-shwf.onrender.com

If you need help you can get in touch I can help you out

merkasin272@gmail.com
How Apache Age and PostgreSQL can be Used in Stock Market Analytics
Tags: postgres, apacheage
Published: 2023-03-30 11:32:56

As the stock market continues to evolve and become more complex, it is becoming increasingly important for financial institutions to have access to advanced database solutions that can handle large volumes of data and provide insights into market trends and risks. Apache Age and PostgreSQL are two open-source databases that provide powerful features for efficient data storage and retrieval, making them ideal for stock market analytics.

With real-time data processing and analytics, machine learning, big data analytics, and data archiving capabilities, Apache Age and PostgreSQL can help financial institutions make more informed decisions and optimize investment strategies. By leveraging the strengths of both databases, Financial institutions may easily store and handle a variety of unstructured financial data because to Apache Age's schema-less data architecture. This is especially helpful in stock market analytics because information there can come from a wide range of sources, including news articles, social media posts, and other market-related data. Financial companies can store this data using Apache Age without first defining a rigid schema, making it simpler to manage and query various data sources.

Large datasets may be quickly queried thanks to Apache Age's extensive indexing options, which include bitmap and hash indexes. This is crucial for stock market analytics, as it is necessary to quickly evaluate large amounts of data in order to spot trends and dangers. Overall, Apache Age and PostgreSQL are powerful tools that can help financial institutions stay ahead of the curve in the stock market. With their advanced features and open-source nature, they provide cost-effective and efficient solutions for storing and analyzing financial data.

In conclusion, Apache Age and PostgreSQL are strong open-source databases that can be utilised for stock market analytics. Large amounts of financial data may be stored and analysed using Apache Age because of its schema-free data model and the scalability and dependability of PostgreSQL. Financial organisations may make better decisions and enhance investment strategies by utilising real-time data processing, machine learning, big data analytics, and data archiving capabilities.
Best Practices for Deploying Node.js Applications
Published: 2023-03-30 11:29:26

Node.js has become an increasingly popular platform for building web applications, thanks to its speed and scalability. However, deploying Node.js applications can be challenging, particularly when it comes to ensuring reliability and scalability. In this article, we'll cover some best practices for deploying Node.js applications, including:

- **Use a Process Manager**: When deploying Node.js applications, it's important to use a process manager to ensure that your application runs reliably and can handle heavy traffic. Popular process managers include PM2, Forever, and Supervisor.


- **Separate Your Environment Configurations**: It's important to separate your environment configurations for development, staging, and production environments. This helps ensure that your application runs consistently across different environments and avoids any unintended consequences.


- **Use a Load Balancer**: Load balancing can help distribute traffic across multiple instances of your Node.js application, ensuring that your application can handle large amounts of traffic and that your users receive a fast and reliable experience.


- **Implement Continuous Integration and Deployment (CI/CD)**: Implementing a CI/CD pipeline can help you automate the deployment process, making it faster, more reliable, and more repeatable. Popular CI/CD tools for Node.js include Jenkins, CircleCI, and TravisCI.


- **Use Monitoring and Logging**: Monitoring and logging are essential for identifying and resolving issues with your Node.js application. Tools like New Relic, Datadog, and Loggly can help you track performance metrics, identify errors, and debug your application.


- **Implement Security Best Practices**: Node.js applications can be vulnerable to a range of security issues, such as cross-site scripting (XSS) attacks and SQL injection attacks. Implementing security best practices, such as using HTTPS, input validation, and proper authentication and authorization, can help protect your application and your users' data.


Deploying Node.js applications can be challenging, but by following these best practices, you can ensure that your application is reliable, scalable, and secure. Whether you're building a small application for a local business or a large-scale application for a multinational corporation, these best practices can help you deliver a fast, reliable, and secure experience for your users.

Thanks for reading...
**Happy Coding!**
Golang Statements You Need to Know
Tags: webdev, beginners, programming, go
Published: 2023-03-30 11:27:25

In GoLang, we use statements to instruct the program to **perform a specific task or action**. They are written as a sequence of tokens and executed by the Go interpreter or compiler.

Statements in GoLang are classified into various categories. Like...

- **Declaration statements** — use to declare variables, constants, and types.
- **Control flow statements** — use to control the flow of execution.
- **Function statements** — use to define and invoke functions.
- **Advanced statements** — more complex statements that deal with advanced Go features.

Understanding the different types of statements and their usage is essential for effective Go programming. 

By using the appropriate statements for each task, we can write more efficient and effective code.

Today, we will see some **lesser known** but **useful** statements in Golang with real examples.

**Note:** I skipped some basic statements like **declaration statements(var, const, type), control flow statements(if…else, for, switch)**, as they are simple and easy to understand.


Table of Contents

- Control flow statements
  - Panic and Recover
  - Goto statements
  - Break and Continue
- Functional statements
  - Anonymous function
  - Function closures
  - Blank identifier
  - Variadic functions
- Other statements
  - Type assertions
  - Defer statements
  - Label statements
  - Select statement
- Conclusion

For detailed explanation with examples, check out [Canopas Blog](https://blog.canopas.com/from-unknown-to-expert-golang-statements-you-need-to-know-a1ac97213c04).
How to add translation to your website
Tags: webdev, javascript, tutorial, translation
Published: 2023-03-30 11:09:26

If you run a website or an application that caters to users from different parts of the world, you would know how important it is to have translations for your content. In this blog post, we will discuss how to add translations on your website using an "internationalization-framework" called  i18next.

**What is i18next?**
i18next is a popular internationalization framework for web applications. It provides a simple and effective way to manage translations and offers a wide range of features to help developers build multilingual applications. The framework is written in JavaScript and can be used with different frontend technologies such as React, Angular, Vue.js and many more.

**Install i18next**
To start using i18next, you need to install it in your project. You can do this by running the following command in your terminal:
 `npm install i18next --save`

**Create Translation Files**
After installing i18next, you need to create translation files for each language you want to support. In each translation file, you define key-value pairs that represent the translated strings for your website. For example, if you want to translate an ad, you can create a file named en.json for English and define the ad copy like this:

```json
 {
  "example_copy": "This is an example copy for EN !"
 }
```

Similarly, you can create translation files for other languages you want to support, such as es.json for Spanish, fr.json for French, and so on.

**Initialize i18next**
Once you have created translation files, you need to initialize i18next in your code. To do this, you can use the i18next.init() function and pass in configuration options.

```Javascript 
import i18next from 'i18next';

const getCurretnUrlLanguage = () => {
 const url = new URL(window.location.href);
 const lang = url.searchParams.get('lang'); // http://localhost:5173/?lang=en
 return lang;
}

i18next.init({
 lng: getCurretnUrlLanguage(),
 fallbackLng: 'en',
 resources: {
   en: {
     translation: await import(`./locales/en.json`)
   },
   es: {
     translation: await import(`./locales/es.json`)
   },
   fr: {
     translation: await import(`./locales/fr.json`)
   }
 }
});

const exampleCopy = i18next.t('example_copy')}

document.querySelector('#app').innerHTML = `
  <div>
    <h1>${exampleCopy}</h1>
  </div>
`
```
**Conclusion**
Today we have discussed how to add translations on your website using i18next. With i18next, you can easily manage translations for your website and provide a better user experience for your global audience. If you haven't already, give i18next a try and see how it can help you create multilingual websites and applications.

You can find the example in this repo: 
https://github.com/luisbeqja/i18n-translation

i18next site: https://www.i18next.com/
EMR vs Serverless EMR
Tags: datascience, aws
Published: 2023-03-30 11:09:10

Recently aws has announced release of AWS Serverless in re:invent 2022 event. If you'are a Data Engineer or Bigdata developer with AWS data services then One obvious question will raise in everyone mind is why Serverless EMR when AWS Glue is already there in service list which is almost doing the same job.

**Introduction of EMR**

Before we move to understand EMR serverless, it is more helpful to get brief about EMR first.


EMR is fully managed Hadoop cluster in AWS to store, process and analyze big data systems​. It is a combination of Map reduce process that typically data enginners were doing in past on local machines or cluster.

In EMR to store intermidiate results we have HDFS/EMRFS/Local File system(Instance store/EBS)​. This is same as HDFS - hadoop distributed file system provided by spark or hadoop.

EMR support nearly 50+ softwares to use on your EMR cluster that you spin up to perform your daily jobs/tasks. i.e. Spark, Hive, HBase, Hue, Pig, JupyterLab, etc.



![EMR vs EMR serverless](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/09wn6zzbb10sq2t9nrzp.png)
バイナリーオプション取引の説明
Published: 2023-03-30 11:08:06

日本でのバイナリー オプション取引に興味がある場合は、信頼できるサイトを見つけて安全とセキュリティを確保することが重要です。 バイナリー オプション取引では、トレーダーは、株式、商品、通貨などの原資産の価格が特定の時間枠内で上昇するか下落するかを予測できます。 
このタイプの取引は高いリターンを提供できますが、トレーダーが認識しなければならない高レベルのリスクも伴います。 ここで最高のバイナリ オプション サイトのリストを読むことができます: https://onlinecasinowiki.com/binary-options-recommendations/ 
日本の金融庁 (FSA) は、バイナリー オプション取引を規制し、国内の金融市場と企業を監督しています。 バイナリー オプション サイトは、合法的に運営するために FSA からライセンスを取得する必要があり、ユーザーの利益を保護する厳格な規則と規制に従う必要があります。 ライセンスを確認するには、サイトで FSA の承認シールを探します。
資金と個人情報を保護するためには、ライセンスを受けて規制されているバイナリ オプション サイトを選択することが重要です。 規制されていないバイナリ オプション サイトには、適切なセキュリティ対策がなく、ユーザーを潜在的な詐欺や個人情報の盗難にさらす可能性があります。 規制されたバイナリ オプション サイトは、ユーザーの賞金を確実に払い出せるように、ユーザーの資金を別のアカウントに保管する必要があります。 認可および規制されたサイトを選択することで、自信を持って取引し、リスクを最小限に抑えることができます。
日本でバイナリーオプションサイトを選ぶ前に、その評判とレビューをチェックしてください。 これにより、サイトのサービスの品質、顧客サポートのレベル、および顧客の苦情や問題の処理における実績についての洞察が得られます。 他のトレーダーや業界の専門家によるオンライン レビューを読み、オンライン フォーラムやソーシャル メディア グループでのサイトの評判を確認してください。 評判の良いバイナリー オプション サイトでも否定的なレビューがいくつかある場合がありますが、否定的なレビューや苦情の数が多い場合は注意が必要です。 サイトの評判とレビューを確認することで、プラットフォームで取引するかどうかについて十分な情報に基づいた決定を下すことができます。
スポーツ賭博サイトを選ぶ際には、サイトの評判を確認することも重要です。 ここでは、日本の信頼できるブックメーカーを見つけることができます: https://onlinecasinowiki.com/sportsbetting-bookmaker-recommended/
PostgreSQL special features
Published: 2023-03-30 11:00:17

**Point-in-time recovery**

PostgreSQL enables developers to use PITR (Point-In-Time Recovery) to restore databases to a specific moment in time when running data recovery initiatives. Because PostgreSQL maintains a write ahead log (WAL) at all times, it logs every database change. This makes it easy to restore file systems back to a stable starting point. 

Third-party tools like pgBackRest (link resides outside ibm.com) make this easier to do and more reliable; most cloud-managed PostgreSQL services will handle this for you automatically.

**Stored procedures**

PostgreSQL features built-in support for multiple procedural languages, giving developers the ability to create custom subroutines called stored procedures. These procedures can be created and called on a given database. With the use of extensions, procedural languages can also be used for development in many other programming languages, including Perl, Python, JavaScript, and Ruby.

**Deep language support**

PostgreSQL is one of the most flexible databases for developers due to its compatibility and support of multiple programming languages. Popular coding languages such as Python, JavaScript, C/C++, Ruby, and others offer mature support for PostgreSQL, letting developers perform database tasks in whichever language they are proficient in without generating system conflicts.

**Table Inheritance**

PostgreSQL has table inheritance feature. This concept is from object-oriented databases. In PostgresSQL a table can inherit from one or more other tables. Child table inherits column(s) along with all check constraints and not null constraints from one or more parent tables. Some constraints (unique, primary key, and foreign key) are not inherited from parent table to child table (Official docs).


Want to extract all the benefits of PostgreSQL along with Graph Database features look at:
[Apache AGE](https://age.apache.org/)
[Apache AGE Github](https://github.com/apache/age)
Can we use Angular custom controls inside HTML, JavaScript
Tags: angular
Published: 2023-03-30 10:57:19

Here is our requirement. There are custom controls (say chart controls) developed in Angular. We used them in angular projects/Angular App.

Our requirement is whether can we use Custom controls developed in Angular inside a HTML+Javascript and browser can load Angular controls inside the HTML and Javascript?

Trying to reuse custom controls developed in angular to be used inside Javascript

#angular #customControls

Thanks and Regards, 
Harish
Using the Python library audioFlux to learn audio analysis
Tags: python, programming, deeplearning, opensource
Published: 2023-03-30 10:37:01

[AudioFlux](https://github.com/libAudioFlux/audioFlux) is a Python library that provides deep learning tools for audio and music analysis and feature extraction. It supports various time-frequency analysis transformation methods, which are techniques for analyzing audio signals in both the time and frequency domains. Some examples of these transformation methods include the short-time Fourier transform (STFT), the constant-Q transform (CQT), and the wavelet transform.

In addition to the time-frequency analysis transformations, AudioFlux also supports hundreds of corresponding time-domain and frequency-domain feature combinations. These features can be used to represent various characteristics of the audio signal, such as its spectral content, its temporal dynamics, and its rhythmic patterns. These features can be extracted from the audio signal and used as input to deep learning networks for classification, separation, music information retrieval (MIR) tasks, and automatic speech recognition (ASR). 

For example, in music classification, AudioFlux could extract a set of features from a piece of music, such as its spectral centroid, mel-frequency cepstral coefficients (MFCCs), and its zero-crossing rate. These features could then be used as input to a deep learning network trained to classify the music into different genres, such as rock, jazz, or hip-hop. AudioFlux provides a comprehensive set of tools for analyzing and processing audio signals. This is an essential asset for professionals and scholars studying and applying methods to analyze audio and music.

https://github.com/libAudioFlux
Reactjs, Linkedin, SSO, API
Tags: react, sso, webdev, beginners
Published: 2023-03-30 10:10:47

Hey community! I am working on a web development project but am stuck on user onboarding. Can anyone help me with integrating LinkedIn SSO on my project.I have integrated the Google SSO but unable to do it for LinkedIn. For the project am using React JS for front end.