Chrome: Inspect API using Postman Plugin

Standard

Easy to understand and use replacement of Fiddler is Postman plugin from chrome. Supercharge your API workflow with Postman! Build, test, and document your APIs faster.

Postman features include:

– History of sent requests
– Create requests quickly
– Replay and organize
– Switch context quickly
– Built-in authentication helpers
– Customize with scripts
– Robust testing framework
– Automate collections

Download from the Link

2016-09-16-12_29_19-postman-chrome-web-store

Type WebAPI/Web Method URl and inspect response

2016-09-16-12_30_06-postman-chrome-web-store

GitHub Terminal Commands

Standard

To add new files to the repository or add changed files to staged area:

$ git add <files>

To commit them:

$ git commit

To commit unstaged but changed files:

$ git commit -a

To push to a repository (say origin):

$ git push origin

To push only one of your branches (say master):

$ git push origin master

To fetch the contents of another repository (say origin):

$ git fetch origin

To fetch only one of the branches (say master):

$ git fetch origin master

To merge a branch with the current branch (say other_branch):

$ git merge other_branch

Note that origin/master is the name of the branch you fetched in the previous step from origin. Therefore, updating your master branch from origin is done by:

$ git fetch origin master
$ git merge origin/master

You can read about all of these commands in their manual pages (either on your linux or online), or follow the GitHub helps:

ECMAScript 6 Tools

Standard

Transpilers

  • Babel – Turn ES6+ code into vanilla ES5 with no runtime
  • Traceur compiler – ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
  • es6ify – Traceur compiler wrapped as a Browserify v2 transform
  • babelify – Babel transpiler wrapped as a Browserify transform
  • es6-transpiler – ES6 > ES5. Includes classes, destructuring, default parameters, spread
  • Square’s es6-module-transpiler – ES6 modules to AMD or CJS
  • Facebook’s regenerator – transform ES6 yield/generator functions to ES5
  • Facebook’s jstransform – A simple utility for pluggable JS syntax transforms. Comes with a small set of ES6 -> ES5 transforms
  • defs – ES6 block-scoped const and let variables to ES3 vars
  • es6_module_transpiler-rails – ES6 Modules in the Rails Asset Pipeline
  • Some Sweet.js macros that compile from ES6 to ES5
  • Bitovi’s transpile – Converts ES6 to AMD, CJS, and StealJS.
  • regexpu — Transform Unicode-aware ES6 regular expressions to ES5

Build-time transpilation

Grunt Tasks

Gulp Plugins

Broccoli Plugins

Brunch Plugins

Webpack plugins

Duo plugins

Connect plugins

Gobble plugins

Jade plugins

Jest plugins

Karma plugins

Sprockets plugins

Browser plugins

  • Scratch JS – A Chrome/Opera DevTools extension to run ES6 on a page with either Babel or Traceur

Mocha plugins

  • Mocha Traceur – A simple plugin for Mocha to pass JS files through the Traceur compiler

Module Loaders

Boilerplates

  • es6-boilerplate – Tooling to allow the community to use es6 now via traceur in conjunction with amd and browser global modules, with source maps, concatenation, minification, compression, and unit testing in real browsers.

Code generation

Polyfills

Editors

Parsers

Other

Source

Effectiveness of Meetings in Development Process

Standard

Software development initiatives include a number of different types of meetings across the whole development process. The participants’ attitudes and cognitive process also play an important role in decision-making activities in these meetings. But are all the meetings productive? Don’t we really need to focus on the effectiveness of meetings?

1) Time is spent for the meeting before, during and after:

Most employees use up to four hours of their workweek just to prepare for their regular meetings. According to an Atlassian study, as many as 45 percent of employees felt overwhelmed because they were attending so many meetings in a short period of time. This can lead to additional stress that could be avoided if companies start requiring employees to attend only the most important meetings. That’s why some companies opt for cost effective meetings via platforms like Blue Jeans Network to check the cost associated with each meeting.

2) Brainstorming may not actually rain down ideas:

If management ask participants to brainstorm during the meeting, they may actually restrict the thinking process by trying to restrict the thinking in a timebox. Being forced to come up with creative solutions on the spot can be intimidating for your employees, according to Market Wired.

