Nikola Brežnjak blog - Tackling software development with a dose of humor
  • Home
  • About me
Home
About me
  • Nikola Brežnjak blog
  • Home
  • About me
NodeJS

How to check for outdated packages via npm

In this post I’ll show you the modules which help in finding the outdated packages via npm. This is an excerpt from the book Deploying Node.js by Sandro Pasquali. I was a technical reviewer for this book and you can read my review here.

This command will list globally installed packages:

npm root -g

 

This following command will give a full list of other dependencies in a tree list:

npm list --global

There are also some aliases to this command like ls, la. You can learn more about it from the official documentation.

 

This command will list outdated packages:

npm outdated

 

A very useful global tool for performing these sorts of checks is npm-check, which delivers more detailed information.  You can install it with npm install npm-check  and run it simply by running npm-check. It tells you what modules are out of date and provides a link to the package’s documentation so you can decide if you want the update.

 

To remove packages that are installed but no longer listed in package.json file you can use the command npm prune. Note that this is simply a technique for cleaning up the node_modules folder within an individual package’s folder; it is not a smart, global tool for removing unused packages across the entire tree.

 

The dependency-check module is a great tool for finding unnecessary packages. Once you install it you run it like this:

dependency-check package.json --unused

and, if some modules aren’t used you’ll get a message like:

Fail! Modules in package.json not used in code: express

The entry point to your application has to be listed in package.json, as dependency-check needs to know the root of your application.

 

The npm dedupe module attempts to reduce the number of redundant package installs, “flattening” the tree, and therefore reducing install time.

How to check for #outdated #packages via #npm #nodejs #node.js https://t.co/bNJ8aiGBmm

— Nikola Brežnjak (@HitmanHR) December 30, 2015

Ionic, Stack Overflow

How to run Ionic serve permanently?

profile for Nikola at Stack Overflow, Q&A for professional and enthusiast programmers
I’m a big fan of Stack Overflow and I tend to contribute regularly (am currently in the top 0.X%). In this category (stackoverflow) of posts, I will be posting my top rated questions and answers. This, btw, is allowed as explained in the meta thread here.

As you may know, I’m really into Ionic framework lately and am helping out on StackOverflow with the knowledge I gained so far with the framework. I’m in the top All time answerers list.

I answered this question by user Santhosh Aineri:

I am using Ionic framework for one application. The code is on a linux server. I am running the application using ionic serve command through putty.

But, the problem is if I close the putty the application is stopped. Is there any way to run the ionic serve permanently as a daemon process?

My answer was:

I’m suspecting you’re trying to do this because you want to serve your Ionic app as a web app, correct?

In that case – you don’t have to run ionic serve permanently. All you have to do is take all the code from the www folder and place it in the http folder (or any other which is valid for your system) of your web server.

So, basically, spin up apache (or nginx) and serve the code from the Ionic’s www folder. Basically, ionic serve command does the same thing – it spins up a local web server and serves the content from the www folder. It does that for faster local testing.

You can take a look at this SO question for more info on how to deploy Ionic as a website.

How to run #Ionic #serve #permanently? https://t.co/7mbxGdSHFi

— Nikola Brežnjak (@HitmanHR) December 29, 2015

Miscellaneou$

hack.summit() 2016 virtual conference and hackathon

hack.summit() is a virtual event for developers presented by Pluralsight which will take place “on the wire” on February 22nd-25th, 2016.

This years’ hack.summit() holds three titles:

  • The largest virtual conference in history
  • The largest programming conference in history
  • The largest hackathon in history

and it has some really interesting speakers like programming language creators, open-source contributors, and thought leaders like:

  • JON SKEET – #1 answerer on StackOverflow
  • KENT BECK – Creator of Extreme Programming, creator of TDD
  • DAVID HEINEMEIER HANSSON – Creator of Ruby on Rails
  • JOEL SPOLSKY – Co-founder and CEO of StackOverflow, founder of Trello
  • YEHUDA KATZ – Ember.js author, Rails Core contributor
  • TOM CHI – Creator  of Google Glass
  • BRIAN FOX – Inventor of GNU Bash Shell
  • ORION HENRY – Founder of Heroku
  • ROD VAGG – Node.js Technical Chair and Core Committer
  • and many others…

