Home Blog Page 3

Visual Studio Code: 47 Essential Shortcuts for Developers

0
Visual Studio Code shortcuts
vscode keyboard shortcuts for developers

Visual Studio Code (VS Code) has become one of the most popular editors used by programmer/developer due to it’s flexibility, powerful features, and wide range of extensions available in its marketplace. However, The very useful for the developer is the large number of keywords shortcuts that are available for free to use that significantly enhance productivity of software developer in IT field. Getting used to these shortcuts & mastering it can save your time in building any kind of application, reduce context switching, and keep your focus on your code.

In this article, Let’s explore 47 usefull Visual Studio Code shortcuts tricks that every developer should know. Whether you’re a beginner or an experienced user, these vscode keyboard shortcuts for developers surely help you in various things while coding for your projects.

General Shortcuts

  1. Command Palette: Ctrl + Shift + P or F1 – (Windows) | Cmd + Shift + P or F1 – (macOS)
  2. Quick Open: Ctrl + P – (Windows) | Cmd + P – (macOS)
  3. New Window: Ctrl + Shift + N – (Windows) | Cmd + Shift + N(macOS)
  4. Close Window: Ctrl + Shift + W – (Windows) | Cmd + Shift + W(macOS)
  5. Settings: Ctrl + , – (Windows) | Cmd + , – (macOS)
  6. User Preferences: Ctrl + Shift + , – (Windows) | Cmd + Shift + , – (macOS)
  7. Toggle Sidebar: Ctrl + B – (Windows)| Cmd + B – (macOS)
  8. Toggle Full Screen: F11 – (Windows)| Cmd + Ctrl + F – (macOS)
  9. Zen Mode: Ctrl + K Z – (Windows)| Cmd + K Z – (macOS)
  10. Toggle Terminal: Ctrl + (backtick) – (Windows) | Cmd + (backtick) – (macOS)

File Management

  1. New File: Ctrl + N | Cmd + N
  2. Open File: Ctrl + O | Cmd + O
  3. Save: Ctrl + S | Cmd + S
  4. Save As: Ctrl + Shift + S | Cmd + Shift + S
  5. Save All: Ctrl + K S | Cmd + Option + S
  6. Close Editor: Ctrl + W | Cmd + W
  7. Reopen Closed Editor: Ctrl + Shift + T | Cmd + Shift + T
  8. Close Folder: Ctrl + K F | Cmd + K F

Navigation

  1. Go to Line: Ctrl + G | Cmd + G
  2. Go to File: Ctrl + P | Cmd + P
  3. Go to Symbol: Ctrl + Shift + O | Cmd + Shift + O
  4. Go to Definition: F12 | F12
  5. Peek Definition: Alt + F12 | Option + F12
  6. Navigate Back: Alt + Left Arrow | Cmd + Left Arrow
  7. Navigate Forward: Alt + Right Arrow | Cmd + Right Arrow
  8. Toggle Breadcrumbs: Ctrl + Shift + . | Cmd + Shift + .

Editing

  1. Cut Line: Ctrl + X | Cmd + X
  2. Copy Line: Ctrl + C | Cmd + C
  3. Move Line Up/Down: Alt + Up/Down Arrow | Option + Up/Down Arrow
  4. Duplicate Line: Shift + Alt + Up/Down Arrow | Shift + Option + Up/Down Arrow
  5. Delete Line: Ctrl + Shift + K | Cmd + Shift + K
  6. Insert Line Below: Ctrl + Enter | Cmd + Enter
  7. Insert Line Above: Ctrl + Shift + Enter | Cmd + Shift + Enter
  8. Select Line: Ctrl + L | Cmd + L
  9. Select All Occurrences: Ctrl + Shift + L | Cmd + Shift + L
  10. Undo: Ctrl + Z | Cmd + Z
  11. Redo: Ctrl + Y | Cmd + Shift + Z
  12. Toggle Comment: Ctrl + / | Cmd + /
  13. Block Comment: Shift + Alt + A | Shift + Option + A
  14. Format Document: Shift + Alt + F | Shift + Option + F
  15. Format Selection: Ctrl + K Ctrl + F | Cmd + K Cmd + F

