Image for post
Image for post

In 2019 I wrote about a MySQL 5.7 migration at Check24. While it is very exciting when working on new features, it is also a good thing to think about the architecture and use modern frameworks and libraries. Working on the architecture provides also the opportunity to improve source code quality and introduce quick wins.

The following notes are part of my recent project at Check24. I am a bit proud about it, since it was initiated, designed and pushed by me. …


Image for post
Image for post

Geçen yazımda WhatsApp’ın yeni sözleşmesin ve uçtan uca şifreleme metodunu nasıl kullandığını anlatmıştım. Bu yazıda (uçtan uca) şifreleme konusunu derinleştirip, mesajlarımızı nasıl koruduğunu anlatmaya çalışacağım.

Şifreleme metodları

Kavram olarak “end to end” (kısa: e2e) ya da Türkçe’siyle “uçtan uca” şifreleme metodu geçtiğimiz yıllarda öne çıktı. Özellikle 2013’de “Snowden belgeleri”iyle birlikte popüler online servislerde yaygınlaşan “şifreleme” (encryption) kavramı, bir mesajın gönderici tarafından şifrelenmesi ve iletişimin tarafı olan iki veya daha fazla alıcı tarafından çözülebilmesi anlamına geliyor. Uçtan uca alternatif olarak, mesajların kullanıcı tarafından şifrelendikten sonra sunucuya aktarılması ve sunucu tarafından çözülüp çeşitli işlemlere sunulması.

Dijital iletişimin diğer tabakalarında yer bulan SSL/TLS gibi şifreleme…


Image for post
Image for post
WhatsApp mobil uygulaması

Popüler mesajlaşma uygulaması WhatsApp, geçtiğimiz hafta içinde kullanıcılarına Facebook şirketi ile bilgi paylaşacağını, bunun yapılabilmesi için de kullanıcıların onayının gerektiğini, aksi takdirde uygulamanın kullanılamaz hale geleceğini bildirdi. Açıklamada; WhatsApp, bağlı olduğu Facebook ve Facebook’a bağlı diğer şirketlerle bilgi paylaşacağını, bunun WhatsApp ve diğer Facebook ürünlerinin “güvenlik ve bütünlüğünü sağlayabilmek için” gerekli olduğunu belirtiyor ve bunlara örnek olarak da “spam tarzı mesaj, tehdit, hakaret, ürünü kötüye kullanma” ve “kanuna aykırılık” gibi nedenleri gösteriyor. Avrupa Birliği’nde geçerli olan GDPR nedeniyle birliğe bağlı ülkelerde yeni kuralın geçerli olmayacağı berlirtilerek, diğer ülkelerde — Türkiye dahil — 8 Şubat’tan itibaren bu kuralların yürürlüğe gireceği duyuruldu.

WhatsApp nedir? İşletmecisi kimdir?


Image for post
Image for post
Keestash Logo

When starting Keestash back in late 2018, I was focused on the PHP backend and how things might work “out of the box”. The frontend needed just some click handlers here and there and thus, jQuery was the choice.

Now, about two years later, things have changed a bit. The frontend got a boost with Bootstrap, Webpack, a package manager (NPM). The overall code is splitted up into the core and several apps. Handling software in this way requires a key module (Keestash Core) and the app modules. …


Image for post
Image for post
Multiple Servers by tvick on Unsplash

During the Covid-19 pandemic I decided to set up a server at home for different use cases. The server, that I very creatively called server1, should be a central place to build a file archive, a git server (an alternative for GitHub projects not intended for the web), a testing server for new applications (such as Keestash) and other stuff. Further, server1 ist only intended to stay in the local intranet (not reachable from the web) and does not underly strict security constraints. Let’s talk about server1, the setup and especially configuration.

The hardware

As I said, one of the primary use…


Image for post
Image for post

One thing I like at my current employer Check24 is the variety in topics and the trust in me to master them. This motivates me to take my work very serious, but also gives me a lot of responsibility since our products represent Germany’s biggest platform for comparing almost everything.

But Check24 is not only great because they delegate responsibility to their employees. We also try to stay up to date and upgrade our software versions if it makes sense. One of these upgrades is the migration from a lower version to MySQL 5.7 …


Image for post
Image for post

Last year, I announced PHPAlgorithms. Since then, I worked a lot on this repository as part of my personal learning progress on Algorithms and Datastructures.

Now, I am proud to announce that we have reached our first milestone – version 1.0.0. With the support of the community, we fixed remaining issues and made this release happen.

PHPAlgorithms 1.0.0 has breaking changes compared to its previous 0.x- versions:

Namespace Change: From Plural to Singular

For example, the namespace doganoo\PHPAlgorithms\Datastructure\Lists\ArrayLists has been changed to doganoo\PHPAlgorithms\Datastructure\Lists\ArrayList

strict_types=1 for Each Class

each class (including all test classes) got a strict types declaration, which means…


Image for post
Image for post
elePHPant

The beginning of this week was a little bit more action packed than planned. After a couple of weeks of coding and intensive testing (seriously!), I was of the opinion that the feature is production ready and could be deployed. But well, shit happens when you least expect it.

PHP Stacktrace

As developers, our daily work consists of coding, debugging and trying to analyse logs. Whenever an exception (or additionally in PHP: errors) occure, we open the log file and look for the whole stacktrace (preassumed we work OO-like). This enables a lot of advantages: We can follow the whole path of…


Image for post
Image for post
Unsplashed: Jeanne Rouillard

Algorithms fascinate me again and again. They seem to be very hard to understand, but once you have practiced enough, you will recognize common patterns. Once you reach the state where you see a problem and can imagine a solution, it seems like that you just adjust the previous algorithm used. Saying this, I am trying to say that it is important to practice and that there is no place for self-doubt 😊

Saying this, I want to talk in this post about roman numerals. The Romans used a different (and in my opinion very difficult) way to represent numbers…


Image for post
Image for post

One of my partners asked me for support on his personal website. He is not a pro user, meaning that he created a simple website a couple of years ago and relies on support of his hoster. Stuff like responsive design and SEO (what is this?) does not matter and he just wants to publish his work for his students.

My partner told me that one of his students has reported about a dubious link referring from his website to a suspect website. He asked me to find and remove this link.

Challenge Accpeted

It could be so easy to click through…

Doğan Uçar

Software Engineer, Algorithms and Data Structures, Machine Learning, Open Source Contributor, Hobby Photographer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store