teleren/devto huggingface dataset:
Checklist Before Building an eCommerce App
Published: 2021-11-26 11:30:58

eCommerce app idea
you’ve got a general idea of what you’d like to build. Most likely, you’ve chosen one of two options. If you’ve got a regular shop or you produce goods, you may choose to develop an eCommerce app as a tool to attract more customers (check H&M or Ikea apps). The second idea is to create a platform to let others sell their goods within your digital product (amazon, WooCommerce). Keep in mind that in both options you need a website first.  
 
come up with the general idea overview that could be presented as a Plan of action, Later, it will be transformed into a tech requirements document. Think of goods delivery issues as well as an entire business functioning too. 

 
Target audience research
To make your [eCommerce application development](https://www.tvisha.com/services/ecommerce-app-development-web-android-ios.html) reasonable, you need to make sure that your service idea could be demanded. Look at your future app features and try to answer the question of who could benefit from their usage. 
 
Portrait your target audience using such categories as their age, gender, place of living, occupation, and main interests. Think of how your product could help them in their daily activities. Do they have fears regarding your product or tasks it may solve? How your product will make their life better. 
 
Finally, try to know if your audience is willing to pay money to get access to your digital product? How much? Selling platforms may charge sellers a commission, while brand apps got their profits out of direct sales. Consider, that your eCommerce app could be based on the existing business
 
Competitors analysis 
In most cases, eCommerce niches are overcrowded with opponents. conduct your direct and indirect competitors analysis using data from Google, Google Play Market, AppStore.
 
Find out what the major competitive advantage of your market antagonists is, what promotional tools they use, how much time it takes for them to become successful. Then, list the key features of your app that will help you hit the competitors and win customers’ hearts.
How to switch localization resource in Android
Tags: android, mobile, programming
Published: 2021-11-26 11:18:16

Resources are text strings, layouts, sounds, graphics, and any other static data that your Android app needs. An app can include multiple sets of resources, each customized for a different device configuration. When a user runs the app, Android automatically selects and loads the resources that best match the device.

This topic focuses on localization and locale. For a complete description of resource-switching and all the types of configurations that you can specify (screen orientation, touchscreen type, and so on), see Providing Alternative Resources.

When you write your app, you create default and alternative resources for your app to use. When users run your app, the Android system selects which resources to load, based upon the device's locale. To create resources, you place files within specially named subdirectories of the project's res/ directory.

Why default resources are important
Whenever the app runs in a locale for which you have not provided locale-specific text, Android loads the default strings from res/values/strings.xml. If this default file is absent, or if it's missing a string that your app needs, then your app doesn't run and shows an error. The example below illustrates what can happen when the default text file is incomplete.

Example:

An app's Kotlin-based or Java-based code refers to just two strings, text_a and text_b. This app includes a localized resource file (res/values-en/strings.xml) that defines text_a and text_b in English. This app also includes a default resource file (res/values/strings.xml) that includes a definition for text_a, but not for text_b:

When this app is launched on a device with locale set to English, the app might run without a problem, because res/values-en/strings.xml contains both of the needed text strings.
However, the user sees an error message and a Force Close button when this app is launched on a device set to a language other than English. The app doesn't load.
To prevent this situation, [android application developers](https://www.tvisha.com/services/android-app-development-company.html) make sure that a res/values/strings.xml file exists and that it defines every needed string. The situation applies to all types of resources, not just strings: You need to create a set of default resource files containing all the resources that your app calls upon (layouts, drawables, animations, and so on). For information about testing, see Testing for Default Resources.
First NPM Package
Published: 2021-11-26 11:15:08

#Overview
<code>npm install osd600-ssg --save</code>
So I am very excited that I have published my first package to NPM. As a Javascript developer, I have used many NPM packages more than I can remember, now, my tool has become a part of them.

#Process
I tested my tool locally first to find any possible errors. Then I went to the Internet and did some research and went through some tutorial about how to publish a package to NPM. The steps were not complicated so that all the developers with different levels could publish their tools to the community. However, I had to modify some files. 

In <code>package.json</code>, the name of the tool needed to be lowercase, for me, it was  not satisfied about that because the original name was all uppercase as that was my favorite naming. I then forgot that I needed to add a <code>git tag</code> to give my tool a version. <code>README.md</code> needed to be updated as well, since my tool now can be run with <code>npm install osd600-ssg</code>, the developers who would like to contribute do not have to clone my git repo anymore. On top of that, I realized that in <code>package.json</code>, I could add a property called <code>repository</code>. This would allow NPM to create a link to your GitHub repo, which is very convenient. Just like GitHub, NPM can read your <code>README.md</code> so it was not difficult for me to fix the instruction and features of my package. And everything is good for other users to test.

#Testing
I downloaded my package and tested it. It worked as I expected. I also invited some of my friends to try OSD600-SSG. So far, one of them has had a good review on it, but he recommended me that I needed to specify what packages I used in my tool. Right now, I have still been waiting for the others' feedback.

#Usage
<code>npm install osd600-ssg --save</code>
As simply as that. If you have a text or markdown file, and you want to convert it to HTML file, after installing my package, just simply write:
<code>osdssg -i <your path to file></code> 
There are still a lot of options, and you can find them out in the documents in both GitHub and NPM sites. Your feedback will be important for me to improve the tool so that it will get better and better.

#Links
GitHub: https://github.com/nguyenhung15913/OSD600-SSG
NPM: https://www.npmjs.com/package/osd600-ssg
React, Typescript with Laravel
Tags: laravel, react, typescript, inertia
Published: 2021-11-26 10:38:13

Sometimes it is much more convenient to build a monolith up.
I will take you through how I setup my Laravel app with React with Typescript.

For this we will make a simple Laravel, React, Typescript App. We will call it. Laravel-Guava
Technology Stack:
1. PHP/Laravel
2. Inertia/Breeze
3. React/Typescript

I am using a windows with WSL, ubuntu for this. using a mac should be the same experience. 😉 

Feel free to fork it make improvements as you like.

Technology: Make sure you have composer, typescript, node, docker installed. If not I'll add a few lines to make it work.

Step One: Install the latest version of Laravel and run it.

 `curl -s https://laravel.build/<name-of-your-app> | bash`
 `./vendor/bin/sail up` later `composer-docker up` is enough
`npm install`
`npm run install`

Initialize typescript in your project. this will create a ts config file. If that doesn't work, install typescript here[https://www.typescriptlang.org/download]

`npx tsc --init`

these are my configuration for my typescript
`{
  "compilerOptions": {
    "target": "es5",
    "module": "es2020",
    "moduleResolution": "node",
    "baseUrl": "./",
    "strict": true,                 // Enable strict type-checking options
    "skipLibCheck": true,           // Skip type checking of declaration files
    "noImplicitAny": false          // Bypass raising errors on `any` type
  },
  "include": ["resources/js/**/*"]  // Frontend paths pattern
}`

1. Install the dependencies
npm install ts-loader typescript --save-dev
composer require laravel/breeze --dev
php artisan breeze:install react

3. Configure Laravel Mix
Initial Laravel installation comes with a boilerplate JavaScript entry point, which needs to get converted into TypeScript. All you need is to rename .js to .ts.

`
-resources/js/app.js
+resources/js/app.tsx
`

configure  webpack.config.js to resolve typescript extensions
`
const path = require('path');

module.exports = {
    resolve: {
        alias: {
            '@': path.resolve('resources/js'),
        },
        // Add `.ts` and `.tsx` as a resolvable extension.
        extensions: [".ts", ".tsx", ".js"]
    },
};
`

Then, let Mix know that it should handle the JavaScript code as TypeScript. Laravel Mix comes with built-in TypeScript support.

webpack.mix.js

-mix.js('resources/js/app.js', 'public/js')
+mix.ts('resources/js/app.ts', 'public/js')


That is it; you are all set! You can keep writing code the way you used to and utilize some TypeScript features and improve your front-end experience.

Run npm install for any additioal mix dependancies

npm run watch


link to repo: https://github.com/olivertembo/laravel-react-typescript-inertia-boilerplate
PHP.ini Location of Apache on Ubuntu!
Tags: ubuntu
Published: 2021-12-04 10:57:15

---
title: PHP.ini Location of Apache on Ubuntu!
published: true
date: 2021-11-26 08:38:01 UTC
tags: Ubuntu
canonical_url: https://stackallflow.com/ubuntu/php-ini-location-of-apache-on-ubuntu/
---

PHPUbuntu

As there are multiple versions of PHP with different sever configurations, php.ini could be located in several different folders.

You can use php function `phpinfo()` or linux command `php -i | grep "Loaded Configuration File"` to find out exactly which `php.ini` file your web sever is using .

In Linux, there are 3 locations which are common used. Take php 7.2 for example.

### Apache

`/etc/php/7.2/apache2/php.ini` is for the PHP plugin used by Apache. This is the one you need to edit if you are using the Apache web server.

### CLI

`/etc/php/7.2/cli/php.ini` is for the CLI PHP program. Changes to this config file will only affect PHP as it runs in the terminal – it will NOT affect the web server.

### Nginx or Apache with PHP-FPM

`/etc/php/7.2/fpm/php.ini` is a fastcgi-compatible ‘wrapper’ for PHP processing. This is the one you need to edit if you’re using the Nginx web server or Apache with PHP-FPM.

## Older Versions

For versions of Ubuntu _lower_ than 16.04, `/etc/php/5.6/`,`/etc/php/7.0/`,`/etc/php/7.1/`, and so on, are replaced by `/etc/php5/` and so on.

The post [PHP.ini Location of Apache on Ubuntu!](https://stackallflow.com/ubuntu/php-ini-location-of-apache-on-ubuntu/) appeared first on [Stack All Flow](https://stackallflow.com).
Living in the Shell #3; grep (Pattern Matching) (Part 2)
Tags: productivity, linux, devops, bash
Published: 2021-11-26 10:37:20

## `grep`🎖️

Prints/filters lines that match a [Regular Expression (RE)][re] pattern.

[re]: https://en.wikipedia.org/wiki/Regular_expression

## Print line numbers `-n`

```sh
echo -n 'Hello World!\nI''m Going!\nGoodbye!' | grep -n "G."
```

> ```text
  2:Im Going!
  3:Goodbye!
  ```

## Print lines around (after/before) every match `-A` `-B`

```sh
cat ~/.bashrc | grep "if" -A 5 -B 1
```

> Prints next 5 lines and previous 1 line when caught any "if".

## Only check silently (no output) `-q`

```sh
cat ~/.bashrc | grep -q "alias"
```

> Returns with `0` exit code on any match, otherwise `1`.

## Count matching lines `-c`

```sh
cat ~/.bashrc | grep -c "alias"
```

## Print only matching substring `-o`

```sh
echo -n 'Hello World!\nI''m Going!\nGoodbye!' | grep -o "G..d"
```

> ```text
  Good
  ```
How to create multiple post sizes of your social media graphics in Figma
Tags: instagram, template, socialmedia, figmaplugin
Published: 2021-11-26 11:22:39

---
title: How to create multiple post sizes of your social media graphics in Figma
published: true
date: 2021-11-26 10:28:04 UTC
tags: instagram,template,socialmedia,figmaplugin
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/0*0S85GmZxVeH9nfOr.jpg)

Today, we’ll look at how to quickly create multiple post sizes for Instagram, Facebook, Twitter, LinkedIn, and Pinterest faster.

### What You Will Need

You’ll need the following resources to follow along with this Figma tutorial:


**Install Thumblisher Figma Plugin**

Before getting started, make sure to install Thumblisher Figma Plugin to your Figma editor to resize your social media graphics easily.

[https://www.figma.com/community/plugin/1037826586645134259/Thumblisher](https://www.figma.com/community/plugin/1037826586645134259/Thumblisher) 


**Download Exercise File**
To access the social media templates we’ll use in this tutorial, duplicate the Social Media Exercice File

[https://www.figma.com/community/file/1045659071341514535/Social-Media-Exercice-File](https://www.figma.com/community/file/1045659071341514535/Social-Media-Exercice-File)

Find more resources on [https://www.captain-design.com/](https://www.captain-design.com/)


### Watch Video Tutorial

{% youtube eAGTkdmG48c %}


### Before you go

Feel free to visit our website [**captain-design.com**](https://www.captain-design.com/) where we are sharing generously, ready for commercial use [**Figma and HTML templates**](https://www.captain-design.com/).

You’ll find three things to help you kickstart your next project’s design :

- [**200+ free Figma templates**](https://www.captain-design.com/templates/) **.**
- [**Free Html + Bootstrap 5 templates**](https://www.captain-design.com/templates/tag/html) **.**
- [**Amazing Figma Plugins and UI kits**](https://www.captain-design.com/uikit/) **.**

_Originally published at_ [_https://www.captain-design.com_](https://www.captain-design.com/blog/how-to-create-multiple-post-sizes-of-your-social-media-graphics-in-figma/) _on November 26, 2021._
Simple Black Friday
Tags: ui, react, vue, bootstrap
Published: 2021-11-26 10:09:25

Not long ago, a guy, let’s name him “Kyle” asked us about CoreUI’s Tips for developers to create stunning web or app. 

Answer was easy: **“keep it simple”** :)

**“Everything should be made as simple as possible, but no simpler.”**
Albert Einstein

You probably know **Steve Krug’s “Don’t let me think”** — it also a “bible” for CoreUI’s team. When you keep your design simple, then you’ll easily understand the principles of intuitive navigation and information design.
There’re too many overloaded products available on the market, that’s why we’ve always wanted to keep CoreUI as simple as it’s possible.
So we decided to master a CoreUI as one, comprehensive ecosystem or rather tool for the most significant UI needs.
When designing a stunning web or an app, it’s good to stick to valuable tools which will make your work easier. As an example, we can have “CoreUI’s Triada”:
+ Admin Templates
+ UI Components
+ Icons

They are all available for the most popular frameworks like Angular, Vue, Bootstrap and React. Such universal tools let the designer to be more flexible when working on different projects.

Keep it simple and responsive — the rest will follow.

PS Black Friday obliges… If you’re ready for -70% bounce here: [Simple CoreUI Black Friday] (https://coreui.io/pro/#pricing-new)
Fix slow tests with Jest in Github Actions
Tags: testing, github, javascript
Published: 2021-11-26 10:07:05

At [bob.io](https://bob.io) we were migrating a ton of repositories from our oldie Jenkins to GitHub Actions and everything was going really smooth, in some of our tests with mocha and chai we shaved a nice 40% running time, and with the matrix strategy, we can run a lot of test in parallel removing a lot of friction from our CI process.

We were in heaven until we migrated a frontend app with tests made in Jest.

On our first try the tests took a hefty amount of time

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

For reference the same tests in Jenkins 🤔

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

The same tests on my computer 🚀

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

At first glance, it appeared that is CPU bound, but in mocha and chai the history was the opposite, we reduced the run times, so I did a small investigation using the time command like this:

```/usr/bin/time -v npm run test```

In my computer the tests were parallelized and used a good amount of CPU power
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6bg95pdant3sxx84gdu.png)

Meanwhile, in the Github runners, the history was different
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rc86zvl4zsmp819m4au1.png)
 
Looks like, under the hood, Jest checks the number of cores available and uses as much as possible but never uses all the cores, the instances running our test have 2 cores available but Jest only uses 1.

After digging into the Jest documentation I found the [maxWorkers](https://jestjs.io/es-ES/docs/cli#--maxworkersnumstring) option which allows you to control the number of CPU cores used.

I tried to run the same test but forced the workers to fully use the available cores in the runner:

```/usr/bin/time -v npm run test -- --maxWorkers=2```

Not 200% but better CPU usage:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bq3korhcy2ktm3dvwn47.png)
 
And even better run times:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pr1odede1rw8ffp13ejg.png)

Just for the sake of curiosity, I tested with 3 workers and it took 1:34 so we left it with 2 workers.
Join Git Commit Show on 27th and 28th & enjoy giveaways worth $100K!
Published: 2021-11-26 09:56:49

## 🗓️ 1 day to go
## Join Git Commit Show now, an online live show for developers to achieve mastery. This weekend Nov 27-28, Sat-Sun.

Register now for free: [gitcommit.show](https://gitcommit.show/)

Get the free💙 tickets for the show : http://push.gitcommit.show/

What to expect? 👉

🧑‍💻 **6x Masterclass sessions**: Learn from engineers and researchers via live & interactive talk. Covering topics such as git, web development, quantum computing, accessibility, automation, reactjs, kubernetes, etc.

💼 **6x CareerTalk sessions**: Witness experienced leaders sharing their journey of choosing different career paths and how they navigated their challenges. Covering topics such as - publishing book, data journalism, personal branding, research publications and more career hacks.

💻 **6x Showcase sessions**: Learn what's latest in tech and learn how these innovators solved different engineering challenges. You'll have to be there at the online conference on Sun morning to know what's in there.

💰 **$100k worth giveaways**: Exclusive rewards for developers. From swags to cloud credits for deploying your next server or training your next ML model.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kv86vdf649tttlhjviho.png)
Formazione asincrona e sincrona: i pro e i contro
Published: 2021-11-26 09:41:21

Negli ultimi 20 anni, la tecnologia ha trasformato il posto di lavoro, rendendoci più mobili e digitalizzati. Ma con più modi di fornire la formazione agli studenti, può essere difficile scoprire quale metodo funzionerà meglio.

È giusto sostituire un insegnante con un computer? I workshop dal vivo sono davvero efficaci? Queste sono buone domande, ma prima di iniziare a considerare i pro e i contro di ogni specifico modo di divulgare la conoscenza agli studenti, dovrete decidere su una cosa importante – il tipo di apprendimento che avrete e la sua interazione – formazione sincrona o asincrona.
Scopri di piu: https://www.ispring.it/blog/asincrona-e-sincrona
How to use chrome as text editor
Tags: tricks, tutorial, webdev, beginners
Published: 2021-11-26 09:38:54

#Intro
In this article, I will tell you the trick to turn your chrome browser into a notepad. 

#Let's Start 
Follow the steps given below to use chrome browser as a notepad :

METHOD: The trick is a code snippet from which allows you to convert a normal chrome tab into a notepad. Follow the steps given below to convert a normal tab into a notepad.

1) Open the chrome browser.
2) Copy and paste the code given below in the search bar of the chrome tab.
 data:text html,html contenteditable
**Note :** put the html contenteditable in between this sign "<>" and add a "/" between the data:text and html,html I wasn't able to add as it was not allwoing me to add it

3) Hit enter after pasting the above code.
4) That’s it! You will see a blank screen. You can note down anything there.


Note: You will loose all the content if you close the tab. So, make sure that you save anything you typed before closing the tab. Below are the steps to save the content :

Once you are done with writing on the chrome notepad, press CTRL+S.
A windows explorer pop up will get opened. Select the location where you want to save the document.
Click on the Save button.
All your content will be downloaded as an HTML file on your computer. You can open this file anytime you want.

I hope you all enjoyed this post ! Be safe and do take good care of yourselves .

If you see this then comment "Hax!"
Feel free to ask or give suggestions in the comments section.
RECORD CLONING AS A FEATURE USING AGILEAPPS JAVA API's
Tags: webmethods, agileapps
Published: 2021-11-30 14:17:21

---
title: RECORD CLONING AS A FEATURE USING AGILEAPPS JAVA API's
published: true
date: 2021-11-26 09:30:57 UTC
tags: #webmethods, #agileapps, #
canonical_url: https://tech.forums.softwareag.com/t/record-cloning-as-a-feature-using-agileapps-java-apis/253488
---

### RECORD CLONING AS A FEATURE USING AGILEAPPS JAVA API's

Record Cloning is used to replicate or duplicate a certain record. All the data within a record is replicated into a new record with a new record number. Using this feature, you can create similar records multiple times with minimal data changed in certain fields. This way, the rest of the data remains intact and only the fields that need to be updated are changed in the new record.

You can use this feature generally or specifically.

1. When used _ **generally** _, a record in an object is cloned with the rest of the data. The object is independent of other objects, and there is no relationship established with the other objects.
2. When used _ **specifically** _, a record in an object is cloned with the rest of the data including the related information and the sub-forms. The object is dependent on other objects, and there is relationship established with the other objects.

Record Cloning is done using a piece of Java code. This Java code provides the functionality using AgileApps macros.

**Creating the functionality :**
1. Write the code in the CLASS section of the developer resources tab.
2. You can find the CLASS section under:  
Configuration → Customization → Developer Resources → Classes

**Executing the functionality :**

Use the MACROS feature of AgileApps which allows you to create a dropdown feature in the record view section.

**Configuring the macros :**  
Configuration → Customization → Objects → {object} → Macros → New Macro

1. Name the macros
2. Provide a description, if required,
3. Select unconditionally for a condition
4. Under actions → Select Invoke Method and Invoke the class and respective method

You can find a general code for record cloning in the original article in the [Software AG Tech Community](https://tech.forums.softwareag.com/t/record-cloning-as-a-feature-using-agileapps-java-apis/253488).