Search and Replace

  1. Find: Ctrl + F | Cmd + F
  2. Replace: Ctrl + H | Cmd + H
  3. Find Next: F3 | Cmd + G
  4. Find Previous: Shift + F3 | Cmd + Shift + G
  5. Toggle Case Sensitive: Alt + C | Cmd + Alt + C
  6. Toggle Regex: Alt + R | Cmd + Alt + R

Simple by using these shortcuts into your workflow will boost your coding speed, As you will be navigate & manipulate your program or code more efficiently, making the development process smoother and more enjoyable. Happy coding!

Concurrency in Dart Programming Language

0
Asynchronous programming in Dart
Async/await Dart

As a developer, you might be knowing what concurrency exactly means. Concurrency is the ability to execute more then one task at a given time, means Executing multiple tasks simultaneously, By running multiple task concurrently will enhance the performance & responsiveness of the application. Let’s check out concurrency in dart programming language.

Asynchronous Programming in dart

Basically to perform non-blocking I/O operations & execute task concurrently without affecting or blocking the main thread developer make use of asynchronous programming model that let’s us to run multiple task simultaneously. Async programming in dart will enable responsive & to build scalable dart application.

void main() {
 print("Start");
  
  Future.delayed(Duration(seconds:2),()=>{
    print("Delayed Task 2 second")
  });
  
  print("End");
}

Output

Start
End
Delayed Task 2 second

Here, Start and End print statement will execute immediately and then after 2 second Delayed Task 2 second will get printed.


Future & Async/await

To work with asynchronous operation in dart we have Future function with async/await. Developer can make use of Future object to represent asynchronous computations and async/await syntax to write asynchronous code sequentially.

void main() async {
 print("Start");
  
  await delayedTask(); // waits here for task to complete
  
  print("End");
}

Future<void> delayedTask() async {
  await Future.delayed(Duration(seconds:2),()=>{
    print("Delayed Task 2 second")
  });
}

Isolates in dart

There is another concept been provided by dart i.e. Isolates an lightweight concurrent execution unit that run in seperate memory spaces, with enables a the true parallel processing in dart and isolation of state. Isolate communicate via message passing making them ideal for CPU-bound tasks.

Check out this article on Isolate iin dart – Flutter Isolate – Run Task in Background – MultiThreading for example

Here is simple example on Isolate

import 'dart:isolate';
void main() async {
 ReceivePort receivePort = ReceivePort();
  await Isolate.spawn(isolateFunction, receivePort.sendPort);
  receivePort.listen((data)=>{
    print('Received: ${data}')
  });
}

void isolateFunction(SendPort sendPort){
  sendPort.send("Message fron Isolate");
}

Working with Streams in dart

Stream-based concurrency model is avalilable in dart language that allows developers to process data asynchronously handling streams of data efficiently. Streams in dart facilitate development of event-driven application.

check out this article on streams Flutter Dart Stream Basic Example – Fetch Crypto Currency API Data

Basic Code Example on Streams in dart

import 'dart:async';
void main() async {
 StreamController<int> controller = StreamController<int>();
  
  controller.stream.listen((data){
    print('Received: $data');
  });
  
  controller.add(1);
  controller.add(3);
  controller.add(5);
}

Dart Concurrency model

Dart’s concurrency model revolves around isolates event loops and asynchronous programming primitives. leveraging isolates & async programming, developer can built a super responsive and scalable & high performance application in flutter.

Managing Concurrent Tasks

To manage concurrent task in Dart programming language will involves a proper handling of asynchronous operation, mangaing errors.

Techniques like error handling, cancellation & timeouts are essentials for robust concurrent programming.

Conclusion

Concurrency operation/task in dart programming language are basically used to execute multiple tasks simutaneously using async nature without blocking the main thread.

Integrating Dart with Data Structures and Algorithms (DSA)

0
dsa in dart
Data Structure & Algorithm in dart

Introduction: Building a robust & efficient solutions to real-world programs we can combine Dart Programming language with Data Structures & Algorithms (DSA).

Creating a Dart project for DSA integration

Dart project for integrating with DSA:

  • Install Dart SDK (if not already installed).
  • Create a new Directory for Dart project.
  • open the folder into terminal
  • Now in terminal RUN ‘dart create my_first_dart_dsa_project to create a new dart project into the opened folder/directory.
  • Navigate into the project ‘my_first_dart_dsa_project‘ & start code.

