InfyOm Blog

latest-post

In our daily life, we are going through lots of packages, and some of us don't know how to build our own package into Laravel.

We are going to perform the core steps to create your own package in laravel. In this tutorial we are going to build zoom package, so we will perform steps related to it.

Setup Fresh Laravel Repo 

Setup fresh laravel repo, and then create directories within it. 

for e.g Create infyomlabs/zoom-api directory into root.


Now create src directory into zoom-api

Run Composer init Into src Directory

After hitting composer init it will ask some information from you, as you can see in below image I have entered some of information. you can just hit enter if you do not want to add other information.


Add your config file (Optional)

Create directory config into src directory and add your config.php file there from where you can manage your env variables. 


Add Service Provider

Create your service provider from where you can do lots of actions. like you can publish config/routes/ migrations files from there. here we are publishing the zoom config file. 


Add your class (Which contains all functions) 

Here we have added a Zoom class which will be contained all zoom functions. 

Update Composer.json 


Finally, Test it in your existing project

Put the following code to your main composer.json (in your project's root). and hit composer update

  "repositories": [
        {
            "type": "path",
            "url": "infyomlabs/zoom-api",
            "options": {
                "symlink": true
            }
        }
    ],
    "license": "MIT",
    "require": {
        "infyomlabs/zoom-api": "dev-develop"
    },


January 27, 20211 minuteuserVishal Ribdiya

Posts

post

In the last Blog we have discussed the basics of BSC, let's start a discussion about four perspectives of BSC.

A Balance Scorecard looks at an organization from four different perspectives to measure its health, each of these perspectives focuses on various sides of the company and creating a balanced view of the organization.

And yes all four areas of BSC are interrelated we cannot ignore any out of four to the success of the organization.



 

Financial Perspective:

This perspective views organizational financial performance and the uses of financial resources.


We need to focus on two points:

  • Is the company achieving its financial goals?
  • How well the strategies and operations contribute to improving financial health?


Well, now the question is how we can measure the output of the financial perspective?

these data always past focused, we need to gather two types of data. 

  1. Historical Data: How did we do last month, last week, last year, and so on.
  2. Current Data: How we are doing right now, Today?

For instance, 

  1. our net profit for the year versus last year
  2. Our sales revenue this year versus last year

These measures of corporate performance are based on history and also vary from organization to organization. 


As the BSC is holistic approach, any key objectives that is related to company's financial health and the performance may include in this perspective as given below:

  • Cost Saving and Efficiencies [Specified Goals: Reduced production cost 10% by 2021]
  • Profit Margins [increase operational profit Margins]
  • Revenue Sources [adding new revenue channels/department/products]

In the end, 

  • Are you making money?
  • Are your investors happy?   
    If yes then be happy...

The financial health of your organisation may be the indicators of your past decisions but still incredibly important.

' Money keeps the company alive ' and the financial perspective focus solely on this. 


Internal Process Perspective:

This perspective views various organizational processes and the efficiency of the particular process. 


  1. from this view, the question should be asked what internal processes have added values within the organization and what activities need to carry in the organization (In all three perspectives).
  2.  The internal Process perspective looks at how smoothly your business is running (Here, Efficiency is important )
  3. It's all about,
  • Reducing waste, 
  • Speeding process/ production
  • Doing more with less


We need to focus on three points:

  • Is the company improving the critical process?
  • Are there any obstacles standing between ideas and execution?
  • How quickly you can adapt to changing business conditions?


This perspective answer the question :

"what process we must excel at to satisfy our shareholders/financial Backers and customers?"


To know more about BSC please read my weekly Blog.



November 18, 20202 minutesauthorMariyam Bemat
post
In the last Blog we have discussed a few tips on recruitment, let's glance at the more tips.....
  1. Remember only you are not interviewing
  2. Look back years of candidate's career
  3. Trust your Gut
  4. Don't be boring Interviewer 
  5. Represent Job Description
  6. Think like Marketer 
1.Remember only you are not interviewing:
Always keep in mind that only you are not hiring for a particular role, we have a competitive job market, most candidates we interviewed will also be interviewing elsewhere and that's why we need to be active, present a positive company image towards the employee.

2.Look back years of candidate's career:
If we are hiring for an experienced person we need to ask questions related to his job experience, how he/she was handling difficult situations, and listen closely to the answer. you may learn a lot or what you need. Remember, don't forget to examine body language from it would come to know about his/her attitude towards the role.

3.Trust your Gut:
don't ignore your gut. If the candidate found good on paper but still after interviewing something from the inner side tells you it's just not right then don't proceed without more investigation. 

4.Don't be boring Interviewer :
Boring questions will bring boring answers. Don't ask such questions. Ask relevant questions about the job. Don't waste your time and candidate time by asking questions which answer don't matter to you.

5.Represent Job Description:
 While interviewing candidates you need to represent the role and responsibilities for the profile is candidate become more aware of the Job and able to clear doubts. 

6.Think like Marketer :
Due to thought competition in the market, Human Resource Recruiters need to be marketer, we have to present our company in a unique way to attract talent from the market.

The process of recruitment is more difficult as all business owners want to hire more talent in the organization. Hence, we need to make proper strategies for hiring as better Recruitment & selection strategies result in the improvement of organizational outcome. We can say investment in 'Recruitment and Selection  process' is money well spent. 

November 17, 20202 minutesauthorMariyam Bemat
post

In the previous article, we learned 4 cases for how to  test  Android Applications.

In this article, we will learn more cases for how to  test  Android Applications.

5. Compatibility testing test cases

Compatibility testing is performed to protect against mobile application failures as devices have different operating systems, sizes, resolutions, and so on.  Determines that an app works consistently across various platforms and environments. 

Six compatibility test case scenarios questions:

  1. Have you tested on the best test devices and operating systems for mobile apps?
  2. How does the app work with different parameters such as bandwidth, operating speed, capacity, etc.?
  3. Will the app work properly with different mobile browsers such as Chrome, Safari, Firefox, Microsoft Edge, etc.
  4. Does the app's user interface remain consistent, visible and accessible across different screen sizes?
  5. Is the text readable for all users?
  6. Does the app work seamlessly in different configurations? 

6. Security testing test cases

Security testing ensures that the application data and network security requirements are met per the guidelines.  It focuses on identifying possible risks and security vulnerabilities so that the application is not exploited and the data is protected. 

Twenty-four security testing scenarios for mobile applications:

  1. Can the mobile app resist any brute force attack to guess a person's username, password, or credit card number?
  2. Does the app allow an attacker to access sensitive content or functionality without proper authentication?
  3. This includes making sure communications with the backend are properly secured.  Is there an effective password protection system within the mobile app?
  4. Verify dynamic dependencies.
  5. Measures taken to prevent attackers from accessing these vulnerabilities.
  6. What steps have been taken to prevent SQL injection-related attacks?
  7. Identify and repair any unmanaged code scenarios
  8. Make sure certificates are validated and whether the app implements certificate pinning
  9. Protect your application and network from denial of service attacks
  10. Analyze data storage and validation requirements
  11. Create  session management to prevent unauthorized users from accessing unsolicited information
  12. Check if the encryption code is damaged and repair what was found.
  13. Are the business logic implementations secure and not vulnerable to any external attack?
  14. Analyze file system interactions, determine any vulnerabilities and correct these problems.
  15. What protocols are in place should hackers attempt to reconfigure the default landing page?
  16. Protect from client-side harmful injections.
  17. Protect yourself from but vicious runtime injections.
  18. Investigate and prevent any malicious possibilities from file caching.
  19. Protect from insecure data storage in app keyboard cache.
  20. Investigate and prevent malicious actions by cookies.
  21. To provide regular checks for the  data protection analysis
  22. Investigate and prevent malicious actions from custom-made files
  23. Preventing memory corruption cases
  24. Analyze and prevent vulnerabilities from different data streams 

7. Localization testing test cases

Localization testing ensures that the mobile app provides a flawless user experience in a specific locale based on the target language and country.  It aims to ensure that the functionality and content of the application is fully tailored to meet the needs of users in a particular location.  Since fully localized apps and websites outperform their competition, this is a test case that shouldn't be overlooked.  Partnering with a respected third party with global reach alleviates some stresses and unknown variables when using localization.  For example, Testis covers over 100 countries and over 140 languages. 

Eleven localization testing scenarios for mobile applications:

  1. The translated content must be checked for accuracy.  This should also include all verification or error messages that may appear. 
  2. The language should be formatted correctly.(e.g. Arabic format from right to left, Japanese writing style of Last Name, First Name, etc.) 
  3. The terminology is consistent across the user interface. 
  4. The time and date are correctly formatted. 
  5. The currency is the local equivalent. 
  6. The colors are appropriate and convey the right message. 
  7. Ensure the license and rules that comply with the laws and regulations of the destination region.
  8. The layout of the text content is error free. 
  9. Hyperlinks and hotkey functions work as expected. 
  10. Entry fields support special characters and are validated as necessary (ie. postal codes)
  11. Ensure that the localized UI has the same type of elements and numbers as the source product. 

8. Recoverability testing test cases

The recovery test is a non-functional testing technique that determines how quickly a mobile application can recover after a system crash or hardware failure. 

Five recoverability testing scenarios questions:

  1. Will the app continue on the last operation in the event of a hard restart or system crash?
  2. What, if any, causes crash recovery and transaction interruptions?
  3. How effective is it at restoring the application after an unexpected interruption or crash?
  4. How does the application handle a transaction during a power outage?
  5. What is the expected process when the app needs to recover data directly affected by a failed connection? 

9. Regression testing test cases

QA and mobile app testing doesn't end once an app is launched.  When an application is updated, even small changes can create unexpected problems.  This is why regression testing is key.  The purpose of regression testing is to ensure that new code changes in the software do not cause errors or interruptions. 

Four regression testing scenarios for mobile applications:

  1. Check the changes to existing features
  2. Check the new changes implemented
  3. Check the new features added 
  4. Check for potential side effects after changes start 

That's it. If you want a good application, take these tips and follow cases for Android Application test. It will help to make quality & standardize your Applications.

November 15, 20204 minutesauthorBhumi Khimani
post
Maintaining the integrity of your brand is essential for long-term success. However, Trillion often encounters third-party logo design files that do not appear to have the highest care when created. The logos in question come to us in the form of a sponsor logo, an affiliate logo, and a certificate or award logo.

The following points are often enough that we think it is important to provide guidance so that you can avoid these pitfalls. With the help of a graphic designer, the issues of this logo below can be solved and fixed if you ever consider it in your own logo.

1. Bad lines in the logo

When the characters and design elements in the logo are drawn or modified, great care should be taken by the graphic designer. The lines and dots inside the logo should be smooth and clean. In the logo design example below, you will see how the inside line of the letter does not have a curve towards it. This is one of the most common problems we see in poorly made logos.

image-1.png 24.05 KB
Logo files are made up of many dots and lines. When the logo is small, these imperfections may not be significant, but as the logo gets bigger the issue becomes more obvious and problematic. You should have a graphic designer who will fix the curves and lines of the logo. Then use the new files to replace the problem logo.


2. Improper Alignment of Logo Elements

Since graphic designers create logos, they are composing letters and design elements. They have complete control over the sizing and alignment of objects. With all this control, and especially the number of elements or characters is likely to increase that something does not adjust as it should.

image-2.png 21.79 KB

As with the "bad lines" example above, a small logo size can hide problems when compared to an extended version. But on the screen or in digital access, cutting your logo the wrong way causes it to look blurry (due to pixel interpolation, solid dark pixels are divided into multiple lighter pixels). Graphic designers can adjust the arrangement of elements using the Snap-to-Grid or Snap-to-Guide feature, functions available in Adobe Creative Cloud software. This process will ensure that items are arranged just like your logo.

3. Missing Font in Logo


A logo design should always be presented as a piece of artwork composed of lines and points or pixels. Unfortunately, this is not always the case. If a graphic designer used a particular font in your logo, you may not have that font on your, or your vendor’s, computer. A missing font often leads to it being substituted by another font available on the computer. It’s a major problem that prevents anyone who doesn’t have the font to see the logo properly. This even holds true for a graphic designer trying to fix the problem.

image-3.png 112.53 KB

As a logo is designed, fonts are commonly used either as they are, or as a starting point to be modified for the design. The important step in the logo design process is to “outline” the letters being used in the logo so they become a piece of artwork rather than letters you can edit by typing. Once this process has been done, it is not reversible and the font will no longer be required to view and reproduce the logo. Be aware that fonts can cost between $20 and $150 or more just for one weight, such as Helvetica Neue Bold.


4. The Incorrect Logo File Format


Another one of the most common issues we see with logos that are supplied to us is that they are not in the correct file format. If your graphic designer comes to you and says “it’s not the right format” it can mean a few things. However, if your designer intends on using the logo, it is not going to work.

image-4.png 138.65 KB
The most common incorrect file format we receive is a raster logo such as a .jpg rather than a vector logo, such as a .eps. A .jpg logo might be fine if the resolution is high enough and it does not require being produced on a color or transparent background. Vector logos will offer a graphic designer the most options, including saving the artwork to other file formats. A vector logo can be enlarged or reduced infinitely without losing quality.

5. The Incorrect Logo Color Format


A less common but potentially more challenging logo file format issue is the color mode. A logo that is being printed on paper, on a t-shirt, or being included on a website will have different color spectrum requirements. Some can be easily converted from one to another but others cannot. Again, a vector logo will offer a graphic designer the best chance to fix the issue.

image-5.png 169.69 KB


Logo Design Done Right

Providing our clients with logo designs and all of the necessary file formats they might need is an important part of our creative process. Once our design has been approved, we create full-color, 1-color, 2-color, black, and white (knockout) versions of the logo for both print and digital usage. We clearly label the files and place them into properly named folders, making it easy to find the right logo.
November 14, 20204 minutesauthorKishan Savaliya
post

We have recently developed a site into the gatsby.

We have a blog site and hosted it on a different domain but now we want to move to one place at our main site. now, we have challenges for displaying dynamic blogs on the gatsby site.

Finally, I found that gatsby provides support to render dynamic blogs as a static page. when build created that time fetch the blogs from the server and create a static page for all the blogs.

Gatsby is a very good platform and manages such a kind of thing easily.

So, I will show you how to create static pages from the API response into the Gatsby site.

Here are the steps you need to follow correctly.

Steps 1

Create a one blog file where you want to load a blog in your design.

For an ex. I created a file `blog/index.js` inside the component directory and the code looks like this,


Steps 2

Open a file `gatsby-node.js`

Declare the const for the API URL at the beginning of the file.

const blogURL = 'http://blog-api.com/api/posts';

We need to create an instance of the  `node-fetch` for fetching a data from API server.

const fetch = require(`node-fetch`);
Import the path for a resolve the page while creating a static page.
const path = require('path');
See the example how to create a static page from APIs. code look's like,
exports.createPages = (async ({graphql, actions}) => {
    const blogs = await fetch(blogURL);
    blogs.data.forEach((blog) => {
        createPage({
            path: 'blog/' + blog.slug,
            component: path.resolve(`./src/components/blog/index.js`),
            context: {
                // Data passed to context is available
                // in page queries as GraphQL variables.
                slug: blog.slug,
                blog: blog,
            },
        })
    })
Now we are done, and you can access blogpage via slug.


November 12, 20201 minuteauthorShailesh Ladumor
post
Zoom Marketplace is providing APIs to create zoom meeting direct using the web interface and calling its API. So first of you need to create your zoom ap into zoom marketplace and need to generate the API Keys and credentials.

Create a Zoom Application
  1. Go to Zoom marketplace and do sign in
  2. Click Develop button on header and select Build App menu.
  3. Choose the JWT and create an application with the app name that you want.
  4. Input required information and click Continue until your app will be activated. 
I hope you already have installed fresh laravel. now you have to add the following packages to your composer.json  to integrate the zoom API.

composer require firebase/php-jwt
composer require guzzlehttp/guzzle
And Now run composer update

And don't forget that we also need to modify .env files to set the zoom API credentials.

ZOOM_API_URL="https://api.zoom.us/v2/"
ZOOM_API_KEY="INPUT_YOUR_ZOOM_API_KEY"
ZOOM_API_SECRET="INPUT_YOUR_ZOOM_API_SECRET"

You can find the zoom credentials from your zoom app.

Now just copy given ZoomMeetingTrait to your controller and call-related methods.

<?php

namespace
App\Traits;

use GuzzleHttp\Client;
use Log;

/**
 * trait ZoomMeetingTrait
 */
trait
ZoomMeetingTrait
{
    public $client;
    public $jwt;
    public $headers;

    public function __construct()
    {
        $this->client = new Client();
        $this->jwt = $this->generateZoomToken();
        $this->headers = [
            'Authorization' => 'Bearer '.$this->jwt,
            'Content-Type'  => 'application/json',
            'Accept'        => 'application/json',
        ];
    }
    public function generateZoomToken()
    {
        $key = env('ZOOM_API_KEY', '');
        $secret = env('ZOOM_API_SECRET', '');
        $payload = [
            'iss' => $key,
            'exp' => strtotime('+1 minute'),
        ];

        return \Firebase\JWT\JWT::encode($payload, $secret, 'HS256');
    }

    private function retrieveZoomUrl()
    {
        return env('ZOOM_API_URL', '');
    }

    public function toZoomTimeFormat(string $dateTime)
    {
        try {
            $date = new \DateTime($dateTime);

            return $date->format('Y-m-d\TH:i:s');
        } catch (\Exception $e) {
            Log::error('ZoomJWT->toZoomTimeFormat : '.$e->getMessage());

            return '';
        }
    }

    public function create($data)
    {
        $path = 'users/me/meetings';
        $url = $this->retrieveZoomUrl();

        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([
                'topic'      => $data['topic'],
                'type'       => self::MEETING_TYPE_SCHEDULE,
                'start_time' => $this->toZoomTimeFormat($data['start_time']),
                'duration'   => $data['duration'],
                'agenda'     => (! empty($data['agenda'])) ? $data['agenda'] : null,
                'timezone'     => 'Asia/Kolkata',
                'settings'   => [
                    'host_video'        => ($data['host_video'] == "1") ? true : false,
                    'participant_video' => ($data['participant_video'] == "1") ? true : false,
                    'waiting_room'      => true,
                ],
            ]),
        ];

        $response =  $this->client->post($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 201,
            'data'    => json_decode($response->getBody(), true),
        ];
    }
   
    public function update($id, $data)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();

        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([
                'topic'      => $data['topic'],
                'type'       => self::MEETING_TYPE_SCHEDULE,
                'start_time' => $this->toZoomTimeFormat($data['start_time']),
                'duration'   => $data['duration'],
                'agenda'     => (! empty($data['agenda'])) ? $data['agenda'] : null,
                'timezone'     => 'Asia/Kolkata',
                'settings'   => [
                    'host_video'        => ($data['host_video'] == "1") ? true : false,
                    'participant_video' => ($data['participant_video'] == "1") ? true : false,
                    'waiting_room'      => true,
                ],
            ]),
        ];
        $response =  $this->client->patch($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 204,
            'data'    => json_decode($response->getBody(), true),
        ];
    }
   
    public function get($id)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();
        $this->jwt = $this->generateZoomToken();
        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([]),
        ];

        $response =  $this->client->get($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 204,
            'data'    => json_decode($response->getBody(), true),
        ];
    }

    /**
     *
@param string $id
     *
     *
@return bool[]
     */
    public function
