Saturday, 29 July 2017

What is Angular JS

Angular JS is an open source JavaScript framework that is used to build web applications. It can be freely used, changed and shared by anyone.

Angular Js is developed by Google.

It is an excellent framework for building single phase applications and line of business applications.

Advantage of AngularJS


There are a lot of JavaScript frameworks for building web applications. So, it is a genuine question, why to use Angular JS.

Following are the advantages of AngularJS over other JavaScript frameworks: 

Dependency Injection: Dependency Injection specifies a design pattern in which components are given their dependencies instead of hard coding them within the component.

Two way data binding: AngularJS creates a two way data-binding between the select element and the orderProp model. orderProp is then used as the input for the orderBy filter.

Testing: Angular JS is designed in a way that we can test right from the start. So, it is very easy to test any of its components through unit testing and end-to-end testing.

Model View Controller: In Angular JS, it is very easy to develop application in a clean MVC way. You just have to split your application code into MVC components i.e. Model, View and the Controller.

Directives, filters, modules, routes etc.

Read More



Friday, 21 July 2017

What is WebRTC ?


WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.


The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.

The Future of IT: More Jobs, More Complexity



Credit: ShutterstockWill companies need IT professionals on staff in the future? That's the question on some people's minds as they wonder what their future holds. Of course, that depends on the area of expertise in the IT world, and means different things for different titles, including network and system administrators, consultants, project managers, developers, technicians and programmers/coders, to name a few.

A 2015 report from the Bureau of Labor Statistics (biannually, every two years) paints some surprising numbers regarding job outlook and growth. Employment in the computer and information technology sector is expected to grow by 12 percent by 2024. There are roughly 3.9 million jobs in IT, which is expected to hit 4.4 million in the next seven years thanks to the advancement in cloud computing, big data, and the IoT, according to the report. Jobs are increasing, but so is the complexity within them.

The Bureau of Labor Statistics report suggests that some professional tech jobs will see continued growth for 2017, while others will remain stable, but a few will likely fall by the wayside. Analysts from Foote Partners LLC notes in their 2017 IT Skills and Certification Pay Index that cyber security specialists are on the upswing.

In fact, 10 of the highest grossing certifications are within this category, and rightfully so with the amount of damage and identity theft that is targeting corporations. Forensics, penetration testing, perimeter protection, security analysis and enterprise defense are just a few of the certifications under high demand and that will continue to grow into 2018.

DevOps (software development and information technology operations) certification is set to continue to be in demand, including skills such as coding, building, testing and releasing software at a relatively quick pace. This category allows for the cross-department integration of those functions with IT operations with a focus on communication and collaboration. More companies are putting a focus on DevOps training.

Another growing area in the IT industry involves big data and the specialists who collect and analyze that information for any number of applications including metrics, predictive outcomes and future trends. According to Foote Partners, specialists in this field are in high demand, especially with the influx of IoT/telematics applications, which is on track to become an $11 billion market.

Jobs in the digital product development area are also on the rise as nearly every major company on the planet utilize top further their growth. The integration of big data, processes, business and even IT fall under this category as well as product design and analysts, all leading to an increase in demand for specialists who fall under this category.

With that in mind, those same companies also require those with application development in a microservices architecture environment skills, particularly since those are the folks who create specific business tools to further application and product development within the company. For example, think about tools such as Asana, Basecamp and Microsoft Project. These collaborative and centralized applications make integration with various departments within a company simple.

Foote Partners reports that traditional help desk tier 2 and 3 jobs remain steadily in demand, as companies still require staff to increase a technical support infrastructure as consumerization of technology continues to rise. As technology continues to grow, so does the demand for those who can troubleshoot and repair that technology with specialized skills and tools.

However, tier 1 demand is nearly non-existent, and is probably one of the few skills that have fallen by the wayside, as more companies require a level of specialty to address specific problems such as hardware/applications within their organization that requires more than a general overview.



As with any job, those in IT continue to evolve, and as it ages, some positions are no longer needed, especially those who specialize in outdated program languages, such as Pascal, ADA, Cobol and Fortran. The same goes on the hardware front unless technology remains stagnant and doesn't evolve. All these jobs will change.

Monday, 29 May 2017

Which IT jobs will survive automation?

Which IT jobs will survive automation? 

A recent report by HfS, a US-based research firm, predicted that India's IT services industry will lose 6.4 lakh 'low-skilled' jobs to automation in the next five years. This is alarming, given that the $160 billion industry is one of the biggest employment generators in the service sector. Another report points to a bigger problem—the huge gap between new information technology jobs created and the number of engineering graduates produced every year. While more than 15 lakh new engineers enter the job market every year, the absorption capacity has shrunk to 2-2.5 lakh.

What does this mean for employees? Head hunters say fierce competition among freshers and skill over scale will now become the norm.

