Skip to content

zentala/awesome-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Development Awesome

A curated collection of tips and tricks for developers at all levels, from beginners to seasoned IT professionals.

  • Boost Your Efficiency: Discover ways to work smarter, not harder. 💹
  • Impress Your Peers: Stand out with innovative solutions and cutting-edge techniques. 🔥
  • Accelerate Prototyping: Learn to build faster and more effectively. 🛠
  • Fast-Track Your Career: Gain the skills and insights to advance swiftly in your field. 🚀

This repository is dedicated to sharing my journey of exploring various technologies and solutions, aiming to find the most effective ones. Whether you're just starting out or looking to refine your skills, there's something here for everyone.

How to Quickly Start with New Technology?

When learning a new technology (<tech>, like Kafka, RPA, ROS, C++, etc.) involve a flexible, multi-angle approach for a holistic understanding. Here’s a brief method:

  1. <tech> docs: Start with a quick scan of official docs to grasp key concepts.
  2. <tech> quick start: Use 'Quick Start' guides to set up and run the technology.
  3. <tech> crash course: Learn basics and core ideas through crash courses.
  4. <tech> cheat sheet: Familiarize with essential commands and functions.
  5. <tech> awesome Repository: Discover top resources in community-curated lists.
  6. <tech> weekly Newsletter: Stay current with trends via weekly newsletters.

This approach builds a multidimensional understanding by exploring the topic from different angles, enhancing learning and information retention more than in-depth, one-time study.

How to Get the Most from JavaScript

As someone who has invested time in learning JavaScript, I've realized its immense potential for rapid prototyping. JavaScript isn't just for creating web pages; its versatility extends much further. Here's what you can accomplish with JavaScript:

  • Website Front-End: Develop interactive websites using frameworks like React, Vue, or Angular.
  • Web Games: Create engaging games with WebGL.
  • Web Server: Build backend services using Node.js.
  • Desktop Apps: Develop cross-platform desktop applications with Electron.
  • Mobile Apps: Create mobile applications with frameworks like React Native.
  • Browser Plugins: Enhance browser functionality with plugins for Chrome, Edge, Firefox, Opera.
  • Userscripts: Automate browser tasks using userscripts.
  • CLI Apps: Build console applications with Node.js.
  • Portable Apps: There are bundlers available for creating portable apps.

JavaScript's ability to operate across multiple platforms with a single technology stack is one of its greatest strengths, making JavaScript developers excellent candidates for innovation departments focused on rapid prototyping. Their familiarity with a multi-platform ecosystem enables them to work efficiently across different domains, reducing the need for managing multiple types of developers. This cross-platform compatibility also allows for sharing code between various applications. As a proponent of fast prototyping, I highly value and recommend JavaScript for its versatility in quickly developing multi-platform solutions.

This is the beauty of JavaScript - despite its flaws, it offers a unique blend of flexibility, speed, and reach across multiple domains, making it a valuable tool in any developer's arsenal.

Good README

Technical Introduction

For an in-depth technical guide on crafting a high-quality README, visit: How to Write a Good README for Your GitHub Project.

My Additional Advices

Make your README expressive and visually clear:

  • Use Icons and Badges for quick visual cues.
  • Include Images (like screenshots) to illustrate key points.
  • Employ Rich Markdown formatting to organize and highlight information effectively.

Shields / Badges

Enhance your READMEs and MD docs readability with visual badges.

Shields.IO

Create custom badges, including optional icons, using Shields.IO. Examples:

Stability Badges

Declare project stability simply by choosing from one of the Stability Badges:

stability-wip stability-deprecated stability-experimental stability-alpha stability-beta stability-release-candidate stability-mature stability-frozen stability-locked

Technical Stack Overview

Present your project's tech stack in READMEs as a clear table.

Category Technology
Environment GitHub   Dotenv   Node.js   npm
Front-end Gatsby   React   TypeScript
Design Ant Design   CSS3   Sass   JSS
Content Strapi   i18next   Airtable   GraphQL
Code Quality ESLint   Prettier
DevOps GitHub Pages   GitHub Actions   SonarCloud
Marketing Google Analytics
IDE Visual Studio Code   EditorConfig   gitignore.io

SonarCloud Quality Status

SonarCloud can be easily integrated with your GitHub repository using GitHub Apps, providing simple project analytics with the following badges:

Vulnerabilities Security Rating Maintainability Rating Code Smells Bugs Lines of Code Technical Debt Reliability Rating Duplicated Lines (%)

Must to see - there is more!

Explore a vast collection of badge examples at Badge Demo.

Icons

Enhance your projects and digital communication with a variety of icons and emojis.

Unicode Emoji Icon Characters

Find a diverse range of emojis at Unicode Emoji Table, useful in:

  • Console - for visual elements in scripts.
  • LinkedIn - to make profiles and posts more engaging.
  • READMEs - to visually improve GitHub documentation.
  • Bots - to enliven messages and responses.
  • Social Posts - to focus attention and emphasize the messages.

Google's Icon Fonts

GitHub Emoji for Markdown Files

Explore an extensive list of GitHub emojis for a creative touch in .md files: GitHub Emojis

TeamViewer as a CLI

TeamViewer can be operated in a console-only mode, without the GUI. This can be particularly useful for easy access to remote servers located behind NAT.

$ cd ~/Downloads/ 
$ wget https://download.teamviewer.com/download/linux/teamviewer_i386.deb # for x86
$ sudo dpkg -i teamviewer_i386.deb 
$ teamviewer help # lists commands, but not all, reason unknown
$ teamviewer info # check TV daemon status and get TV ID 
$ sudo teamviewer passwd [new_password] # set a new password

To conserve disk space, consider installing TeamViewer Host, which is a lighter version optimized for continuous remote access to computers and servers, functioning without the traditional GUI of the standard TeamViewer application.

Awesome Terminal

Recomeded setup

The best and great looking stack that you can setup:

Learn about possibilities of ZSH:

WSL2 + Windows Terminal + VSCode Remote Explorer

This trio offers a seamless integration of Linux and Windows environments, supported natively by Microsoft. The combination of WSL2 (Windows Subsystem for Linux) and Windows Terminal provides a robust platform for running a real Linux environment on Windows, while maintaining the comfort and familiarity of the Windows OS.

Key Integration Features:

  • WSL2 Integration: WSL2 is deeply integrated with Windows, offering an authentic Linux experience. It's particularly useful for running Linux servers, testing cross-platform applications, and more.
  • Windows Terminal: It supports various shells including PowerShell and the Linux shell through WSL. This versatility allows developers to easily switch between Windows and Linux environments.
  • VSCode Remote Explorer: This feature in VSCode supports WSL targets, allowing you to develop in a Linux-based environment directly from VSCode on Windows.

This collaboration between VSCode Remote Explorer, Windows Terminal, and WSL2 represents a significant stride in cross-platform development. Developers can effortlessly manage and navigate both Windows and Linux environments, leveraging the strengths of each for a more efficient workflow. Regular updates and improvements to these tools continue to enhance their integration, making them a powerful combination for modern development needs.

Jupyter Notebook

Discovering Jupyter Notebooks has been a game-changer in my work.

Benefits

Jupyter Notebook is a versatile tool ideal for:

  • Programming beginners,
  • Data science enthusiasts,
  • Scientific researchers.

Why It's a Great Choice:

Easy to Start

  • User-Friendly Interface: Jupyter's intuitive interface simplifies the coding process for beginners.
  • No Complex Setup: It runs directly in your browser, eliminating complicated installations.

Interactive Learning

  • Live Code Execution: Immediate feedback from code execution aids learning and debugging.
  • Experimentation-Friendly: Modify and rerun code snippets to deepen your understanding of different components.

Integration of Code and Documentation

  • Markdown Support: Add notes and documentation alongside code for a clearer thought process.
  • Rich Text Elements: Enhance your notebooks with HTML, images, videos, and links.

Visualization Tools

  • Data Visualization: Create charts and graphs directly within your notebooks.
  • Interactive Output: Dynamic outputs make learning and exploration more engaging.

Wide Language Support

  • Versatile Language Compatibility: Primarily supports Python, with options for R, Julia, and Node.js.

Community and Resources

  • Extensive Community: Access a vast network of users, shared notebooks, and resources.
  • Growing Ecosystem: Continually updated with new extensions and libraries.

Jupyter Notebook is an excellent platform for both novice and experienced developers, providing an interactive environment for learning, data analysis, algorithm development, and comprehensive technical documentation.

Getting Started

Begin your Jupyter journey with ease:

About

Tips & tricks for developers and IT specialists.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published