Translate

Tuesday, 30 June 2020

COVID‑19 contact tracing – technology panacea or privacy nightmare?

Can a technological intervention stem the pandemic while avoiding the privacy pitfalls of location tracking?

The post COVID‑19 contact tracing – technology panacea or privacy nightmare? appeared first on WeLiveSecurity



How to Ensure Flexible, Reusable PHP Code with Insphpect

Insphpect is a tool I wrote as part of my PhD project. It scans code for object-oriented programming techniques that hinder code reusability and flexibility.

Why?

Let me begin with two mundane observations:

  1. Business requirements change over time.
  2. Programmers are not clairvoyant.

New product launches, emergency lockdown regulations, expanding into new markets, economic factors, updated data protection laws: there are lots of potential causes for business software to need updating.

From those two observations we can infer that programmers know that the code they write is going to change, but not what those changes will be or when they will happen.

Writing code in such a way that it can be easily adapted is a skill that takes years to master.

You’re probably already familiar with programming practices that come back and haunt you. Novice programmers quickly realize that global variables are more trouble than they’re worth, and the once incredibly popular Singleton Pattern has been a dirty word for the last decade.

How you code your application has a big impact on how easy it is to adapt to meet new requirements. As you progress through your career, you learn techniques that make adapting code easier. Once you’ve grasped fundamentals of object-oriented programming you wonder how you ever did without it!

If you ask ten developers to produce software, given the same requirements, you’ll get ten different solutions. Some of those solutions will inevitably be better than others.

Consider a ship in a bottle and a model ship made of Lego. Both are model ships, but changing the sails on the ship in a bottle is very difficult, and reusing the parts is near impossible. However, with a Lego ship, you can easily swap out the sails or use the same components to build a model rocket, house or a car.

Certain programming techniques lead to the ship-in-a-bottle approach and make your code difficult to change and adapt.

Insphpect

Insphpect is a tool which scans your code for programming practices that lead to this kind of a ship in a bottle design.

It grades your code based on how flexible it is, and highlights areas where flexibility can be improved.

What does Insphpect look for?

Currently, Insphpect looks for the following:

  • tight coupling
  • hardcoded configuration
  • singletons
  • setter injection
  • using the new keyword in a constructor
  • service locators
  • inheritance
  • static methods
  • global state
  • files that have more than one role (e.g. defining a class and running some code)

If it detects anything it identifies as inflexible, it highlights the code, explains why it highlighted the issue, then grades your whole project and individual classes on a score of 0-100 (with 100 being no issues detected). As a proof of concept, for some detections it’s able to automatically generate a patch file that re-writes the code to remove the inflexibility entirely.

Take a look a sample report here.

Insphpect is currently in the testing phase, and it would really help my research progress if you can check it out and complete the survey in the “Give your feedback” section of the site.

Background

Are those bad practices really bad, though?

This was one of the more difficult parts of the background research, and you can read about how this was done in detail on the Insphpect website.

However, this can be summarized as:

  • The opinions of each bad practice were collected from 100 authors per practice.
  • The author’s opinion on the practice was graded on a scale of 1–5.
  • The author’s methodological rigor was graded on a scale of 1–7 based on the Jadad score used for clinical trials.

These were then plotted like the graph below:

Singleton pattern results

Each horizontal line represents an article, and the left (orange) bar for each article is the recommendation going from 5 — Avoid this practice at all costs (Far left) — to 1 — Favor this practice over alternatives.

The right (blue) bar for each article is the Jadad style score measuring analytic rigor. A score of seven means the article describes the practice, provides code examples, discusses alternative approaches, provides like-for-like code samples, discusses the pros/cons of each approach and makes a recommendation of which approach should be used.

In the case of the singleton above, authors who compare the singleton to alternative approaches, discuss the pros/cons, etc., are significantly more likely to suggest using alternative approaches.

Walkthrough

Currently, Insphpect allows uploading code via a Git repository URL or a ZIP file.

So not to point out flaws in other people’s work, let’s take a look at one of my own projects to see what it identifies.

We’ll use https://github.com/Level-2/Transphporm as an example project.

This is quite a good example, because it has a very high score on another code-quality tool Scrutinizer.

Firstly, enter the git URL https://github.com/Level-2/Transphporm into the text box at the top of the home page and press “Go”. It will take a few seconds to minutes, depending on the size of the project, and will generate a report that looks something like this:

Transphporm Report

Once you’re on the report page, you’ll see a summary at the top with an overall grade out of 100, with 100 being very good and 0 being very poor.

Underneath the summary, you’ll see a list of all the classes in the project, each with its own grade.