delete($id)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();
        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([]),
        ];

        $response =  $this->client->delete($url.$path, $body);
       
        return [
            'success' => $response->getStatusCode() === 204,
        ];
    }
}
And add the following constants to your controller.

const MEETING_TYPE_INSTANT = 1;
const MEETING_TYPE_SCHEDULE = 2;
const MEETING_TYPE_RECURRING = 3;
const MEETING_TYPE_FIXED_RECURRING_FIXED = 8;
So the final controller will look like, 


<?php

namespace
App\Http\Controllers;

use App\Models\ZoomMeeting;
use App\Traits\ZoomMeetingTrait;
use Illuminate\Http\Request;

class MeetingController extends AppBaseController
{
    use ZoomMeetingTrait;

    const MEETING_TYPE_INSTANT = 1;
    const MEETING_TYPE_SCHEDULE = 2;
    const MEETING_TYPE_RECURRING = 3;
    const MEETING_TYPE_FIXED_RECURRING_FIXED = 8;

    public function show($id)
    {
        $meeting = $this->get($id);

        return view('meetings.index', compact('meeting'));
    }

    public function store(Request $request)
    {
        $this->create($request->all());

        return redirect()->route('meetings.index');
    }

    public function update($meeting, Request $request)
    {
        $this->update($meeting->zoom_meeting_id, $request->all());

        return redirect()->route('meetings.index');
    }

