Ihr Partner in Web-Entwicklung

Innovative Ideen für Ihr Unternehmen

Web-Entwicklung

Egal ob neue Firmen-Webseite, CRM-System oder Spezial-Software. Wir sind ihr Ansprechpartner in Sachen Web-Entwicklung!

Wir erstellen Webseiten und Web-Applikationen nach ihren Wünschen und Anforderungen. Dabei setzen wir stehts auf die neusten Technologie- und Sicherheits-Standards.

Netzwerk Administration

Planung, Aufbau und Administration ihres kleinen bis mittelständigen Firmen-Netzwerkes.

Wir kümmern uns daraum dass es in ihrer Firma läuft. Wir planen, bauen und administrieren ihr Unternehmens-Netzwerk.

Linux Server Management

Aufbau, Instandhaltung und Wartung ihres Linux-Servers.

Wir bieten ihnen einen umfassenden Service für ihren Linux-Server. Wir sorgen dafür, dass alles auf dem neusten Stand ist und ihre Services verlässlich laufen. Dabei achten wir stehts auf die Sicherheit ihres Netzwerkes und ihrer Kunden.

Wer Sind Wir?

Software ist Analyse und Instrospektion. Um einen Prozess zu verstehen, betrachten wir ihn so lange bis wir ihn verstehen. Gute Software erklärt einen Prozess in einfachen Schritten.

Wir bauen Software aus Micro-Services, kleine Komponenten die eine kleine Aufgabe erledigen. Ein Service alleine ist nahezu nutzlos, aber wenn mehrere zusammenfließen - dann können sie komplexe Prozesse abbilden und verwalten.

Viele unserer Services sind Open-Source, so das sie von der Community geprüft und verbessert werden können. Das erlaubt uns transparente und effiziente Arbeit.

Wir ergänzen diese Services dann mit anderen Services die proprietär sind, und das geistige Eigentum ihrer Firma schützen. [Mehr erfahren?]

Wir möchten das unsere Kunden das Gefühl haben das dass was wir tun ganz einfach ist. Dann wissen wir das wir es richtig machen.

César

César

Inhaber & Entwickler

Sebastian

Sebastian

Entwicker

BLOG

Wir nutzen unseren Blog um uns mit anderen Entwicklern auszutauschen. Die Softwareentwickler Community ist global, und selten Deutsch sprechend. Unsere Artikel sind deshalb alle auf Englisch verfasst. Wir laden sie trotzdem ein sich umzuschauen.

Progressive Web Applications (PWAs)

27/11/2020

The next few blog-posts I would like to write about Progressive Web Applications (PWA).
For a few years now
big tech-companies like Google, Microsoft, Mozilla and even Apple are working on a new web-application standard. PWA’s are web-applications but behave almost like native apps. They can work offline, run in a standalone mode (without the browser’s UI), receive push-notifications, perform background-sync and more native app like stuff. They have their own icon, splash-screen and can be added to the your home screen (smartphones) or taskbar (computer).
When open apps like these, they load quickly thanks to the Cache API and IndexedDB, which stores the app’s resources and data on your device, allowing them to work even when they’re offline.

PWA’s bring a lot of advantages like:

  • Easy development
  • No installation required
  • Work on almost any platform
  • No deployment on app-stores
  • Hosted on your own servers
  • Direct updates without any app-stores

In the next weeks I will explain how to create your own PWA step by step.


: 0 : programming, webapp, pwa, web development

CSS Flow. Spacing headings and paragraphs

20/11/2020

Over the last months our work on our CSS kit to standardize all our applications has led us to many interesting challenges. One of them, a surprisingly hard one, was the flow of text.

What looks great as an article, looks horrible as part of the layout of an application. The standard margin in HTML will look horrible when they’re inside a message box. Headings usually feel too close to the text, but placed next to a box we often want them as close as possible.

We’ve started using margin: 0 and padding: 0 on our h1, h2, h3, h4., h5, h6 and p.

This will cause all your text be extremely close. But our solution to this is to use spacers, so an example with a simple ehading and a paragraph gets a bit more verbose like

<h1>Heading</h1>
<div class="spacer medium"></div>
<p>The content of your HTML</p>

But now you can decide whether you want your text to be closer, or further apart, depending on the context in which you’re working.

In return, we never have to use negative margins or spaces to make elements closer, which is often the source of CSS issues.


: 0 : programming, webapp, pwa, web developmentweb development, CSS

Modify Images with Intervention-Image

13/11/2020