Don’t worry if your code doesn’t get a perfect score. It’s unlikely that it will. Remember, Insphpect is a tool that identifies flexibility in your code. There are parts of your code (like the entry point) where flexibility isn’t warranted.

For Transphporm, it has highlighted issues in seven classes.

Let’s take a look at some of those. Scroll down to Transphporm\Parser\CssToXpath and click the link. You’ll see a score for that particular class and a list of issues which have been identified.

In this case, it has identified a static variable and a static method. Clicking on one of the red lines will reveal an explanation of why the line was flagged up.

For example, clicking line 12 will give an explanation of why static variables are less flexible than instance variables.

Single class report

Although there’s a more in-depth explanation of the issues caused by static properties on the report, as a quick refresher, static variables have one value which is shared across all the instances of the class.

This is inherently less flexible than an instance variable, because using an instance variable allows each instance to have a different value.

For example, consider the following:

class User {
    public static $db;
    public $id;
    public $name;
    public $email;

    public function save() {
        $stmt = self::$db->prepare('REPLACE INTO user (id, name, email) VALUES (:id, :name, :email)');

        $stmt->execute([
            'id' => $this->id,
            'name' => $this->name.
            'email' => $this->email
        ]);
    }
}

Because $db is static, every instance of this class shares the same $db instance and records will always be inserted into the same database.

While this sounds reasonable, let me give you a real-world example.

Continue reading How to Ensure Flexible, Reusable PHP Code with Insphpect on SitePoint.



Facebook To Alert Users When Sharing Old Content

Continuing further with fighting back fake news and encourage useful content sharing, Facebook has taken another step. As revealed, Facebook

Facebook To Alert Users When Sharing Old Content on Latest Hacking News.



53 Different Apps Including TikTok Spy On iPhone/iPad Clipboard Data

Apple has always boasted privacy and security in favour of its users. Nonetheless, the snoopers never miss a chance to

53 Different Apps Including TikTok Spy On iPhone/iPad Clipboard Data on Latest Hacking News.



What are the Benefits of Getting PSM Certification?

Scrum is one of the frameworks of the Agile environment that helps an organization in developing successful products through quick

What are the Benefits of Getting PSM Certification? on Latest Hacking News.



Advanced StrongPity Hackers Target Syria and Turkey with Retooled Spyware

Cybersecurity researchers today uncovered new details of watering hole attacks against the Kurdish community in Syria and Turkey for surveillance and intelligence exfiltration purposes. The advanced persistent threat behind the operation, called StrongPity, has retooled with new tactics to control compromised machines, cybersecurity firm Bitdefender said in a report shared with The Hacker

Monday, 29 June 2020

Remote access at risk: Pandemic pulls more cyber‑crooks into the brute‑forcing game

Poorly secured remote access attracts mostly ransomware gangs, but can provide access to coin miners and backdoors too

The post Remote access at risk: Pandemic pulls more cyber‑crooks into the brute‑forcing game appeared first on WeLiveSecurity



Sneaky Glupteba Malware Creates Backdoor In Windows PCs

A new malware ‘Glupteba’ threatens the security of Windows systems. This sneaky malware remains hidden as it continues to create

Sneaky Glupteba Malware Creates Backdoor In Windows PCs on Latest Hacking News.



Mitsubishi And LG Recent Victims Of Ransomware Attack

Two corporate giants, Mitsubishi and LG have emerged as the latest ransomware victims. Though, the attack was from different threat

Mitsubishi And LG Recent Victims Of Ransomware Attack on Latest Hacking News.



Vulnerabilities Found In GeoVision Fingerprint And Card Scanners

Numerous critical vulnerabilities existed in the GeoVision card and fingerprint scanners. These include some critical vulnerabilities as well, one of

Vulnerabilities Found In GeoVision Fingerprint And Card Scanners on Latest Hacking News.



Twitter Admits Business Data Breach For Some Users and Conveys Apologies

Once again in a while, Twitter has made it to the news due to a cybersecurity incident. This time, Twitter

Twitter Admits Business Data Breach For Some Users and Conveys Apologies on Latest Hacking News.



Russian Hacker Gets 9-Year Jail for Running Online Shop of Stolen Credit Cards

A United States federal district court has finally sentenced a Russian hacker to nine years in federal prison after he pleaded guilty of running two illegal websites devoted to facilitating payment card fraud, computer hacking, and other crimes. Aleksei Yurievich Burkov, 30, pleaded guilty in January this year to two of the five charges against him for credit card fraud—one count of access

e-Commerce Site Hackers Now Hiding Credit Card Stealer Inside Image Metadata