On top of that, there will be a virtual hackathon on February 20th-21st. One can compete alone or in a team. The prize pool is also worth mentioning 150k$ times :).

This should definitely be interesting so make sure you check it out if you’re into these kind of things…

#hacksummit 2016 #virtual #conference and #hackathon https://t.co/YvMSZ621yh

— Nikola Brežnjak (@HitmanHR) December 28, 2015

Programming

Technical review of the book Deploying Node.js by Sandro Pasquali

I was a technical reviewer for the book Deploying Node.js:

nodejsCover

This was done via PacktPub, and I must say that this was a great learning experience and I’m glad that I was able to help make this book better. From my experience with the project coordinator Mary Alex I have nothing but good words for them.

Finally, my name in a print book 🙂

nodejsRevieweres

This book covers a lot of ground like how to

  • optimize your code for production
  • use Docker and Vagrant
  • deploy to Heroku, OpenShift and DigitalOcean
  • use Nginx for load balancing
  • use Redis
  • use Gulp, Browserify, npm, Mocha, Chai and Sinon
  • manage deployments with Git, Jenkins and Ansible

Here is the short summary of each chapter:

  • Chapter 1, Appreciating Node
    • what is Node.js and where it excels
  • Chapter 2, Installing and Virtualizing Node Servers
    • teaches you how to create a basic Node.js application and deploy it to Heroku, OpenShift and DigitalOcean
  • Chapter 3, Scaling Node
    • shows vertical and horizontal scaling techniques among which how to use Nginx for load balancing
  • Chapter 4, Managing Memory and Space
    • shows the advantages of microservices
    • shows how to use Redis
  • Chapter 5, Monitoring Applications
    • shows how to effectively monitor your application once it has been deployed
  • Chapter 6, Building and Testing
    • explains how to create a build workflow for your application with full examples of using Gulp, Browserify, and npm
    • shows how to do testing with Mocha, mocking with Sinon, and using PhantomJS for headless browser testing
  • Chapter 7, Deploying and Maintaining
    • shows how to set up a virtualized development environment and manage deployments with Git, Jenkins and Ansible

As said, this book covers a lot of topics and, in my opinion, it is not suited for beginners in the field, but for those who have some experience with Node.js and other tools. However, it’s great that a simple introduction is given to all these topics so that one who is interested more in some particular section, can easily build upon the knowledge gained from the book. The author clearly shows how a Node.js app should be built, tested, monitored, deployed, scaled and maintained.

This book was published in May this year, but I didn’t want to write the review before, so that it wouldn’t seem to be a biased one. Since then I worked as a technical reviewer on two of their Ionic products (one book and one short video), about which I’ll post when they’ll be officially published.

Anyways, I hope this review will help nudge you in taking this book into consideration if you’re looking for how to deploy your Node.js applications.

#Technical #review of the #book #Deploying #Node.js by Sandro Pasquali https://t.co/EUi0shYmn6

— Nikola Brežnjak (@HitmanHR) December 28, 2015

Books

Man’s search for meaning – Viktor E. Frankl

My notes from the bestseller book Man’s search for meaning by the nazi camp survivor Viktor Frankl, which I marked as favorite and rated  5/5 on my Shelfari account.

He who has the WHY to live can bear with almost any HOW.

Success will follow you precisely because you forgot to think of it.

There are things which must cause you to lose your reason, or you have none to lose.

No man should judge, unless he asks himself in absolute honesty weather in the similar situation he might not have done the same.

The sort of person the prisoner became was the result of inner decision and not the result of camp influences alone. Fundamentally, any man can decide what shall become of him.

Life is like being at the dentist. You always think that the worst is still to come, yet it is over already.

Striving  to find meaning in one’s life is the primary motivational force.

Pleasure is, and must remain, a side effect or byproduct and is destroyed and spoiled to the degree to which it is made a goal in itself.