    public function destroy(ZoomMeeting $meeting)
    {
        $this->delete($meeting->id);

        return $this->sendSuccess('Meeting deleted successfully.');
    }
}

So this is all you need to integrate zoom API, so easy 😊  Right. Enjoy the code. 
November 11, 20201 minuteauthorVishal Ribdiya
post

Introduction

How to maximize profits is on the minds of most business owners. There are only two ways to do this: increase prices or reduce costs. You cannot simply say that you are going to increase the profit of your business without a specific strategy. All you can do to increase profits is to improve the variables that ultimately determine your profitability. Consider the following strategies to make more money for you and your business in 2021.

1. Improve your website

People are using your website to research your company before doing business with you. Can you improve their experience and build their trust so they can use your product or service? There are four things you should clearly do on your website:
  • Explain who you are and what you sell
  • Entice a potential customer to buy
  • Make it easy to buy a product or service
  • There is a way to easily contact sales or customer support with questions

2. Invest in your business

At first glance, you would hesitate to put more money into your business. Especially when you’re trying to figure out how to make more money, not less. Often, especially in times of turmoil where new opportunities arise, the best decision is a short-term price for long-term payments.

3. Increase your advertising

You will not hesitate to spend money on advertising. Maybe you’ve been burned by a marketer in the past who promised results and didn’t get results. Or you tried advertising yourself, such as Facebook ads, and you don't think it works.