In what's one of the most innovative hacking campaigns, cybercrime gangs are now hiding malicious code implants in the metadata of image files to covertly steal payment card information entered by visitors on the hacked websites. "We found skimming code hidden within the metadata of an image file (a form of steganography) and surreptitiously loaded by compromised online stores," Malwarebytes

VMware Fixed Multiple Vulnerabilities In Workstation, Fusion, and Others

VMware has recently patched multiple vulnerabilities affecting Workstation, Fusion, and more. These vulnerabilities also included some critical severity bugs. Critical

VMware Fixed Multiple Vulnerabilities In Workstation, Fusion, and Others on Latest Hacking News.



The Hidden Costs of Developing a Mobile Application

More and more companies are realizing just how valuable a mobile application can be for their businesses. However, they also tend to make a very common mistake: they begin development without considering all of the costs associated with the process.

Depending on the specifications and requirements, software development companies pricing for mobile app development and deployment can range from $2,000 to $250,000. This price may sound a bit staggering for those just getting started with the process, but a lot more goes into the process of building an application than just design and development.

Types of Mobile Applications

Before diving into the unexpected costs associated with application development, it is important to note that there are three distinct types of mobile apps:

  1. Native Application: A native application is installed on a device itself and distributed through the platform’’s app store.
  2. Mobile Web Application: A newer application version, a mobile web app or “HTML 5 app” is a cross-platform application that uses the mobile device’s web browser to access the app.
  3. Hybrid Application: Wrapped in a native shell but built with web technologies, hybrid apps are a combination of native and mobile web apps. They are actually considered web apps with the look and feel of a native one.

It is important to understand the differences between these kinds of apps as hidden costs associated with application development does not necessarily apply to each individual type.

The Hidden Costs of App Development

The Hidden Costs of Developing a Mobile Application

Below are just a few of the lesser-known or thought about costs that come along with the process of building and releasing a mobile application.

Design

Many first-timers believe that the mobile developer will also take care of the design of the application. While they may be able to, it can prevent users from using the app long-term or keeping it on their mobile device. User experience is the most important aspect of an application. Some may argue that functionality is the biggest concern, but end-users will not use the app long enough to experience any functionality if the user experience is not up to par.

Not satisfying the user’s expectations is one of the top reasons users report for uninstalling an application. If a business wants a good app, they are going to have to hire an experienced designer to design it – probably for an extra cost. The cost of design applies to all three types of mobile applications.

App Store

No matter the platform, getting an application into the app store is relatively inexpensive, but it is definitely not free. Google charges a one-time fee of $25 while Apple charges $99 per year to offer the app. These fees may seem minimal, but they can have an impact when an application is just getting started and may not have a huge amount of sales.

The rules of each app store also frequently change, which means that an app that may have been initially approved now violates a new rule. The need to constantly update an app to keep it in the store is one cost that companies may not consider when finding funding. This hidden cost applies to native and hybrid apps as mobile web apps are not distributed through a store.

Cross-Platform Development

Companies and brands are typically unaware that mobile apps are more complex than typical business applications. This means that one app does not necessarily work across different platforms and a separate application will need to be built for each one, mostly in the case of native apps. Some hybrid apps might also be impacted. The single development project that a company thought they were signing up for quickly turns into multiple development projects for cross-platform compatibility, thus upping costs.

Data Storage

Building a data-driven application that requires data storage space means another cost to factor into development. This price varies depending on the provider, the amount of data, the type of application, and the location of the storage. Data storage is something that affects all application types.

Maintenance

Mobile application development is not a one-and-done kind of project. It involves a constant process of updates, bug fixes, security patches, and many other changes that require addressing on a regular basis. Although this applies to all types of mobile apps, native applications require more constant compatibility updates for devices and operating systems.

Testing

The cost of testing across devices is one that businesses frequently underestimate or forget about entirely. Mobile testing is a very involved and complicated process due to the wide array of mobile devices on the market today.

In addition to operating systems, apps require testing across different screen sizes, device types, network speeds, and other factors to guarantee that it is usable on any device. The sheer amount of testing makes this a rather large cost in the development process. Hybrid and native apps must go through the most testing, although all apps go through some.

Developing with Software and Application Development Companies

An experienced software and application development company, such as BairesDev, will ensure that a business looking to develop a mobile app fully understands the required processes, procedures, and costs required to build a successful product. Although this may mean more time or money than initially anticipated, a high-quality, functional, and enjoyable application is worth it.

The post The Hidden Costs of Developing a Mobile Application appeared first on The Crazy Programmer.



Saturday, 27 June 2020

Sony Announce Bug Bounty Program For PlayStation