3) Lack of engagement during the meeting:

Most employees multitask during meetings, which shows lack of engagement in the meetings. Therefore meetings end up being less productive. Marie shared some statistics to support this:

At least 92 percent of employees are guilty of multitasking during a meeting, according to Fuse. At least 73 percent of people admit to doing tasks that are unrelated to work or the meeting they are in, states Atlassian

Marie said that this lack of engagement could happen because of long meeting durations.

There are some tools which anyone can use to calculate the cost of the meeting. These tools are helpful in finding out the effectiveness of meetings in terms of financial figures and help management in finding out ways to make meetings more fruitful in terms of time and money.

MeetingKing is a tool which calculates the cost of the meeting just by asking some basic information like number of participants, average salary of participants and duration of meeting. Research done my MeetingKing shows that if managers use meetings appropriately they can reduce the time spent by 25%.

Marie mentioned that we should try different tools to remain focused in meetings. Only having phone calls is not sufficient, if we can arrange video conferences then seeing each other’s body language, people will most likely pay more attention.

Meetings can be useful, but only if they are utilized properly. The first step in preventing unproductive meetings is identifying and admitting that these problems exist in the first place. Many of these problems can be resolved by setting clear expectations for each meeting.

Try alternatives, or better yet, see if you can do without a meeting at all. If meetings are held only for the most important topics, and involve only the most crucial key people who can actually do something about the problem at hand, then you will get more value for your company’s time and money.

source link: http://www.infoq.com/news/2014/10/effective-meetings

Most software developers have the herd mentality !!!

Standard

Most developers have the herd mentality–they stick with the herd and value themselves based on where they fit in it. At the front of the herd, you are doing good. At the back of the herd, you are in danger of becoming a hungry lion’s next meal.

Developers at the front make more money and have nicer offices, the ones at the back make less and live in tiny cubicles, but they are all part of the herd. So, even though there is a difference in pay from the junior developer to the senior one, there isn’t much of a difference in pay from one senior developer to another, even if one of the senior developers is more valuable and has more advanced skills.

As software developers, we are acutely aware of our position within the pecking order. We know which developers are higher up than us and which ones are lower. The titles at our jobs help us to know our place.

The rest of the world has no idea about which developers have greater skill and can do a better job, and for the most part, they don’t care—they just see a pack, with some developers at the front and other developers at the back. When an employer hires you for a job, they just want to know where you are in the pack. Are you at the front? The back? The middle? They pay you accordingly based on your ranking within the pack.

If you aren’t explicitly standing out far beyond the pack, you are going to be grouped right in with the pack and paid accordingly. And once you make it to the front of the pack, you’ve got nowhere to go in their eyes—you’re already the best.

This glass ceiling isn’t there because someone mandated that software developers shall only make so much money and live in 5 by 5 cubicles. The glass ceiling is there, because unless you are doing something extreme enough to differentiate yourself from the pack completely, you are part of the pack and the pack is always going to stick together. The average salary of software developers will be used to determine what developers at the front of the pack will be paid, as well as what the developers at the back of the pack will be paid.

This is, of course, easier said than done.There are a few developer animals out there who break away from the herd. They don’t waste their time competing for a position within the pack–they just outrun the pack completely. If you want to increase your value as a software developer, your goal should be to break away from the pack. How? Entrepreneurship, Working on Dream Project, joining the Industry Giant, Consultancy etc, This is something you have to decide by your own, how and when to break from pack is something you have to do it by your own.

But the key is learn to market yourself.

source link : http://devcareerboost.com/?utm_content=bufferdd771&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

Debug ASP.NET MVC application with Glimpse

Standard

Introduction

For debugging and diagnostic information for ASP.NET apps, Glimpse is a NuGet packages that provides detailed performance,  It is fast, super-light and serve developer with best visual display for all performance metrices. It helps developer to debugg performance of asp.net application through data access layer to presentation layer, debugging your ajax call is a plus feature of this extension. You dont need to read severl manual pages in order to use this extension as compare to fiddler 🙂

Background