4. Raising prices

Both of these strategies are a thoughtful and unpleasant option in today’s economic environment. Still, sometimes, to stay in business, you need to raise prices. To determine the price, consider:
  • How much does it cost you to make a product
  • How much does it cost to deliver
  • Costs for running a business - including administration and employee salaries
  • Competitive price
  • The last time you raised a price
After reviewing this data, determine a possible reasonable price increase. Include any pricing data in your business plan so that if you choose to review it later, you can.
Next, deliver this increase to customers. Explain why you came to this decision. If there’s any way to add value to a product without cutting a profit, do it and let customers know they’re getting more.

5. Follow the 80/20 rule

The 80/20 rule is to focus your most important efforts on your most valued customers. The idea is that 20% of your customers usually bring in 80% of your revenue; These are the people you want to focus on.
On the flip side, 20% of your customers frequently present 80% of your problems. Identify those problem-customers and fire them to free up your time on more positive business activities.

6. Cut costs

One way to think about reducing costs is to consider the profit leverage effect (PLE). P.L.E. The idea is that every dollar saved in the production of goods or delivery of services adds a dollar profit to your bottom line without selling too much.
Check your current processes to reduce costs:
  • Are there areas where you can improve efficiency?
  • Negotiate cheap products or services?
  • Will adopting new software or renting a service save you money in the long run?