Live as if you were living for a second time and had acted wrongly the first time as you’re about to act now.

But everything great is just as difficult to realize as it is rare to find.

https://twitter.com/HitmanHR/status/681449391387996160

Ionic

How to send an email in Ionic framework application?

profile for Nikola at Stack Overflow, Q&A for professional and enthusiast programmers
I’m a big fan of Stack Overflow and I tend to contribute regularly (am currently in the top 0.X%). In this category (stackoverflow) of posts, I will be posting my top rated questions and answers. This, btw, is allowed as explained in the meta thread here.

As you may know, I’m really into Ionic framework lately and am helping out on StackOverflow with the knowledge I gained so far with the framework. I’m in the top All time answerers list.

I answered this question by user varun:

I have a simple page with 3 textbox and a button like this.

<input type="text" ng-model="name" required >
<input type="text" ng-model="city" required >
<input type="text" ng-model="country" required >

<button class="button button-block button-royal ExploreBtn" ng-click="sendMail();">
Send mail               
</button>

Help me , How to send mail with value in first text-field as subject and other two as body in angular js/ionic.

My answer was rather elaborate:

So, basically the comments to your question are correct – you can’t do this purely in JavaScript, you need to use a backend service for it.

Now, what you would do in your sendMail function is call the service by using Angulars’ $httpservice. You can learn more about $http service from the official documentation.

The call would, for example look like this:

$http({
    method: 'POST',
    url: 'http://your.server.com/sendmail.php',
    data: { mailTo: '[email protected]', msg: 'hello!' }
}).then(function successCallback(response) {
    alert("msg sent!");
}, function errorCallback(response) {
    alert("error with sending a msg");
});

Here you have two important parts:

  • url – where is your service (which will finally send the email) located
  • data – what are you sending to this service endpoint

In my example I’ve put the service url to be sendmail.php which, in end, would be written in PHP. I have to stress out that your backend service can be written in any server-side language you’re familiar with (if you’ll research this topic further make sure you read about the RESTful services).

For the sake of this example, the PHP script (unsecured and just for reference) which uses the mail function to send an email would look something like this:

<?php

$to = $_POST["emailTo"];
$msg = $_POST["msg"];

mail($to, "Some test subject", $msg);

?>

Hope this helps clear the confusion.

https://twitter.com/HitmanHR/status/679287774650998785

Miscellaneou$

57th SQL/DEV user group meeting about refactoring and transpilers

I attended our local Microsoft community user group meeting which was about refactoring and transpilers. It’s full proper title (on Croatian) was 57. sastanak SQL/DEV UG Čakovec-Varaždin.

This was 57th meeting in a row, and the presenter Nikola Begedin had two awesome topics (with few notes I took):

Principi i konvencije u refaktoriranju koda (Principles and conventions in code refactoring)

57devug_1

There are typical problems in every code with typical fixes for each of these problems. So, it’s useful to know them in order to be able to detect them early in the code and fix them before they introduce technical debt.

Few of the principles:

  • extract temp to query
  • tell, don’t ask
  • data clump
  • decoupling

You should look to refactor

  • God objects
  • high churn code
  • bugs – “bugs like company”. If a bug appeared at the same function, then refactor it because it’s obviously too cumbersome and the bug will inevitably manifest itself again

Few of the recommended books:

  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Refactoring: Improving the Design of Existing Code
  • Growing Object-Oriented Software, Guided by Tests

Korištenje transpilera (using transpilers)

57devug_2

Transpiler is a source to source compiler. What that means is that it’s basically a tool which translates from one language to another.

Transpilers allow us to write modern JavaScript code, to work with modules, use advanced language features (await, async, arrow functions, …), etc.

Some options that we have today are:

  • Babel
  • Google Traceur
  • Browserify
  • RequireJS

Visual studio 2015 supports Gulp task running via Task Runner Explorer.

The point is that we don’t need these but since sooner or later more and more browsers will support these functions and you can use them already today, I don’t see any reason why not to use all the benefits that they offer.

https://twitter.com/HitmanHR/status/679276361492598784

Books

Big Magic – Elizabeth Gilbert