Implementing Data Structure in dart language

You all know that Implementing a good Data Structure will give your dart code a better backbone. Let’s implement essential data structure like lists, Stacks, Queue, Trees etc. that to by using Dart Programming Language.

Below is an example to create Stack in dart:

class Stack<T>{
    List<T> _items = [];
  
    void push(T value){
      _items.add(value);
    }
  
   T pop(){
     if(_items.isEmpty) throw Exception('Stack is Empty');
     return _items.removeLast();
   }
  
  
  bool get isEmpty => _items.isEmpty;

 // Optional: Peek at the top item without removing it
  T get top {
    if (_items.isEmpty) throw Exception('Stack is Empty');
    return _items.last;
  }

}
void main() {
  // Create a stack of integers
  Stack<int> intStack = Stack<int>();

  // Push data onto the stack
  intStack.push(10);
  intStack.push(20);
  intStack.push(30);

  print('Popped: ${intStack.pop()}'); // Should print: Popped: 30
  print('Popped: ${intStack.pop()}'); // Should print: Popped: 20

  // Check if the stack is empty
  print('Is the stack empty: ${intStack.isEmpty}'); // Should print: Is the stack empty? false

  // Push more data onto the stack
  intStack.push(40);
  intStack.push(50);

  // Peek at the top item
  print('Top item: ${intStack.top}'); // Should print: Top item: 50

  // Pop the remaining items
  print('Popped: ${intStack.pop()}'); // Should print: Popped: 50
  print('Popped: ${intStack.pop()}'); // Should print: Popped: 40
  print('Popped: ${intStack.pop()}'); // Should print: Popped: 10

  // Check if the stack is empty again
  print('Is the stack empty? ${intStack.isEmpty}'); // Should print: Is the stack empty? true

  // Attempt to pop from an empty stack (will throw an exception)
  try {
    intStack.pop();
  } catch (e) {
    print('Error: ${e.toString()}'); // Should print: Error: Exception: Stack is Empty
  }
  
}

Output

Popped: 30
Popped: 20
Is the stack empty? false
Top item: 50
Popped: 50
Popped: 40
Popped: 10
Is the stack empty? true
Error: Exception: Stack is Empty

Implementing of Algorithms

Algorithms are specially designed to logically manipulate & process the data efficiently.

Dart Code Example on implement Binary Search algorithm:

// Function to perform binary search on a sorted list
int binarySearch(List<int> list, int searchKey) {
  int low = 0;
  int high = list.length - 1;
  
  while (low <= high) {
    // Calculate the middle index
    int mid = low + ((high - low) ~/ 2);
    
    // Check if the searchKey is present at mid
    if (list[mid] == searchKey) {
      return mid;
    }
    // If searchKey is greater, ignore the left half
    else if (list[mid] < searchKey) {
      low = mid + 1;
    }
    // If searchKey is smaller, ignore the right half
    else {
      high = mid - 1;
    }
  }
  
  // If the searchKey is not present in the list
  return -1;
}
void main() {
  

  List<int> sortedList = [2, 3, 4, 10, 40];
  int searchKey = 10;
  
  int result = binarySearch(sortedList, searchKey);
  
  if (result != -1) {
    print("Element found at index: $result");
  } else {
    print("Element not found in the list");
  }
}

Output

Element found at index: 3


Conclusion

You’ve have successfully build a dart code that utilize Data Structure & Algorithms (DSA). By implement DSA in Dart we can create a super powerful dart application that can solve complex problems very efficiently.

Redux 5 Interview Questions with answers

0
redux interview questions with answers
redux interview questions with answers

Hi Guy’s In this Article let’s check out 5 Interview Question that are very important and can be asked to you in your next Interview.

Redux: Commonly used while build Reach Application, Redux Help you in managing the state of the application in a more structured and scalable way. It helps in maintaining the state of the entire application in a single source of storage, making it easier to manage, debug, and test while building application using React.

5 Interview Question with Answer on Redux

1. What are the 3 Core Principles of Redux?

  • Single Source of Truth.
  • State is read-only.
  • Changes are made with pure functiions.

2. How Does Redux handle Asynchronous Operations?