Sony have recently launched their bug bounty program for PlayStation. Security researchers and bug bounty hunters can now report any

Sony Announce Bug Bounty Program For PlayStation on Latest Hacking News.



Friday, 26 June 2020

Week in security with Tony Anscombe

Android ransomware posing as a COVID-19 tracing app – Ill-trained and ill-equipped newly-minted remote workers – How Bitcoin giveaway scams misuse Elon Musk's name

The post Week in security with Tony Anscombe appeared first on WeLiveSecurity



What is a password manager and why is it useful?

A password manager can make your digital life both simpler and more secure. Are there any downsides to relying on software to create and store your passwords?

The post What is a password manager and why is it useful? appeared first on WeLiveSecurity



'Satori' IoT DDoS Botnet Operator Sentenced to 13 Months in Prison

The United States Department of Justice yesterday sentenced a 22-year-old Washington-based hacker to 13 months in federal prison for his role in creating botnet malware, infecting a large number of systems with it, and then abusing those systems to carry out large scale distributed denial-of-service (DDoS) attacks against various online service and targets. According to court documents,

How to download 4K and 8K YouTube videos on Mac with Airy

It seems just recently 1080p was the gold standard for consumer displays everywhere, but video resolutions are continually improving. And

How to download 4K and 8K YouTube videos on Mac with Airy on Latest Hacking News.



Top Battery Hacks That Will Save You Money

How many devices in your home use batteries? The answer to that should be many devices ranging from toys to

Top Battery Hacks That Will Save You Money on Latest Hacking News.



How to Keep Working Remotely in a Post-COVID-19 World

How To Keep Working Remotely in a post-COVID-19 World

Though the COVID-19 pandemic is still far from over, many companies and employees are already looking to the post-COVID world. For many organizations, the enforced move to remote working over the past few months has presented significant challenges.

On the other hand, there are many employees who, despite being reticent to move to remote working at the beginning of the pandemic, are now finding that remote work actually suits them rather well.

If you fall into this category, you might be wondering how you can continue to work from home after the current crisis ends. Many of the strategies you can deploy to achieve this are, in fact, similar to those that make for effective remote working in the first place: ensuring effective collaboration in remote teams, and making sure that you set yourself up for success with remote work, to name a couple things.

Nevertheless, your employer might be hesitant to let you continue to work remotely after the pandemic is over. If you don’t want to move back to the office, you’ll find some tips in this article on how to convince your boss to let you continue working from home.

The Benefits of Remote Working

If you don’t want to move back to your office in the next few months, you’re not alone. In fact, nearly 43% of full-time American employees say they want to work remotely more often even after the economy has reopened. One of the biggest reasons for this is the time that the average tech worker saves in commuting. The average American spent roughly 27 minutes on their one-way commute to the office in 2018, which equates to more than 200 hours spent commuting per year.

For tech companies, there are other benefits of remote working. Many software development firms are inherently multi-national, and co-ordinating employees across the globe can actually be easier if they’re working from home. As we’ve previously pointed out, the future of remote work is asynchronous. Research has also found that the kind of creativity and flexibility that tech firms value is actually increased by remote working rather than decreased.

Despite these findings, many organizations are still hesitant to let their employees work from home — at least once the global health crisis is over. So how can you continue to work from home after all this is over?

Continue reading How to Keep Working Remotely in a Post-COVID-19 World on SitePoint.



Lucifer Malware Emerges As New Threat To Windows Devices

A new malware dubbed ‘Lucifer’ (or Satan) is actively targeting Windows systems. This malware exploits various vulnerabilities in the system

Lucifer Malware Emerges As New Threat To Windows Devices on Latest Hacking News.



Top 5 Best Coding Apps in 2020

We humans may be a little cunning and mischievous (nervous laugh!) but we surely are focused on various things. And when we are focused on something, we give it full priority to we matter it completely. Right? One of such things on which we are fully focused is learning. Our brain is a powerhouse which is always ready to take in information.

And this capability of the brain makes us capable to learning whole new things each and every second. Human brain is always eager to learn anything new which seems right! And the discovery of technology has bright with it a lot of mysteries and unsolved puzzles which, to be honest, can take millions of years to be revealed completely.

So, it will not be wrong to say that we have a lot to learn. And with technology came various technical gadgets, our of which the must important are computers and laptops. In simple words, we can describe a computer as a combination of thousands of transistors. Now, we know communication is a big thing.

We humans communicate with each other a lot. And we can communicate with our machine friends as well! Yeah, it is done by a technique called coding. Coding is basically a language through which we communicate with various machines and give them instructions on their actions.