The best part of Glimpse is to debug and analyze performane of all server side functionality as for client side we have firebug, fiddler and F-12 development tool.

Using the code

For tutorial, I am going to use sample Contoso University Project available at MSDN.

1. Open ContosoUniversity.sln in Visual Studio, It is implemented using asp.net MVC and Entity Framework 6

2. Click on Manage NuGet Packages in Project Tab

3a. NuGet will look for your project configuration and will recommend available glimpse extensions, type glimpse in search box

3b. You may perform same function through NuGet Package Manager Console

Console Command For MVC5: Install-Package Glimpse.MVC5
Console Command For MVC4: Install-Package Glimpse.MVC4
Console Command For MVC3: Install-Package Glimpse.MVC3
Console Command For WebForms: Install-Package Glimpse.Webforms

Console Command For ADO.NET: Install-Package Glimpse.Ado
Console Command For Entity Framework 6: Install-Package Glimpse.EF6
Console Command For Entity Framework 5: Install-Package Glimpse.EF5
Console Command For Entity Framework 4 or 3: Install-Package Glimpse.EF43

If you are installing first time, it will automatically include Glimpse.AspNet and Glimspe.Core in order to resolve dependency.

4. Glimpse refrences will be added in project:

and web.config will be updated as below:

<configuration>
  <configSections>
    <section name="glimpse" type="Glimpse.Core.Configuration.Section, Glimpse.Core" />
  </configSections>
  <system.web>
    <httpModules>
        <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" />
    </httpModules>
        <httpHandlers>
            <add path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" />
        </httpHandlers>
  </system.web>
  <system.webServer>
         <modules>
            <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" preCondition="integratedMode" />
        </modules><handlers>
            <add name="Glimpse" path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" preCondition="integratedMode" />
        </handlers>
  </system.webServer>
  <glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
  </glimpse>
</configuration>

 

5. Build the project and open view Home/About in browser

6. Type /Glimpse.axd after available URL of your project

7. Click on Turn Glimpse On in order to debugg your application for better performance

8. Glimpse will be available at bottom right of your browser

9. When you hover on HOST section of dashboard, It will show all trvial data about total action time, number of db connections opened, number of quieires served by controller to render this view and much more

10. Click on ‘g’ at the bottom right on toolbar and explore all server side debugging features. Through Glimpse you may go through cache entries.

11. Glimpse will help you out to analyze performance of controller methods by displaying time elapsed for each method of controller.

12. This extension will help developer in displaying all key-values of cookie, parameters of query string, attributes of http header.

13. Best part of Glimpse is to display duration of each sql query under SQL tab.

14. Then comes timeline analysis of execution of each events, this will help developer to look for area of concern in more prominent way.

Points of Interest

There might be chance you are not using entity framework in your project, then for ADO.NET, to retrieve data for the SQL tab, Glimpse attaches itself by providing its own GlimpseDbProviderFactory which wraps the standard ones. This lets it collect information about how you’re using your data connections. If you’re not using an ADO connection that uses the DbProviderFactories, Glimpse won’t collect any data for the SQL tab.

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
            using (var connection = factory.CreateConnection())
            {
                using (var command = factory.CreateCommand())
                {
                    try
                    {
                        connection.ConnectionString = connString;
                        command.Connection = connection;
                        command.CommandType = CommandType.StoredProcedure;
                        command.CommandText = "StoreProcedureName";

                        var parameters = new[]{
                             new SqlParameter(){ ParameterName="@param1", Value = param1 }
                        };
                        command.Parameters.AddRange(parameters);
                        command.CommandTimeout = ConnectionTimeOut;
                        connection.Open();
                        
                        using (var myReader = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateDataAdapter())
                        {
                            //code here
                        }
                        
                    }
                    finally
                    {
                        if (command.Connection.State == ConnectionState.Open)
                            command.Connection.Close();
                    }
                }
            }

Code available @Github: https://github.com/m-hassan-tariq/GlimpseforMVCContosoUniversity

History

Vesrion 1.0

About the Author

Muhammad Hassan Tariq

Software Developer TRG/IBEX-Global
Pakistan Pakistan