Categories
Resources Web Development

CSS resources links and information

A complete guide to flexbox – Great introduction and coverage of flexbox and how to use it to layout content.

Floats vs inline-block – We used to use float and inline-block for content layout.

Progressively Enhanced CSS Layouts: Floats to Flexbox & Grid – great article explaining how we got to Flexbox and grid and how to use them for page layouts

Categories
Resources Software Development Web Development

yaml resources and links

Yaml is used for configuration of different software used for development.

WHY JSON ISN’T A GOOD CONFIGURATION LANGUAGE – good article that explains why yaml is better for configuration than json. When I originally encountered yaml I was like WTF another damn BS PITA I have to learn. Honestly I don’t learn this shit more than what I need to get things done. Your brain only remembers about 23% of what you learn 12 months later anyways. So trying to learn things 100% inside and out is over 75% a waste of time. LOL

Yaml website – reference card

Yaml primer – great intro on github

 

Categories
Software Development Web Development

How to install Nodejs npm nvm without sudo on linux

For a few days I have been wrestling with nvm, nodejs, php composer etc. trying to figure out why the hell I keep getting permission issues.

I followed the instructions and installed them without being the root user… or so I thought.  I completely failed to understand what was going on with permissions.

I tried to install composer and node while in the directory I usually use for my web server /var/www/app-folder .  When given permission denied errors I did the normal thing and added sudo.

I fully failed to understand WTF sudo does.

In my world, as long as I didn’t login as the root  I was still the user that is shown in the terminal myself@myself$. I figured that adding sudo kept me as the user I was shown as in the terminal.

It seems logical right, you use sudo and you never see your terminal user change to root, therefore you must not be root.

Nope when you use sudo apparently this not only elevates your privileges as a user, it totally changes you to the root user. More info about the nonsense of sudo in linux  

i am root
i am root

The reason I was getting errors and having to use sudo in the first place is because I was trying to install stuff from a folder owned by root but had permissions for group which my user was a member of.

I falsely assumed that using sudo kept me as the user I was only giving me higher privilege levels. Apparently sudo in fact makes you the root user for a short period, which is the same as sudo -i which leaves you logged in as the root.

To prevent these errors and install things not as root and not using sudo, you must be in a folder that your current user owns and is not just a member of a group of. I’ve been using Linux for a decade but never tried installing node, other software like compilers etc don’t give a shit and work.

For so long I’ve installed and built apps in /var/www/directory because that was always the default for Apache and Nginx.  This is an issue for people trying to package their node apps too from what I have read.

This creates another conundrum. Which folder should you use for web development? Which one should you put your apps in in docker containers?

The problem is, you need to research more to fully understand the implications of creating a directory with the current user as owner. You must understand what permission levels will be safe on a server. What is the minimum permissions for your user you need and still be safe?

So when installing node, nvm, npm or php composer, do it in a file your user owns. If you are installing for development you can do it right from the users Download folder for example, that one is owned by the user. But whatever you do, do not use sudo and do not install from any folder owned by root.

Link explaining file permissions

Categories
Resources Web Development

Installing PHP composer programmatically with a bash script on linux

The easiest way to install Composer is by using the bash script provided here.  What I do is use vim to create a file named composer-install.sh then post that script in it.

I do this in any folder, then I move the script to make it global as suggested in the documentation here.

Basically all you are doing is using the linux mv command to move the composer.phar script so it is in the users global space.

Categories
Resources Web Development

Links and resources about installing php and extensions

It took quite a bit of searching to find something that accurately describes how to currently install php and it’s extensions on Linux.

How to install php on ubuntu

Categories
Resources Web Development

PHP composer links and resources.

Composer is a dependency manager for PHP. Confusing to install, easy to use.

Composer documentation – the actual documentation helps.

A gentle introduction to composer as a dependency manager – excellent resource covering pretty much everything about PHP composer you could ever want to know. Well mostly.

 

Categories
Resources Web Development

SASS CSS resources and links

SASS makes CSS way easier. You don’t have to type the same things over and over. You don’t have to hunt down instances of colors to change the theme of your website. You don’t have to hunt down font definitions to change them. You get variables and functions right in your CSS to make everything easier, faster and cleaner. In the past CSS was actually way more time consuming than writing the backend code that handled the websites/apps requests. Times have changed.

Articles

Sass Basics – basic intro and documentation

Sass Documentation

Sass vs. SCSS: which syntax is better? – an article that discusses the history of SASS and the .scss vs .sass file extensions.

Videos

Learn Sass In 20 Minutes | Sass Crash Course

Categories
Resources Web Development

Scala Play framework twirl template resources and links

The documentation for play framework twirl templating engine left me with more questions than answers.

Below I am gathering a list of resources that better explain how the twirl template engine works. Eventually I will write some articles about what I discover.
Creating Play Framework template functions (examples) –  This does a better job of explaining the basics of template functions. He explains some of their lingo such as “reusable block” that threw me off too.

Videos

Making Our First View with Play using Scala – Explaining Basics of twirl templates


Making Our First Page with Play using Scala

Categories
Resources Web Development

Nginx links and resources

Nginx reverse proxy documentation

Configuring NGINX and NGINX Plus as a Web Server  

Nginx pitfalls and common mistakes –  a must read article before using Nginx

 

Categories
Resources Web Development

Bootstrap links and resources

Articles

Tree shaking with bootstrap and webpack

Learn the Bootstrap 4 Grid System in 10 Minutes

Videos

Using the Bootstrap 4 Grid | BOOTSTRAP 4 TUTORIAL


Responsive Bootstrap Website Start To Finish with Bootstrap 4, HTML5 & CSS3


Bootstrap 4 Navbar Concepts | BOOTSTRAP 4 TUTORIAL


Bootstrap 4 Alerts & Modals | BOOTSTRAP 4 TUTORIAL