And coding is tough man! So are you facing problems in learning and using the coding language like me? Here is a list of top 5 apps which can make coding easy.

Top 5 Best Coding Apps in 2020

SoloLearn

SoloLearn

SoloLearn is a great Android app to learn coding from the beginning. Currently it is the Editor’s Choice so on the Play Store!

SoloLearn offers a variety of coding lessons starting from beginners to professionals. It offers thousands of coding topics to learn coding, brush up your skills or remain are of the latest trends in the coding market. It deals in almost all types of computer languages starting from Java, Python, C, C++, Kotlin, Ruby, Swift and many more. It had three largest coder base who are always ready to help you in your problems. You can also create lessons of your own area of expertise and become s community influencer on the platform!

Programming Hero

Programming Hero

Programming Hero is the next best app on which you can rely for learning coding language. It has a lot of positive reviews from users all over the world.

What makes Programming Hero different from other coding apps is the way it teaches coding. Through this app, you can learn coding in a fun way through various games! They use fun teen conversations and game-like challenges to make coding fun. Various areas of expertise include HTML, Python, C55, C++, JavaScript etc. You can learn quickly by understanding the coffins and supplying them instantly. Here are some best app developing companies which hire the best coders. So you are getting placed as well!

Programming Hub

Programming Hub

Programming Hub is a coding platform which takes learning coding language to a whole new level through its features. A lot of positive reviewers make it one of the best apps delivering coding knowledge.

The app expertise in various technical languages such as HTML5, C55, C, C++, Python, Swift etc. And it is one of the chosen apps providing lessons on Artificial Intelligence. There are various bite sized interactive courses which will help you a lot in learning coding. The expert panel and other coders from all around the world are always ready to solve your doubts in minutes. It had one of the largest pre-compiled programs with outputs for learning and practising. And it is also the fastest compiler on Android with compilations to run over 20+ coding languages altogether!

Mimo

Mimo

Do not go on the cute name bro! The Mimo application for coding has been nominated as the best self-improvement app of 2018 by Google Play Store and it has a reason!

Mimo make coding fun and interesting with its enigmatic lessons. It deals in the variety of coding languages like Java, JavaScript, C#, C++, Python, Swift and many more. By the help of Mimo, you can learn programming and build websites by spending only 5 minutes per day. Millions of coders from around the world are always active and cab help you solve your doubts at anytime. The bite sized interactive courses help you in learning coding from the beginning and go on to the professional level.

Other features include the coding challenges which let you increase your knowledge and experience by competing with the coders and help you in knowing your flaws.

Grasshopper

Grasshopper

It is an awesome platform which has complete information about coding and programming and can make you a pro in coding within no time.

The app has a Simone and intuitive user interface and expertise in languages like Java, JavaScript, Python, C, C#, C++, Kotlin, Swift and many more. It has one of the largest collections of Java tutorials and there are thousands of lessons present on Java which also contain detailed comments for better understanding. Categories have been made for the beginners and professionals. You can build your own programme and publish on the website! Overall it is a great app!

These were a few awesome apps to make coding easy. Comment down below if you know any other good programming app.

The post Top 5 Best Coding Apps in 2020 appeared first on The Crazy Programmer.



Thursday, 25 June 2020

Facial recognition technology banned in another US city

In a move lauded by privacy advocates, Boston joins the ranks of cities that have voted down the municipal use of the technology

The post Facial recognition technology banned in another US city appeared first on WeLiveSecurity



WikiLeaks Founder Charged With Conspiring With LulzSec & Anonymous Hackers

The United States government has filed a superseding indictment against WikiLeaks founder Julian Assange accusing him of collaborating with computer hackers, including those affiliated with the infamous LulzSec and "Anonymous" hacking groups. The new superseding indictment does not contain any additional charges beyond the prior 18-count indictment filed against Assange in May 2019, but it

Docker Images Containing Cryptojacking Malware Distributed via Docker Hub

With Docker gaining popularity as a service to package and deploy software applications, malicious actors are taking advantage of the opportunity to target exposed API endpoints and craft malware-infested images to facilitate distributed denial-of-service (DDoS) attacks and mine cryptocurrencies. According to a report published by Palo Alto Networks' Unit 42 threat intelligence team, the

Critical Bugs and Backdoor Found in GeoVision's Fingerprint and Card Scanners

GeoVision, a Taiwanese manufacturer of video surveillance systems and IP cameras, recently patched three of the four critical flaws impacting its card and fingerprint scanners that could've potentially allowed attackers to intercept network traffic and stage man-in-the-middle attacks. In a report shared exclusively with The Hacker News, enterprise security firm Acronis said it discovered the