Though the jobs that will be lost are mostly bottom of the pyramid positions, mid-level employees are also at a risk of becoming unemployable, unless they upgrade themselves. Employers say this is not a new trend in this sector. "In the IT and ITeS industry, learning never stops and one has to keep updating themselves as per the latest industry skills. Those who are not able to do that have perished in the past and will continue to do so," says Praveen Dewan, Managing Partner, Antal International.

The HfS report points to a similar trend, anticipating that while process-based jobs will perish, the industry will see a 56 per cent increase in high-skilled jobs. Areas which will see high demand and lucrative paypackages are big data, analytics, machine learning, mobility, design, Internet of Things (IoT) and artificial intelligence.

Staying relevant in the future
Head hunters predict no dearth of opportunities with the right skills. "The government is pushing for automation in all its departments, and jobs will be created across levels. Then there is the strong startup community which is hungry for high-skill workers," Dewan says.

With the influx of a large amount of diverse information, skill-based positions like data scientist, designer and digital marketing expert are here to stay. Data scientists are expected to be in high demand.

"Not only in IT & ITeS, data scientists will be also sought after in the manufacturing, R&D, banking and financial sectors and in expanding e-commerce companies," says Sunil Goel, MD, GlobalHunt. Big data analysis calls for knowledge of com puter science, analytics and statistics skills, strong communication skills, and a working knowledge of business intelligence tools. 

A number of jobs related to IoT, will also be generated. "As Internet speeds increase, the need for maintaining and managing internet infrastructure will also grow," says Dewan. Experienced people with profiles such as digital marketing expert, marketing technologist and solution architects, who have both business and technical know-how and are able to align the two, will be in high demand. Areas like mobile application, cloud computing and IT infrastructure risk analysis and security will stay relevant for a long time. "Developers with experience in user-interface (UI) and user-experience (UX) are in demand. Data visualisation experts with the skills to present data in easily intelligible ways will be in demand too," says Goel.


Read more

Monday, 10 October 2016

DevOps, Netstat Unix/Linux


UNIX / Linux: 10 Netstat

Cheetsheet:
List all ports using netstat -a
List all tcp ports using netstat -at
List all udp ports using netstat -au
List only listening ports using netstat -l
List only listening TCP Ports using netstat -lt
List only listening UDP Ports using netstat -lu
List only the listening UNIX Ports using netstat -lx
Show statistics for all ports using netstat -s
Show statistics for TCP netstat -st
Show statistics for UDP netstat -su
Add PID/Program Name to output netstat -ltp
Don’t resolve host, port and user name in netstat output netstat -ltpn
netstat will print information continuously every few seconds netstat -c
Display the kernel routing information using netstat -r
Find out on which port a program is running sudo netstat -ap | grep ssh
Find out which process is using a particular port netstat -an|grep 80
Show the list of network interfaces netstat -i
Display extended information on the interfaces netstat -ie



Netstat command displays various network related information such as network connections, routing tables, interface statistics, masquerade connections, multicast memberships etc.,

List All Ports (both listening and non listening ports)
List all ports using netstat -a

Output:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:6942 *:* LISTEN
tcp 0 0 *:58882 *:* LISTEN
tcp 0 0 *:9191 *:* LISTEN
tcp 0 0 localhost:27017 *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:9292 *:* LISTEN
tcp 0 0 localhost:63342 *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 192.168.1.115:42722 server-xx-xx-xxx-x:http ESTABLISHED

List all tcp ports using netstat -at
Output:
tcp 0 0 192.168.1.115:45966 kul06s14-in-f195.:https ESTABLISHED
tcp 0 0 192.168.1.115:46602 maa03s22-in-f14.1:https ESTABLISHED
tcp 0 0 192.168.1.115:42204 maa03s21-in-f68.1:https ESTABLISHED
tcp 0 0 192.168.1.115:58846 maa03s21-in-f67.1:https ESTABLISHED
tcp 0 0 192.168.1.115:47272 maa03s22-in-f14.1:https ESTABLISHED
tcp 0 0 192.168.1.115:59862 maa03s22-in-f6.1e:https ESTABLISHED
tcp 0 0 192.168.1.115:60154 maa03s23-in-f3.1e:https ESTABLISHED
tcp 0 0 192.168.1.115:47182 maa03s22-in-f14.1:https ESTABLISHED
tcp 0 0 192.168.1.115:44704 a23-211-219-225.d:https ESTABLISHED
tcp 0 0 192.168.1.115:49298 bom05s08-in-f2.1e:https ESTABLISHED

List all udp ports using netstat -au
Output:
udp 0 0 *:54159 *:*
udp 0 0 *:mdns *:*
udp 0 0 *:mdns *:*
udp 0 0 *:mdns *:*
udp 0 0 *:58882 *:*

