<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vero O</title>
    <description>The latest articles on DEV Community by Vero O (@chispitaos).</description>
    <link>https://dev.to/chispitaos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F510604%2F92fd79c6-4a3a-4f94-a6e4-e98aed07fa03.jpeg</url>
      <title>DEV Community: Vero O</title>
      <link>https://dev.to/chispitaos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chispitaos"/>
    <language>en</language>
    <item>
      <title>Tips for better programming in distributed teams 🚀</title>
      <dc:creator>Vero O</dc:creator>
      <pubDate>Tue, 10 Aug 2021 19:22:57 +0000</pubDate>
      <link>https://dev.to/chispitaos/tips-for-better-programming-in-distributed-teams-3ipk</link>
      <guid>https://dev.to/chispitaos/tips-for-better-programming-in-distributed-teams-3ipk</guid>
      <description>&lt;p&gt;I've been working remote and freelance for the last 18 years, and my experience told me that working remotely with a distributed team is easier if you set a standard, using some basic and simple rules. 🤓 Remember that you have to work with different people that have different ways of coding.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Code can always work, but can you maintain it across the years?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the important part for me: maintain the development and release new features without rewriting it.&lt;/p&gt;

&lt;p&gt;Those are simple tips, for best practices, in long term developments with distributed teams:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Comments 💬
&lt;/h2&gt;

&lt;p&gt;Always comment on your code, even if you think that you understand it. Because tomorrow you're not available and some  colleague has to continue it.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Variables 📛
&lt;/h2&gt;

&lt;p&gt;Try to set a standard for variable names, don't let your team use any names. Please, I beg you, don't use variables that do not refer to your entity.&lt;br&gt;
Ex: let's suppose you've a list of books&lt;br&gt;
don't declare:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let list = [] 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;instead, refer to your entity first and the variable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let book_list = [] 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Use absolute paths ⚓
&lt;/h2&gt;

&lt;p&gt;To avoid mistakes, don't use relative paths! use absolute paths for better understanding of the code. It's cleaner to read and easy to follow.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example for Frontend dev / Next.js
&lt;/h4&gt;

&lt;p&gt;In next.js &amp;gt; 9.4 you can use absolute path like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { MyComponent } from '@/components/elements' 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;instead of doing this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { MyComponent } from '../../components/elements' 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You've to add the paths to your tsconfig.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "compilerOptions": {
      "baseUrl": ".",
      "paths": {
         "@/components/*": ["components/*"],
         "@/classes/*": ["classes/*"],
         "@/styles/*": ["styles/*"]
      }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;+info:  &lt;a href="https://nextjs.org/docs/advanced-features/module-path-aliases"&gt;Next.js official docs&lt;/a&gt; &lt;/p&gt;

&lt;h4&gt;
  
  
  VS CODE tip:
&lt;/h4&gt;

&lt;p&gt;If you see and error about module location not found, try:&lt;/p&gt;