CryCryptor Android Ransomware Poses As COVID-19 Contact Tracing App

New Android ransomware already active in the wild has caught the researchers’ attention. Identified as CryCryptor, this ransomware masks itself

CryCryptor Android Ransomware Poses As COVID-19 Contact Tracing App on Latest Hacking News.



Wednesday, 24 June 2020

XSS Vulnerability Discovered In YITH WooCommerce Ajax Product Filter WordPress Plugin

One more WordPress plugin potentially risked the security of over 100,000 websites due to a security flaw. Reportedly, a serious

XSS Vulnerability Discovered In YITH WooCommerce Ajax Product Filter WordPress Plugin on Latest Hacking News.



15 React Interview Questions with Solutions

15 React Interview Questions with Solutions

React’s popularity shows no sign of waning, with the demand for developers still outstripping the supply in many cities around the world. For less-experienced developers (or those who’ve been out of the job market for a while), demonstrating your knowledge at the interview stage can be daunting.

In this article, we’ll look at fifteen questions covering a range of knowledge that’s central to understanding and working effectively with React. For each question, I’ll summarize the answer and give links to additional resources where you can find out more.

1. What’s the virtual DOM?

Answer

The virtual DOM is an in-memory representation of the actual HTML elements that make up your application’s UI. When a component is re-rendered, the virtual DOM compares the changes to its model of the DOM in order to create a list of updates to be applied. The main advantage is that it’s highly efficient, only making the minimum necessary changes to the actual DOM, rather than having to re-render large chunks.

Further reading

2. What’s JSX?

Answer

JSX is an extension to JavaScript syntax that allows for writing code that looks like HTML. It compiles down to regular JavaScript function calls, providing a nicer way to create the markup for your components.

Take this JSX:

<div className="sidebar" />

It translates to the following JavaScript:

React.createElement(
  'div',
  {className: 'sidebar'}
)

Further reading

3. What’s the difference between a class component and a functional one?

Answer

Prior to React 16.8 (the introduction of hooks), class-based components were used to create components that needed to maintain internal state, or utilize lifecycle methods (i.e. componentDidMount and shouldComponentUpdate). A class-based component is an ES6 class that extends React’s Component class and, at minimum, implements a render() method.

Class component:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

Functional components are stateless (again, < React 16.8) and return the output to be rendered. They are preferred for rendering UI that only depends on props, as they’re simpler and more performant than class-based components.

Functional component:

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

Note: the introduction of hooks in React 16.8 means that these distinctions no longer apply (see questions 14 and 15).

Further reading

4. What are keys used for?

Answer

When rendering out collections in React, adding a key to each repeated element is important to help React track the association between elements and data. The key should be a unique ID, ideally a UUID or other unique string from the collection item, but which can be an array index as a last resort:

<ul>
  {todos.map((todo) =>
    <li key={todo.id}>
      {todo.text}
    </li>
  )};
</ul>

Not using a key can result in strange behavior when adding and removing items from the collection.

Further reading

5. What’s the difference between state and props?

Answer

props are data that are passed into a component from its parent. They should not be mutated, but rather only displayed or used to calculate other values. State is a component’s internal data that can be modified during the lifetime of the component, and is maintained between re-renders.

Further reading

6. Why call setState instead of directly mutating state?

Answer

If you try to mutate a component’s state directly, React has no way of knowing that it needs to re-render the component. By using the setState() method, React can update the component’s UI.

Bonus

As a bonus, you can also talk about how state updates are not guaranteed to be synchronous. If you need to update a component’s state based on another piece of state (or props), pass a function to setState() that takes state and props as its two arguments:

this.setState((state, props) => ({
  counter: state.counter + props.increment
}));

Further reading

Continue reading 15 React Interview Questions with Solutions on SitePoint.



Serious Remote Code Execution Flaw Found In Bitdefender Total Security 2020

A serious security flaw existed in the Bitdefender Total Security 2020 software. As discovered by the researcher, this vulnerability could

Serious Remote Code Execution Flaw Found In Bitdefender Total Security 2020 on Latest Hacking News.



Critical Vulnerability Found In Russian Payment Service QIWI

Amidst the ongoing times when the world is relying heavily on online payment service, it’s a requisite to ensure that

Critical Vulnerability Found In Russian Payment Service QIWI on Latest Hacking News.



New Shlayer Trojan Variant Threatens Mac Devices As It Bypasses macOS Security

Heads up Mac users. A new Mac malware has surfaced online that can infect your device sneakily. This new malware

New Shlayer Trojan Variant Threatens Mac Devices As It Bypasses macOS Security on Latest Hacking News.