My notes from the book Big Magic: Creative Living Beyond Fear by Elizabeth Gilbert, the author of a bestseller book Eat, pray, love.

Rejection, you think you can scare me off? I have another 80 years to wear you down! There are people who haven’t even been born yet who are going to reject me someday. That’s how long I plan to stick around.

I believe that enjoying your work with all your heart is the only truly subversive position left to take as a creative person.

It ain’t what they call you, it’s what you answer to.

Everybody imitates before they can innovate.

Holding yourself together through all the places of creation, especially the hard times, is where the real work lies.

What’s your favorite flavor of shit sandwich?

A good plan violently executed now is better than a perfect plan executed next week.

You may want your work to be perfect, I just want mine to be finished.

Focus on your devotion to work above all. Let that be the measure of what you’re worth.

It’s not what you know, its who you know. Talent means nothing and connections mean everything in the world is a mean and unfair place. If you want to see it like that, go right ahead.

If my Devils are to leave me, I’m afraid my Angels will take flight as well.

What could you do even if you knew you might as well fail? What do you love doing so much that the words failure and success become relevant?

Only when we are at our most playful can divinity finally get serious with us.

https://twitter.com/HitmanHR/status/678576822632755200

Stack Overflow

I reached 5k rep on StackOverflow and this is how it helped me

Yippee, my milestone has finally been reached; I went over the magical 5000 reputation on StackOverflow.

so5k

This currently places me in the top 4% this year, and in the top 2% in my country.

notBad

At the beginning, I was asking way more questions than giving answers, but that leveled out and recently I surpassed the number of questions (138) with the number of answers (147).

My current top 5+1 questions by number of upvotes:

(61) What is disableSelection used for in jQuery sortable?
(39) How to replace text between quotes in vi
(18) Serialize form not working in jQuery
(15) Add three dots in a multiline span
(14) PHP function to evaluate string like “2-1” as arithmetic 2-1=1
(12) jQuery Themeroller Gallery for Mobile

My current top 5+1 answers by number of upvotes:

(19) jQuery: select an element’s class and id at the same time?
(18) How to open a link new tab with print command?
(13) Linking using relative path on Github README.md
(7) Google MAP API Uncaught TypeError: Cannot read property ‘offsetWidth’ of null
(6) jQueryMobile data-dismissible in version 1.2
(6) What’s the difference between “ionic build” and “ionic prepare”?

For these questions I got the golden Famous Question badge (question with 10,000+ views):

  • Wait for images to load and then execute all other code
  • jQuery datatables plugin too slow – need a replacement
  • jQuery Mobile changePage with swipe transition
  • PHP function to evaluate string like “2-1” as arithmetic 2-1=1
  • Add three dots in a multiline span
  • Serialize form not working in jQuery
  • What is disableSelection used for in jQuery sortable?
  • How to turn off php safe mode in plesk 10? [closed]

The tags I’m most active in are ionic, ionic-framework, jquery, php, html, javascript, cordova, and 211 more.

In the question on meta.StackOverflow about how did StackOverlow help me, my answer was:

StackOverflow helped me a lot. Let me elaborate on this: currently, according to my upvotes, it helped me exactly 3,630 times a lot. Imagine that, learning 2.5 new useful things on average each day for four years now. And all that for free. Pro bono. Only upvote and (optionally) a kind word required.Priceless!

Also, more specifically, it helped me 133 times when I asked my own question (surprisingly, only 4 of them remained unanswered so far).

My experience with StackOverflow was very positive from the start (something I’ll elaborate a bit more below) – it was my first few weeks on a “test period” for a new job and I couldn’t solve one thing. They said it would be tricky and I sort of hoped that if I get it done quickly I’ll get some recognition. I did my fair share of googling and looking around the site (I knew about SO at that time already, but just haven’t asked any questions yet) and since I didn’t find any related question I finally decided to post. Not surprisingly, I got the answer in a matter of minutes. Sure enough, I did get permanently employed after that (and few other small tasks that I had to do on top of that).