We will see more points in our next tutorial.
November 08, 20203 minutesauthorAnkit Kalathiya
post
Hello, friend short cut way all people like. but remember a short cut is improved your self and save time it's a very good way. so in this blog learning the android studio shortcut key.use all short cut key and save time and performance improve 

image1.png 70.61 KB
Search Keys :


  • Shift+Shift — Search Every Where
  • Ctrl+F — Find Text within a Single File
  • Ctrl+Shift+F-Find Text in All Files
  • Ctrl+R — Replace Selected Text in a Single File
  • Ctrl+Shift+R — Replace Selected Text in all Files (Be Careful while Using This)
  • Ctrl+Shift+A —Search for IDE Commands
Navigation Keys  :

  • Ctrl+N — Navigate to Class
  • Ctrl+Shift+N — Navigate to a File
  • Ctrl+B — Jump to Declarations
  • Alt+ ↑ — Jump to the Previous Method
  • Alt+↓ — Jump to Next Method
  • Ctrl+G — Jump to Line
  • Ctrl+E — Recent Files
  • Ctrl+Shift+Back Space — Jump to Last Edited Location
  • Ctrl+B — Find Declarations
  • Ctrl+Left Mouse(or)Ctrl+Alt+F7— Show Usage
  • Alt + F7 / Ctrl + F7 — Find usages /Find usages in file
  • Ctrl+Shift+B — Find Implementations
  • F3 — Find Next
  • Shift+F3 — Find Previous