Microsoft Warns Users Of Excel Malware Campaign Asking Users To Solve CAPTCHA

Heads up Microsoft users! A new malware campaign is in the wild that exploits Microsoft Excel. It also requires the

Microsoft Warns Users Of Excel Malware Campaign Asking Users To Solve CAPTCHA on Latest Hacking News.



Best Way To Upgrade Your Passwords & Web Security

When using the Internet for your business or personal inquiries, your information can be stolen if not well protected. Find

Best Way To Upgrade Your Passwords & Web Security on Latest Hacking News.



High-Severity Vulnerability Discovered In Argent Ethereum Wallet

Researchers caught a security bug in a cryptocurrency wallet that could allow hackers to steal funds. This time, the product

High-Severity Vulnerability Discovered In Argent Ethereum Wallet on Latest Hacking News.



11 Best Node Js Books in 2020

When we talk about any programming language, it’s very easy to find any video course on Udemy or YouTube but when trying to learn from books, it is one of the most difficult tasks to find a book that will be helpful for us and easy to understand.

For a beginner who is just starting with programming, I would recommend you to first start with C as it is one of the oldest programming languages and it is going to help you in developing your logical skill. Here are some of the handpicked books on C programming language written by some of the best authors out there.

In this post, we are going to look at some of the best books for learning Node Js and these books are specially handpicked and a lot of time has been dedicated while picking each of the books in the list here.

Also read How to Install Node.js on Windows, Mac or Linux.

11 Best Node Js Books in 2020

Get Programming with Node.js

Get Programming with Node.js

This book has 37 fast-paced and fun lessons full of practicals and if you have js skills, you are going to extend your skills to write backend code for your next project.

On purchase of this book, you’ll also get a free eBook in all popular formats including PDF, Kindle and ePub from Manning Publications.

From writing your code for creating webserver to adding live chat to a web app using socket.io, you’ll create eight different projects with this book.

You’ll also cover the most important aspects of the Node development process. Some of them are security, database management, authenticating user accounts, and deploying it to production.

buy now

Node.js Design Patterns

Node.js Design Patterns

This book will help you in mastering the concepts of asynchronous single thread design of node.

It is going to help you in becoming comfortable with asynchronous code by leveraging different constructs such as callbacks, promise, generators and async-await syntax.

This book will help you in identifying the most important concerns and apply unique tricks to achieve higher scalability and modularity in your Node.js application.

buy now

Beginning Node.js

Beginning Node Js

This book is all about getting your hands on Node js, Express and MongoDB all in one book.

The best part about this book is that this book focuses on short and simple bite-sized chapters.

The ultimate goal of the author is to teach you Node, Express and MongoDB development in such a way that you don’t get overwhelmed at any point of the time.

No previous knowledge of Node is required. The only thing is required is that you should be familiar with basic programming concepts.

buy now

Node Cookbook

Node Cookbook

This book is going to help you in creating apps using the best practices of the node js with improved performances and you’ll create readily-scalable production system.

Writing asynchronous event-driven code, build a fast, efficient and scalable client-server solution using the latest version of Node js.

The best part about this book is that this book is going to help you in integrating all major databases such as MongoDB, MySQL/MariaDB, Postgres, Redis and LevelDb, etc.

This book also covers the option for building web applications with the help of Express, Hapi and Koa.

buy now

Web Development with Node and Express

Web development with Node

The author is going to teach you the fundamentals by creating some fictional applications that are going to expose a public website and a RESTful API.

You are going to create webpage templating system for rendering dynamic data, drive into requests and response objects, middleware and URL routing.

You’ll also be simulating a production environment for testing and development.

You’ll be focusing on persistence with document databases, particularly MongoDB, make your resources available to other programs with RESTful APIs, building secure apps with authentication, authorization, and HTTPS.

buy now

Node.Js Web Development

Node js development

This book will help you in creating a real-time server-side application with a practical step-by-step guide.

This is one of the most updated books on Node Js for web development which will teach you server-side js with Node Js and Node modules.

This book is also going to teach you how to configure Bootstrap for the mobile-first theme.

You’ll also be using data storage engines such as MySQL, SQLITE3, and MongoDB.

Understanding the user authentication methods, including OAuth, with third-party services.

buy now

Advanced Node.js Development

Advanced Node Development

This is going to be an in-depth guide in creating API, building a full real-time web app, securing your Node systems, and practical applications of the latest Async and Await technologies.

Covers the full range of technologies around Node.js – npm, MongoDB, version control with Git, and many more.

Advanced Node.js Development is a practical, project-based book that provides you with all you need to progress as a Node.js developer.