See, I would like to emphasize on a way that I asked my first question, by repeating that I’ve googled quite a lot and searched through existing SO questions. Now, we who are around here a bit longer know what started to happen. New users started to come and, well, the quality of questions was not on a given level. And, that’s why it hurts me to see quite a lot of people shitting on StackOverflow (yeah, we know who they are – simple google search will turn out quite a few posts), but if we would just be honest and acknowledge the fact that it somehow seems that these days everyone wants something “out of the box – give me the codez plz”, without ever doing the research them self. What’s the learning value in that, I honestly don’t know.

Anyways, fast forward 4 years, I’m still loving it. Somewhere along the lines of using StackOverflow daily, I’ve grown as a developer and turned from the one who asks questions to someone who tends to contribute back to this wonderful community by giving answers. And, just yesterday I’ve “set the record straight” and leveled the number of my questions with the number of my answers. In the future I hope to help even more.

As for other opportunities StackOverflow provided me, I can only say countless. I don’t have a huge rep, but nevertheless I’ve gotten into an invite only programming site thanks to my SO profile. Also, I’ve gotten few requests to write a book, be a technical reviewer, and I get a lot of clicks from SO tomy blog. It seems a bit cocky to say, but people do tend to look at you differently when you say you have a somewhat fairly large amount of rep on SO. For me, it’s some kind of a badge of honor, to be honest 🙂

All in all – thank you StackOverflow.

See you at 20k! smileyGlasses

I reached 5k rep on #StackOverflow and this is how it #helped me https://t.co/A7xnWVOzkq pic.twitter.com/ZqiDFCyy7z

— Nikola Brežnjak (@HitmanHR) December 16, 2015

Ionic, Pluralsight

How to publish the app to the Apple’s App Store and Google’s Play Store

edit: These posts don’t exists in their separate form anymore. Instead, they have been merged into one big post that you can read here. But, in case you want to read them in its original form, make sure to check the book linked below.


The fourth post about Ionic framework for Pluralsight wraps the series in a whole where we showed how to create an application starting with an idea, through creating a prototype and implementing the application using Ionic framework to finally (in this tutorial) publishing it in the stores.

You can see the finished product on the header image and you can check out the application by downloading it from the App Store or Play Store here.

The post is live and you can access it for free here:  How to publish our calculator application to the Apple’s App Store and Google’s Play Store.

This was a series of posts which was intended to teach you how to take advantage of your web development knowledge in building hybrid applications for iOS and Android.

The first tutorial, as you may remember, was all about how to get started with Ionic framework on Mac andWindows. The second tutorial was about how to create a calculator application with Ionic framework by using Ionic Creator for UI. The third tutorial was about how to polish, create icons and splash screen images, add ads, share and test our calculator application.

IonicBook

If by some chance you would like to download a PDF version of these 4 posts you can do so via Leanpub. Yes, you can choose zero as the amount and I promise I won’t take it against you 😉

If you have any questions please don’t hesitate to ask, and please share if you like it.

How to #publish the #app to the Apple's App Store and Google's Play Store https://t.co/DkFBeTj8yi @ionicframework pic.twitter.com/SjROTSn5OO

— Nikola Brežnjak (@HitmanHR) December 15, 2015

Page 28 of 53« First...1020«27282930»4050...Last »

Recent posts

  • Why You Should Start Blogging (Even If Nobody Will Read It)
  • Speed Reading
  • Impostor Syndrome
  • Why Strange Images Make You Remember Better
  • Productivity tip: rate things 1-10 without 7

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (36)
  • Daily Thoughts (78)
  • DevThink (5)
  • Go (3)
  • iOS (5)
  • JavaScript (128)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (3)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (84)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (44)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (82)
  • Unity3D (9)
  • VibeCoding (2)
  • Windows (8)
    • C# (2)
    • WPF (3)
  • Wordpress (2)

"There's no short-term solution for a long-term result." ~ Greg Plitt

"Everything around you that you call life was made up by people that were no smarter than you." ~ S. Jobs

"Hard work beats talent when talent doesn't work hard." ~ Tim Notke

© since 2016 - Nikola Brežnjak