&lt;p&gt;a. add to .vscode/settings.json&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"path-intellisense.mappings": {
    "src": "${workspaceRoot}/src"
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;b. Reload Visual Studio Code with Cmd/Ctrl + Shift + P and type "reload window".&lt;/p&gt;

&lt;h4&gt;
  
  
  Example for Backend dev
&lt;/h4&gt;

&lt;p&gt;Also if you're a backend developer, you can set up constants to the absolute path and use them inside your code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const PATH_TEMPLATES = '/var/www/public_html/templates/'; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Did you find these tips helpful? follow me for more.&lt;br&gt;
I would 💜 to 👀 and 🤓 from your tips, write me!&lt;/p&gt;

</description>
      <category>bestpractices</category>
      <category>nextjs</category>
      <category>codequality</category>
      <category>remote</category>
    </item>
    <item>
      <title>Cheatsheet: Build IOS ipa from Cordova command line.</title>
      <dc:creator>Vero O</dc:creator>
      <pubDate>Mon, 26 Apr 2021 11:46:36 +0000</pubDate>
      <link>https://dev.to/chispitaos/cheatsheet-build-ios-ipa-from-cordova-command-line-1fdl</link>
      <guid>https://dev.to/chispitaos/cheatsheet-build-ios-ipa-from-cordova-command-line-1fdl</guid>
      <description>&lt;p&gt;This is a simple, tiny cheatsheet for building an ipa from cordova command line.&lt;/p&gt;

&lt;p&gt;To upgrade your cordova IOS version:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm update -g cordova&lt;br&gt;
npm i cordova-osx&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To create a new cordova project:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cordova create [folder_name] [app_id] [app_title]&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To add platforms to the project:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cordova platform add ios@6.1.0    &lt;br&gt;
cordova platform add android&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To manual add plugins:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cordova plugin add path/to/cordova-plugin-name&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To get a plugin from git and then add it:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd plugins &lt;br&gt;
git clone https://github.com/PROJECT/cordova-plugin-name.git&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To build:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cordova build ios&lt;br&gt;
cordova build android&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Once you've build it, you need to go to Xcode, to generate the IPA file:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the workspace
open ./platforms/ios/[app_title].xcworkspace/&lt;/li&gt;
&lt;li&gt;Inside the project preferences, set the sign keys for development and release&lt;/li&gt;
&lt;li&gt;Set the "device" to "Generic IOS device" to compile.&lt;/li&gt;
&lt;li&gt;Go to product &amp;gt; archive&lt;/li&gt;
&lt;li&gt;Done!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's all folks!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Start with AWS CLI and DynamoDB.  </title>
      <dc:creator>Vero O</dc:creator>
      <pubDate>Fri, 16 Apr 2021 12:53:30 +0000</pubDate>
      <link>https://dev.to/chispitaos/start-with-aws-cli-and-dynamodb-1o8b</link>
      <guid>https://dev.to/chispitaos/start-with-aws-cli-and-dynamodb-1o8b</guid>
      <description>&lt;p&gt;This guide will teach you the steps that you've to follow in order to  start working with DynamoDB.&lt;/p&gt;

&lt;p&gt;The main issues that all new users face when working with AWS are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is hard to have a quick and global estimate of your costs.
They've in most of it services a free tier, so don't be afraid to try it.&lt;/li&gt;
&lt;li&gt;Is hard to configure initially, because you don't have a step by step screen that'll guide you.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  CONFIGURE YOUR ACCOUNT
&lt;/h2&gt;

&lt;p&gt;1 - Create an account on AWS: &lt;a href="https://aws.amazon.com/account/sign-up"&gt;https://aws.amazon.com/account/sign-up&lt;/a&gt;&lt;br&gt;
2 - Create a user in IAM:&lt;br&gt;
&lt;a href="https://console.aws.amazon.com/iam/"&gt;https://console.aws.amazon.com/iam/&lt;/a&gt;&lt;br&gt;
       a) Define the username that this user will have (ex. "publishers", "authors"), and then you have to choose the access method ( public and private key is recommended). &lt;br&gt;
       b) Define the policies or permissions that this user will have. This is important because you've to define all of it for the service that'll use.&lt;br&gt;
       c) Add tags if you want&lt;br&gt;
       d) Copy in a temporarily place the public key and the private key.&lt;/p&gt;


&lt;h2&gt;
  
  
  INSTALL THE AWS CLI ON YOUR SERVER
&lt;/h2&gt;

&lt;p&gt;1 - Follow the AWS guide to install the CLI, according your server: &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html"&gt;https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html&lt;/a&gt;)&lt;br&gt;
2 - When you're in the step of "configure", you'll have to add the private and public keys that you've written temporarily in "Configure your account. Step #2d".&lt;br&gt;
Let's suppose you need to add a new service, or a new user. &lt;br&gt;
Go Back to the step "Configure your account. Step #2" and create it.&lt;br&gt;
Then find in your server the "credentials" file that AWS CLI creates (Ex. ~/.aws/credentials) and add a new "Block" of credentials for this new user, which AWS CLI Calls "profiles" to retrieve the information. I'll recommend you to use the same username that you've choose in "Configure your account. Step #2a" to avoid mistakes.&lt;/p&gt;

&lt;p&gt;Ex:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.aws/credentials

[default] 
aws_access_key_id= 
aws_secret_access_key= 

[authors] 
aws_access_key_id= 
aws_secret_access_key=  

[publishers] 
aws_access_key_id= 
aws_secret_access_key=  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  WORK WITH DYNAMODB
&lt;/h2&gt;

&lt;p&gt;1- Go to &lt;a href="https://aws.amazon.com/es/dynamodb/"&gt;https://aws.amazon.com/es/dynamodb/&lt;/a&gt; and enable your account &lt;br&gt;
2 - Create your first table.&lt;br&gt;
You'll have to define:&lt;br&gt;
      a) Table name&lt;br&gt;
      b) Table primary unique key  name &lt;br&gt;
      c) Table secondary key name, called "order key" which can have duplicate values &lt;br&gt;
3- Depending on your language, you've here: &lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.html"&gt;https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.html&lt;/a&gt;&lt;br&gt;
examples of the basic actions that you can do: &lt;code&gt;put&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;describe&lt;/code&gt;, &lt;code&gt;query&lt;/code&gt;&lt;br&gt;
You've to have in mind that this information is required to connect with dynamo:&lt;br&gt;
    a) The profile name that you'll use to manage the permissions, defined in "Install the AWS cli on your server, Step #2"&lt;br&gt;
    b) The region of your DynamoDB. You can find this information in the URL of your AWS DynamoDB account:&lt;br&gt;
Ex:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://{REGION}.console.aws.amazon.com/dynamodb/home?region={REGION}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;About the actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can retrieve one record or all.&lt;/li&gt;
&lt;li&gt;PutItem works as well for adding new items an updating them, based on your primary key.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That 's all folks!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>database</category>
      <category>serverless</category>
      <category>dynamodb</category>
    </item>
  </channel>
</rss>