This week I would like to write about a composer-package which I often use in my projects that require the handling and modification of images.
Intervention Image (http://image.intervention.io/) is a great package for those needs. It delivers functions like: brightness-control, crop, resize, rotate, and many more…

After installing the package with: “composer require intervention/image”, it’s usage is as simple as it could be.
You just need to open/load an image with “Image::make(‘filename’);” and then use the methods you need to modify the image the way you like.

A basic example:

// open an image file
$img = Image::make('public/foo.jpg');

// now you are able to resize the instance
$img->resize(320, 240);

// and insert a watermark for example
$img->insert('public/watermark.png');

// finally we save the image as a new file
$img->save('public/bar.jpg');

A full list of all available methods can be found on their website!

Intervention-Image also have a direct integration into Laravel which makes it even easier to use it in your Laravel-project!

I use this package for quite some time in my projects and it never failed me in any way.


: 0 : programming, webapp, pwa, web developmentweb development, C

Phabricator webhooks to update composer libraries on Packagist

06/11/2020

We’ve been working with Phabricator for well over a year now, and so far I have nothing but praise for the effort Phacility has been making with it. Lately we’ve also started migrating some of our efforts towards composer packages, because, whether we like it or not, Composer is here to stay.

Our approach is currently to avoid external dependencies as much as possible and treat the composer packages as a less obnoxious git submodule (git modules are notoriously hard to move and keep track of when you’re switching branches).

So far we’ve been really happy with the results, and although there’s a learning curve, and there’s some considerations to be made about the whole packagist ecosystem (learn more about those on phacility’s post), our projects are coming along rather nicely.

One issue I had with this approach was the fact that Packagist does not have a straightforward way of integrating with Phabricator, they have instructions for Github and Bitbucket, but it seems Phabricator is a bit too much of a niche product for them.

The first thing we did was set up a Virtualhost on a server so we could receive our Phabricator webhooks and transliterate them into packagist webhooks. For this we used our own deploy script.

Once we had a host ready, we created a hook.php file that would do the transliterating. Download the source for hook.php.

With this done, all we needed is to go to Herald and click on Webhooks and then Create webhook. You can add a custom name and fill in the URL to your hook.php file that you created earlier.

From the top bar, click on Create project and create a project that you name Packagistand select the hashtag #packagist and #composer for it. This is important to make the Phabricator magic work later.

Once you’re done creating a webhook, go back to Herald click on Create rule select Commits and Object rule and enter the #packagist hashtag you added earlier. This will cause Phabricator to automaticallly update any packages you have that have the Packagist hashtag.

For the conditions select Any of and Always. Under actions you need to select Webhook and select your newly created webhook. Once you’ve saved you should be done.

Now, whenever a package tagged with #packagist gets a commit, Packagist will automatically update your repository data.

There’s a catch: Phabricator does not trigger commit hooks when you push a tag. This means that when you add a version number to your package it will not be automatically updated. I’ve reached out to the Phacility staff, since I consider this a bug and I will update this post whenever I get feedback from them.


: 0 : programming, webapp, pwa, web developmentweb development, Cphabricator, php, engineering, web development

Composer 2 has been released

30/10/2020

Today I would like to write about Composer. Composer is a dependency manager for PHP, and is now released in version 2.0. This update brings many improvements with it.

Performance improvements

Composer 2 needs about 60% less time in operations like install and update. But this depends on your use case.

For example:
- A Drupal installation needs ~40sec. Instead of ~95sec.
- A Laravel installation needs ~12sec. Instead of ~65sec.

Runtime features

Composer now checks (when “vendor/autoload.php” gets initialized) if the current PHP version and extensions match what is expected by the dependencies.

Error reporting improvements

Error messages has been improved and are now shorter, clearer and less repetitive. So it’s easier to understand them.


Upgrade your composer install

It’s pretty easy to update your composer-installation from version 1 to version 2. You just need to run the command: “composer self-update --2” and you’re done.
If you encounter issues, you can always go back at any time by using: “composer self-update –1”.


You can have a full overview of the change-log here: https://github.com/composer/composer/releases/tag/2.0.0


: 1 : programming, webapp, pwa, web developmentweb development, Cphabricator, php, engineering, web developmentprogramming, php, composer

Kontakt

Wir haben Ihr Interesse geweckt oder Sie möchten uns einfach eine Frage stellen?
Gerne können Sie uns eine E-Mail verfassen oder sich telefonisch bei uns melden.

Wir freuen uns auf Ihre Anfrage!

Magic3W
Pelkovenstr. 148
80992 München