技術情報
- 2021年03月01日
- 技術情報
Optimize Laravel website speed
Today, I would like to highlight a laravel package that will hep you to speed up your laravel website.
It is very important for every website to quick load that means your website should load in few seconds like 4 or 5. We are always fetching issues about page speed like how to increase website speed in laravel, how to reduce loading time of website in laravel, is it possible speed up php execution time of my website, how to optimize php laravel script to increase speed, how to speed up web browsing in laravel. So basically you have several question regarding to improve your website performance.
I found “laravel-page-speed” composer package for 35%+ optimization of laravel website. laravel-page-speed package will minify HTML output and it can be optimization your web page. laravel-page-speed package will delete unused attributes in HTML tags, delete unused quotes in HTML tags, delete unused prefixes from URLs, delete unused whitespace in HTML, delete HTML comments. Also there are several feature. They also minify css and minify js files.
Just grab the package via composer.
composer require renatomarinho/laravel-page-speed
Publish the configuration file
php artisan vendor:publish --provider="RenatoMarinho\LaravelPageSpeed\ServiceProvider"
And then register it in Kernel file
//app/Http/Kernel.php
protected $middleware = [
...
\RenatoMarinho\LaravelPageSpeed\Middleware\InlineCss::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\ElideAttributes::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\InsertDNSPrefetch::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveComments::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\TrimUrls::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveQuotes::class,
\RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace::class, // Note: This middleware invokes "RemoveComments::class" before it runs.
\RenatoMarinho\LaravelPageSpeed\Middleware\DeferJavascript::class,
]
And you are good to go.
There are several useful filtering methods that will help you to speed up your website like `RemoveComments, CollapseWhitespace, RemoveQuotes` etc.
You can see more detail in their documentation.
By Yuuma
yuuma at 2021年03月01日 11:00:13
Laravel Date Filtering
I would like to talk about the date filtering process I am using in laravel today.
If we want to select records that is created today. We can normally use raw queries or without raw queries like this.
//Raw Query
Model::where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"))->get();
//Not Raw Query
Model::where('created_at', '>=', date('Y-m-d').' 00:00:00'))->get();
In fact, we can do more neat and eloquent way in laravel like this.
Model::whereDate('created_at', '=', date('Y-m-d'))->get();
We can also use Carbon function instead of date(), result will still the same.
Model::whereDate('created_at', '=', Carbon::today()->toDateString())->get();
If you want to filter just not with full date, it’s totally fine. You can filter with day, month and year like this.
//Day
Model::whereDay('created_at', '=', date('d'))->get();
//Month
Model::whereMonth('created_at', '=', date('m'))->get();
//Year
Model::whereYear('created_at', '=', date('Y'))->get();
There is also another method called `whereBetween` if you want to filter by date range.
Model::whereBetween('created_at', [FROM_DATE, TO_DATE])->get();
By Yuuma
yuuma at 2021年02月22日 11:00:59
- 2021年02月12日
- 技術情報
Dry code
Today I would like to make a short introduction about dry code.
What is dry code
There is a principle in programming called DRY, or Don’t Repeat Yourself. It usually means refactoring your code by taking something done multiple times and turning it into a loop or a function. The DRY code is easy to change, because you only have to make any changes in one place.
Advantages of DRY
Maintainability
The biggest benefit of using DRY is ease of maintenance. If the logic of checking permissions was repeated throughout the code, it is difficult to troubleshoot problems that occur in the repeated code. When you fix a problem in one, you can easily forget to fix the problem in other cases. Also, if you have to modify the logic, you have to copy and paste everywhere. By having non-repeating code, you just have to keep the code in one place. New bug and logic fixes can be made in one place instead of many. This leads to robust and reliable software.
Readability
Most of the time, the DRY code is more readable. This is not due to the DRY principle itself, but rather the extra effort that the developer put into the code to make it follow certain principles like DRY.
Re-use
DRY inherently promotes code reuse because we are merging 2 or more instances of repeating code into a single code block. Reusable code pays off in the long run as it speeds up development time.
Cost
If management needs to be convinced to spend more time improving code quality, this is it. More code costs more. More code requires more time to maintain and fix bugs. More time to develop and more mistakes leads to a very unhappy customer.
Tests
We are talking about unit testing and integration testing here, not manual testing. The more routes and functions you have to cover with the tests, the more code you will have to write for the tests. If your code doesn’t repeat, you just have to test one parent path.
By Yuuma.
yuuma at 2021年02月12日 07:27:55
- 2021年02月09日
- 技術情報
Pseudocode
Pseudocode is an informal form of programming description that does not require any strict programming language syntax or underlying technology considerations. Used to create an outline or draft of a program. Pseudocode summarizes the flow of a program, but excludes the underlying details. Systems designers write pseudocode to ensure that programmers understand the requirements of a software project and align the code accordingly.
A Pseudocode is a prototype sample, model, or early release of a product created for the purpose of testing concepts and for learning purposes. They help us learn without fully implementing our solutions. When developing user interfaces for our applications, we have several prototypes before the final interface. Some examples of these are wire frames, graphic designs, and mockups.
This is the way how to write pseudo code.
- Organize your task sequence and write your pseudocode accordingly.
- Start with the declaration of a pseudocode that states the main goal or goal.
We have to know there are some KEYWORDS to be used in pseudo code.
These are for start and end of a program
BEGIN, END
These are for condition statements.
IF, ELSE, ENDIF, DO, WHILE, ENDWHILE, REPEAT, UNTIL, CASE
These are for user inputs.
INPUT, GET, READ , SET
These are for displaying results.
PRINT, SHOW
Here is some sample pseudo codes.
//Conditional statement if
if "1"
print "this is 1"
if "2"
print "this is 2"
//Case condition
INPUT number
CASE number of
1: PRINT "1"
2: PRINT "2"
3: PRINT "3"
DEFAULT
PRINT "0"
ENDCASE
//While Loop
Set index to 0
WHILE index is GREATER THAN 1
PRINT index
INCREASE index BY 1
END
Function
Function sample
PRINT 'hello world'
Endfunction
There are still more keywords and syntax structures of writing pseudo codes but I think you will get the idea by reading this blog.
By Yuuma
yuuma at 2021年02月09日 07:07:22
- 2021年02月01日
- 技術情報
Free Hosting Services that I know
Today, I would like to talk about hosting services that are available to upload your site for free. Although there are thousands of services that are giving free, I will share some good services among these which I know. Let’s get started.
Github Pages
Github is a company that hosts code repositories, collections of code for projects. Github has a feature called Github Pages, which makes it easy and free for you to create a multi-file website hosted on yourusername.github.io. GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files directly from a repository on GitHub, optionally runs the files through a build process, and publishes a website. You can see here. When uploading source code, it is necessary to consider whether the source code is safe to be released to the public.
Netlify
Netlify allows you to create a website using the repository on the git platform. You just need to choose the repository and run the deployment command. After the deployment is complete, your site will be live. You can see here.
AWS Free Tier
Amazon Web Services is an integrated provider of cloud-based computing solutions. One of the Services they provide is Web Site Hosting. AWS offers you a one year free account called AWS Free Tier and you can test and use variety of products from AWS like EC2, S3, RDS and so on. I know it is a little bit hard to consume the UI of AWS but it will improve your server administration knowledge. Be sure to test it out. See here for more detail.
Website Builders
There are some other free services that has website builder like wordpress. So you don’t have to write a single line of code and can build your website within minutes. For example wordpress, wix, weebly. But these services might also have pricing features, so they might force you to buy their product by somehow.
By Yuuma
yuuma at 2021年02月01日 06:19:25