Keegan Rush

A developer that strives to write clean, maintainable software that enables businesses to create revenue and solve problems. Keegan specializes in mobile app development and loves experimenting with different tech, different platforms, and different ways of thinking.

4 minute read

Disclaimer:
I don’t advocate using Vim seriously as your primary development environment. As powerful as it is, Vim remains a text editor,
not an IDE
.

Disclaimer:
not an IDE

I ran into some Xcode problems the other day where I lost syntax highlighting and code completion in Swift files. What should we do when Xcode just doesn’t work?

I joked that at this point, it might be easier to just use Vim for my Swift development. Well…

It’s not hard to use an arbitrary text editor to write some code and then run it through a compiler. For this setup, we want something a little bit more pleasant to use. The passionate programmers that we are, we want to be able to work on non-trivial Swift projects, with or without Xcode, from the comfort of our own home or in a post-apocalyptic nuclear bunker (hey, let’s not rule anything out).

Syntastic
provides syntax highlighting in Vim for many languages. It does this by associating
checkers
with a particular language. When you save the file you’re working on, it runs the appropriate checkers. A checker is essentially an adapter between the world of Vim with Syntastic and your language with its compiler or linter. What we want to accomplish through Syntastic is to easily compile a project when the current file is saved and surface any errors or warnings inside Vim.

Go to a Swift project containing a Package.swift (The manifest file for SwiftPM) and open a Swift file in Vim. Run
:SyntasticInfo
and you should see some output from Syntastic:

The important tidbit here is that the
swiftpm
checker is available and enabled. This means that when we save the file, it’ll run
swift build
to build the package.

To get the SwiftLint checker working, we need to start off with:
brew install swiftlint
.

If you want to configure SwiftLint to your tastes, you’ll need to add a .swiftlint.yml file to your Swift project to get the syntax checker working. Or, if you’re happy with the global default, add this to your .vimrc:

Adding that will let you have some awesome linting without needing to add a configuration file to every project.

Full Page Cache

Your customers are
not patient
. Even a one second delay in your site response time can make the difference between a loyal customer and one that clicks over to the competition

not patient

Your customers are not patient. Even a one second delay in your site response time can make the difference between a loyal customer and one that clicks over to the competition. Recent industry studies have supported this correlation between Website performance, customer behavior and ultimately business results:

Forrester Research

Customers expect your pages to load in two seconds or less, and after three seconds up to 50% will abandon your site

Aberdeen Research

A one second delay in Web page response time led to a 7% decrease in conversions.

Gomez and Equation Research

When Website performance is slow during peak traffic periods, more than 75% of consumers said they would go to a competitor's site

Increase conversion rate

Page speed is one of the most important factors that helps to increase your conversion rate. By using Full Page Cache, you will get a significant boost in page speed as well as conversion rates.

Tagging to load dynamic content

For parts of the website you wouldn't want to be cached, special tags are marked in order to prevent pages such as the shopping cart or personal welcome message from caching.

Step-by-step installation

Our installation guide helps you set-up the Full Page Cache module in no time at all. Further assistance is available via eMail.

Supports multiple stores and currencies

Our module supports multiple stores and currencies. When building the cache key we take the request URL, the hostname, the store id and the currency code into consideration.

Uses file system, APC or Memcached

You can configure Full Page Cache to store the cache files in the filesystem, in APC or Memcached. We recommend a centralized Memcached storage if you're running several webservers in a load-balanced environment

Is it possible to get a trial?

We do not offer a trail for the full page cache extension.Don´t worry about no trail, we offer a 14 days money back guarantee.

What is a cache life time?

The cache life time means how long the cache is actual.

Is the full page cache also compatible for the next Magento versions?

Yes, of course. We update all our extensions for all new Magento versions.

How much does your full page cache speed up my shop?

If your server is well configured, the full page cache will speed up your shop up to 90% and more.

My checkout is slow, does your extension cache the checkout too?

The checkout is complete dynamic and it won´t be cached.

Will the customer account be cached too?

No, the customer account must stay dynamic.

Which are the steps, if you do the installation for us?

Does your Fast Full page cache extension work with any custom theme?

The full page cache works in 99% out of box. If you are unsure on this point please take our installation service.

Is there any way to disable specific pages from full page cache?

We keep the code of the full page cache as simple and clean as possible. Because of this reason we do not add to much features which must stored to your database or which make the full page cache slower. The keyword for this is called light weight code.

Does the cache work in a mulit-site/multi-domain Magento installation?

Yes, it´s full multi store/ multi domain compatible. If you need a multi store license please order for each domain, where the full page cache should run a license. We will merge all your licenses into one license file.

When we install this extension, would you recommend that we install APC cache on the server as well?

APC is a must have for each php application especially for Magento.

Is it possible to clear the cache for individual pages?

No, but we will release this feature in the next updates.

Is there a browser specific aspect that changes the caching behavior?

There is no specific difference on browsers.

I am using a second third party cache. Is your extension compatible to other caches?

It is not needed to use 2 caches at the same time. Also we can´t guarantee that this works.

Do i need the Crawler Add-on for the full page cache and what does the Crawler Add-on do?

The crawler add-on is for warm up your cache, so all pages will be crawled and all your customers get always fresh cached pages. If you have a good server this add on is not needed, because it needs server power by caching all pages.

What is the difference between your cache and the Magento internal cache?

The Magento internal cache is for the zend frame work, where Magento internal data is saved. The full page cache saves the rendered html file to reduce the server load.

Which caching system is the fastest: APC, Memcache or filesystem?

The APC cache is the fastest cache. Memcache is needed in a multi server environment. The file system is for all customers, which have no APC or memcache installed on their server. You can only see APC or Memcache as option, when these are correct installed.

My current page load time is around 8s - 15s. Is the full page cache the right extension for me?

If you have a so slow shop we would suggest, that your shop and the server must be analyzed before you install something more on it. The full page cache was not build to correct a server or wrong server hardware.

We have different customer groups and we show different prices on the shop for each group. How does your full page cache handle this?

The cache detects every customer group automatically. The same goes to different languages or currencies. All this will be cached for each group individually.

Is the full page cache compatible to other third party extensions?

If these third party extensions are correct developed (strict to Magento code and framework) the cache is full compatible.

I have a lot stock changes. Will the stock on product page also be cached?

No, the cache includes only the static parts of the cached page. All dynamic parts like card and stock stay dynamic.