List only listening ports using netstat -l
Output:
unix 2 [ ACC ] STREAM LISTENING 21383 @/tmp/.ICE-unix/1520
unix 2 [ ACC ] STREAM LISTENING 22950 /run/user/1000/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 11529 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 20420 /run/user/1000/keyring/control
unix 2 [ ACC ] STREAM LISTENING 21185 /run/user/1000/keyring/pkcs11
unix 2 [ ACC ] STREAM LISTENING 19715 /tmp/.X11-unix/X0


List only listening TCP Ports using netstat -lt
Output:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:6942 *:* LISTEN
tcp 0 0 *:58882 *:* LISTEN
tcp 0 0 *:9191 *:* LISTEN
tcp 0 0 localhost:27017 *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:9292 *:* LISTEN
tcp 0 0 localhost:63342 *:* LISTEN
tcp 0 0 *:http *:* LISTEN

List only listening UDP Ports using netstat -lu
Output:
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:54159 *:*
udp 0 0 *:mdns *:*
udp 0 0 *:mdns *:*
udp 0 0 *:mdns *:*
udp 0 0 *:58882 *:*
udp 0 0 localhost:59209 *:*

List only the listening UNIX Ports using netstat -lx
Output:
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 21383 @/tmp/.ICE-unix/1520
unix 2 [ ACC ] STREAM LISTENING 22950 /run/user/1000/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 11529 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 20420 /run/user/1000/keyring/control
unix 2 [ ACC ] STREAM LISTENING 21185 /run/user/1000/keyring/pkcs11
unix 2 [ ACC ] STREAM LISTENING 19715 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 21186 /run/user/1000/keyring/ssh
unix 2 [ ACC ] STREAM LISTENING 21384 /tmp/.ICE-unix/1520
unix 2 [ ACC ] STREAM LISTENING 23734 /run/user/1000/pulse/native

Show the statistics for each protocol

Show statistics for all ports using netstat -s
Output:
Ip:
258229 total packets received
23 with invalid addresses
0 forwarded
0 incoming packets discarded
258083 incoming packets delivered
228944 requests sent out
124 outgoing packets dropped
2 dropped because of missing route




Show statistics for TCP netstat -st
Output:

IcmpMsg:
InType3: 433
InType11: 38
OutType3: 466
Tcp:
7352 active connections openings
98 passive connection openings
125 failed connection attempts
1396 connection resets received
18 connections established
211357 segments received
190589 segments send out
2857 segments retransmited
355 bad segments received.
5957 resets sent

Show statistics for UDP netstat -su
Output:
IcmpMsg:
InType3: 433
InType11: 38
OutType3: 466
Udp:
37594 packets received
466 packets to unknown port received.
0 packet receive errors
35126 packets sent
IgnoredMulti: 11474

Display PID and program names in netstat output using netstat -p

# netstat -ltp

netstat -p option can be combined with any other netstat option. This will add the “PID/Program Name” to the netstat output. This is very useful while debugging to identify which program is running on a particular port.

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:6942 *:* LISTEN 3329/java
tcp 0 0 *:58882 *:* LISTEN 1689/skype
tcp 0 0 *:9191 *:* LISTEN -
tcp 0 0 localhost:27017 *:* LISTEN -
tcp 0 0 localhost:mysql *:* LISTEN -

Don’t resolve host, port and user name in netstat output

# netstat -ltpn
When you don’t want the name of the host, port or user to be displayed, use netstat -n option. This will display in numbers, instead of resolving the host name, port name, user name.

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:6942 0.0.0.0:* LISTEN 3329/java
tcp 0 0 0.0.0.0:58882 0.0.0.0:* LISTEN 1689/skype
tcp 0 0 0.0.0.0:9191 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:9292 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:63342 0.0.0.0:* LISTEN 3329/java

Print netstat information continuously

netstat will print information continuously every few seconds.
# netstat -c

Find the non supportive Address families in your system

# netstat --verbose
At the end, you will have something like this.
unix 2 [ ] STREAM CONNECTED 39668
unix 3 [ ] STREAM CONNECTED 21486 @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 21353
unix 3 [ ] STREAM CONNECTED 21292
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.

Display the kernel routing information using netstat -r
# netstat -r

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlp4s0
link-local * 255.255.0.0 U 0 0 0 wlp4s0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlp4s0

Find out on which port a program is running
# sudo netstat -ap | grep ssh

unix 2 [ ACC ] STREAM LISTENING 21186 1255/gnome-keyring- /run/user/1000/keyring/ssh

Find out which process is using a particular port:
# netstat -an|grep 80

Show the list of network interfaces
# netstat -i

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s25 1500 0 0 0 0 0 0 0 0 0 BMU
lo 65536 0 24768 0 0 0 24768 0 0 0 LRU
wlp4s0 1500 0 307452 0 0 0 207356 0 0 0 BMRU

Display extended information on the interfaces (similar to ifconfig) using netstat -ie:
# netstat -ie
enp0s25 Link encap:Ethernet HWaddr 50:7b:9d:70:4c:15
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:20 Memory:e1200000-e1220000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:24787 errors:0 dropped:0 overruns:0 frame:0