BookMark Keys :

  • F11 — Toggle bookmark
  • Ctrl+F11 — Toggle bookmark with the mnemonic(0–9 or A-Z)
  • Ctrl +(0–9) — Go to numbered bookmark
  • Shift+F11 — Show all Bookmarks
  • Ctrl + Shift + F7 — Highlight usages in file
Selection Keys :

  • Ctrl + W — Extend selection (selects a word->line->method->Class )
  • Ctrl +Shift+ W — Decrease Selection
  • Alt + J — Select next occurrence
  • Ctrl + Alt + Shift + J — Select all occurrences
  • Alt + Shift + J — Unselect occurrence
  • Ctrl+Shift+V — Paste from recent buffers (from a History of Copied Contents)
Editing Keys :

  • Ctrl+F6  — Refractor Code
  • Ctrl+D — Duplicate a Line/Selected part
  • Ctrl+Y — Delete a Line/Selected part
  • Ctrl+Q — Quick Documentation
  • Ctrl + Space — Code completion
  • Ctrl+Shift+Space — Smart code completion (by expected type removes unrelated suggestions)
  • Alt+Insert — Generate Code
  • Ctrl+J — Insert Live template
  • Ctrl + O — Override methods
  • Ctrl + I — Implement methods
  • Ctrl + Alt + T — Surround with…
  • Ctrl + / — Comment / uncomment with line comment
  • Ctrl + Shift + / — Comment / uncomment with block comment
  • Ctrl+Alt+L — Reformat code
Run  :

  • Ctrl + F9 — Compile and Run Make a project
  • Ctrl + Shift + F9 — Compile selected file, package or module
  • Shift + F10 — Run
  • Shift + F9 — Debug
  • Ctrl + Shift + F10 — Run context configuration from editor
Debugging  :

  • F8 / F7 — Step over / into
  • Shift + F7 / Shift + F8 — Smart step into/Step out
  • Alt + F9 — Run to cursor
  • Alt + F8 — Evaluate expression
  • F9 — Resume program
  • Ctrl + F8 — Toggle break point
  • Ctrl + Shift + F8 — View breakpoints

November 05, 20202 minutesauthorPankaj Valani