Redux is an synchronous, but you can handle asynchronous operations using middleware like Redux Thunk & Redux Saga.

3. Implement Server-Side Rendering with Redux?

  1. Create a Redux Store on the server for each request.
  2. Dispatch actions to fetch and populate data.
  3. Render the app to a string with the server store.
  4. Embed the initial state in the HTML response.
  5. Rehydrate the state on the client with the initial state.

4. How can you Persist the Redux State Across Sessions?

To persist the Redux state, you can use middleware like redux-persist.

5. Best practices for Structuring Redux Applications?

  1. Organize files by feature/module.
  2. Colocate selectors & actions with reducers.
  3. Combine actions, reducers and types in single file.
  4. Use entities & ids to avoid deeply nested structures.

Improve performance of your Flutter apps – Future.wait()

0
future wait
future wait

Hi Guy’s, Welcome to Proto Coders Point. In the changing world of mobile App development, App Performance plays an crucial role that can build you app business or break the plan if performance is weak. As a flutter developer where we build mobile application for cross platform like mobile, android, ios or desktop, where we need to focus of app performance in multiple operations simultaneously, can be making a API call to fetch data, executing database transaction or carrying out complex computations.

Sequential Execution of program

The most common mistake many application developer does is exciting an operation in a sequence, may be he is using async, He make mistake by executing operation one after another, which will lead into slowing down the app or user might see lag in UI while an operation is fetching data and will be poor user experience.

The Solution is concurrent execution of operations

Future.wait() is a game-changer, when it comes handling multiple asynchronous operations concurrently. By using Future.wait() we can execute multiple futures at the same time, Therefore this will reduce the over all waiting time and will lead to improving app performance.

Code Example – without using Future.wait()

Below code is by executing operation sequentially one by one.

The below code will take 4 seconds to completely run the program

void main() async{
  var data1 =  await delayedNumber();
  print(data1);
  // Here there is a await of 2 second
  var data2 = await delayedString();
  // Here there is a await of 2 second
   print(data2);
 // totally it take 4 seconds to completely run the program
}

Future<int> delayedNumber() async{
   await Future.delayed(Duration(seconds:2));
   
   return 1;
}

Future<String> delayedString() async{
  await Future.delayed(Duration(seconds:2));
  return 'Results';
}

Code Example – using Future.wait()

void main() async{
  var data = await Future.wait([
     delayedNumber(),
     delayedString()
]);
  
  print(data[0]); // [2,results]
}

Future<int> delayedNumber() async{
   await Future.delayed(Duration(seconds:2));
  
   return 1;
}

Future<String> delayedString() async{
  await Future.delayed(Duration(seconds:2));
  return 'Results';
}

Here by using By executing multiple futures concurrently, Future.wait() reduces the overall waiting time for operations. This is particularly useful for tasks that are independent of each other, such as fetching data from different APIs or performing unrelated computations.

What’s new in flutter 3.22

0
flutter 3.22
flutter 3.22

Hi Guys, Welcome to Proto Coders Point. In this Flutter Article let’s check out what’s new with flutter version 3.22.

Flutter 3.22

Performance Enhancements

Web Assemble Support: This stable release brings WebAssembly support to Flutter for improved web app performance.

Vulkan Backend for Impeller: This provides smoother graphics and better performance on Android devices.

Platform View Performance on IOS: Except smoother scorlling and overall performance for platform views on iOS devices.

Firebase Integration: Their was an issue with Firebase integration which is been been resolved now, ensuring smoother backend services like authentication, real-time databases, and analytics​.

Improved Developer Workflow

Widget State Properties: This simplifies widget state management by separating state logic from the build method

Dynamic View Sizing: This enhances layout responsiveness by allowing widgets to determine their size based on available space.

Improved form Validation: This streamlines user input handling with better error handling and validation capabilities.

UI Components and Material Design: Updates include improved behavior of Search Anchor Tag, fixes for the visibility of clear buttons in search views, and enhanced scrolling capabilities in disabled TextFields. Padding issues in TextFields under Material 3 have also been resolved​.

Other additional Improvement in flutter 3.22

Flavor-Conditional Asset Bundling: This allows you to selectively bundle assets based on different app flavors.

Gradle Kotlin DSL Support: This improves Gradle build script editing for projects using the kotlin DSL.