Use awesome third-party Node modules such as MongoDB, Mongoose, Socket.io, and Express.

To get the most out of this book, you’ll need to know the basics of web design and be proficient with JavaScript.

buy now

Node.js 8 the Right Way

Node Js 8

We will work with many protocols, create RESTful web services, TCP socket clients and servers, and much more.

We are going to test our code’s functionality with Mocha, and manage its life cycle with npm.

We’ll also discover how Node.js pairs a server-side event loop with a JavaScript runtime to produce screaming fast, non-blocking concurrency.

Create rich command-line tools and a web-based UI using modern web development techniques.

buy now

Beginning API Development with Node.js

API development with Node Js

You are going to learn everything you need to get up and running with cutting-edge API development using JavaScript and Node.js

Node Js is ideal for building data-intensive real-time applications that run across multiple platforms.

Implement over 20 practical activities and exercises across 9 topics to reinforce your learning.

This book will also teach you how you can use JavaScript and Node.js to build highly scalable APIs that work well with lightweight cross-platform client applications.

Develop scalable and high-performing APIs using hapi.js and Knex.js.

This book is ideal for developers who already understand JavaScript and are looking for a quick no-frills introduction to API development with Node.js.

Though prior experience with other server-side technologies such as Python, PHP, ASP.NET, Ruby will help, it’s not essential to have a background in backend development before getting started.

buy now

RESTful Web API Design with Node.js 10

RESTful web API Design

We will be designing and implementing scalable and maintainable RESTful solutions with Node.js 10.

When building RESTful services, it is really important to choose the right framework.

Node.js, with its asynchronous, event-driven architecture, is exactly the right choice for building RESTful APIs.

This third edition of RESTful Web API Design with Node.js 10 will teach you to create scalable and rich RESTful applications based on the Node.js platform.

You will begin by understanding the key principle that makes an HTTP application a RESTful-enabled application.

You’ll learn to set accurate HTTP status codes along with understanding how to keep your applications backwards-compatible.

Also, while implementing a full-fledged RESTful service, you will use Swagger to document the API and implement automation tests for a REST-enabled endpoint with Mocha.

If you are a web developer keen to enrich your development skills to create server-side RESTful applications based on the Node.js platform, this book is for you.

Some knowledge of REST would be an added advantage but is definitely not a necessity.

buy now

Express in Action

Express in action

This book, “Express in Action” is a carefully designed tutorial that teaches you how to build web applications using Node and Express.

On purchase of this book, you’ll also get a free eBook in all popular formats including PDF, Kindle and ePub from Manning Publications.

This book is going to introduce you to Node’s powerful features and how to work with Express in creating scalable web applications.

To get the most out of this book, you’ll need to know the basics of web design and be proficient with JavaScript.

buy now

Since you have made it till here, I appreciate your stay and your feedback will be highly appreciated.

Well, this was all about best books for Node Js. If you have found this post helpful, please share it with your friends or colleagues who are looking for some Node Js books.

And if you have started with Node Js development and stuck in some kind of problem or bug, you can leave your comment here and we will get back to you soon🤓.

Thanks for your visit and if you are new here, consider subscribing to our newsletter. See you in my next post. Bye! Take Care!

The post 11 Best Node Js Books in 2020 appeared first on The Crazy Programmer.



Over 100 Malicious Google Chrome Extensions Found Spying On Users

Once again, cybercriminals have stealthily preyed on millions of Google users. Reportedly, Google removed numerous malicious Chrome extensions after researchers

Over 100 Malicious Google Chrome Extensions Found Spying On Users on Latest Hacking News.



Tuesday, 23 June 2020

New ransomware posing as COVID‑19 tracing app targets Canada; ESET offers decryptor

ESET researchers dissect an Android app that masquerades as an official COVID-19 contact-tracing app and encrypts files on the victim's device

The post New ransomware posing as COVID‑19 tracing app targets Canada; ESET offers decryptor appeared first on WeLiveSecurity



Majority of new remote employees use their personal laptops for work

And many of them didn’t receive any new security training or tools from their employer to properly secure the devices, a study finds

The post Majority of new remote employees use their personal laptops for work appeared first on WeLiveSecurity



New Privacy Features Added to the Upcoming Apple iOS 14 and macOS Big Sur

Unprecedented times call for unprecedented measures. No, we're not talking about 'coronavirus,' the current global pandemic because of which Apple—for the very first time in history—organized its Worldwide Developer Conference (WWDC) virtually. Here we're talking about a world in which we are all connected and constantly sharing data, also known as the new oil, with something called "privacy"