<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Hakan Çelik&apos;s Blog (EN)</title><description>Articles on Python, Django, OpenCV, Cloud and more.</description><link>https://hakancelik.dev</link><item><title>What Is RAG? Giving AI a Memory It Can Actually Use</title><link>https://hakancelik.dev/en/what-is-rag-giving-ai-a-memory</link><guid isPermaLink="true">https://hakancelik.dev/en/what-is-rag-giving-ai-a-memory</guid><description>Before I learned about RAG, I was dumping raw context into AI prompts and getting flooded with false positives. RAG changed everything. And it turns out Cursor and Claude Code use it too — that indexing progress bar isn&apos;t just for show.</description><pubDate>Sun, 26 Apr 2026 12:00:00 GMT</pubDate></item><item><title>What You Actually Download When You Pull an AI Model</title><link>https://hakancelik.dev/en/what-you-actually-download-when-you-pull-an-ai-model</link><guid isPermaLink="true">https://hakancelik.dev/en/what-you-actually-download-when-you-pull-an-ai-model</guid><description>AI models are compiled binaries. Just like a compiled C program, a trained model is an artifact that stands independent of its source — a ready-to-execute brain specialized for a task. Here&apos;s what that really means.</description><pubDate>Sun, 26 Apr 2026 10:00:00 GMT</pubDate></item><item><title>Understanding Python Classes</title><link>https://hakancelik.dev/en/understanding-python-classes</link><guid isPermaLink="true">https://hakancelik.dev/en/understanding-python-classes</guid><description>In Python, everything is an object and every object has a type — including primitives, functions, and classes themselves. type() and __class__ reveal this relationship.</description><pubDate>Thu, 30 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Run Methods Order In Python</title><link>https://hakancelik.dev/en/run-methods-order-in-python</link><guid isPermaLink="true">https://hakancelik.dev/en/run-methods-order-in-python</guid><description>Which method runs when in Python metaclasses? The execution order of __prepare__, __new__, __init__, and __call__ during class definition and instance creation.</description><pubDate>Thu, 16 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Run Methods Order In Python With More Explanation</title><link>https://hakancelik.dev/en/run-methods-order-in-python-with-more-explanation</link><guid isPermaLink="true">https://hakancelik.dev/en/run-methods-order-in-python-with-more-explanation</guid><description>The execution order of metaclass methods together with their full argument lists. Follow step by step which values arrive at each method.</description><pubDate>Thu, 02 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Tenses in English: An Overview</title><link>https://hakancelik.dev/en/tenses-in-english-an-overview</link><guid isPermaLink="true">https://hakancelik.dev/en/tenses-in-english-an-overview</guid><description>Past simple tense _Used to describe actions or events that happened at a specific point in the past._ Examples; I walked to the store. (Meaning: I traveled to the store on foot in the past.) She calle</description><pubDate>Wed, 01 Mar 2023 00:00:00 GMT</pubDate></item><item><title>More Accurate Meta Classes Without Type</title><link>https://hakancelik.dev/en/more-accurate-meta-classes-without-type</link><guid isPermaLink="true">https://hakancelik.dev/en/more-accurate-meta-classes-without-type</guid><description>A more complete metaclass implementation without deriving from type: a two-phase lifecycle managed by __call__, and delegation of __str__ and attribute access to the namespace.</description><pubDate>Thu, 16 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Prompts for Learning English with ChatGPT</title><link>https://hakancelik.dev/en/prompts-for-learning-english-with-chatgpt</link><guid isPermaLink="true">https://hakancelik.dev/en/prompts-for-learning-english-with-chatgpt</guid><description>How do you use ChatGPT to learn English? Ready-to-use prompt examples covering everything from verb tenses and vocabulary to grammar correction and conversation practice.</description><pubDate>Wed, 15 Feb 2023 00:00:00 GMT</pubDate></item><item><title>namespace[&apos;attr&apos;] = 1</title><link>https://hakancelik.dev/en/more-accurate-dynamic-class-creation</link><guid isPermaLink="true">https://hakancelik.dev/en/more-accurate-dynamic-class-creation</guid><description>To see how Python truly processes a class statement: get a namespace with type.__prepare__, execute the body with exec, then build the class with type().</description><pubDate>Thu, 02 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Modals: An Overview</title><link>https://hakancelik.dev/en/models-an-overview</link><guid isPermaLink="true">https://hakancelik.dev/en/models-an-overview</guid><description>Modal verbs are a type of auxiliary verb that is used to indicate modality, which describes the speaker&apos;s attitude or feelings about the action or state being expressed in the main verb. Some common m</description><pubDate>Wed, 01 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Metaclasses In Python</title><link>https://hakancelik.dev/en/metaclasses-in-python</link><guid isPermaLink="true">https://hakancelik.dev/en/metaclasses-in-python</guid><description>A metaclass is a class whose instances are classes. Just as type produces classes like int or str, a custom metaclass produces its own classes in the same way.</description><pubDate>Thu, 19 Jan 2023 00:00:00 GMT</pubDate></item><item><title>What Is Serverless?</title><link>https://hakancelik.dev/en/serverless-nedir</link><guid isPermaLink="true">https://hakancelik.dev/en/serverless-nedir</guid><description>Serverless Computing is also known as FaaS or Function As a Service.</description><pubDate>Tue, 10 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Meta Classes Without Type</title><link>https://hakancelik.dev/en/meta-classes-without-type</link><guid isPermaLink="true">https://hakancelik.dev/en/meta-classes-without-type</guid><description>Is it possible to write a metaclass without deriving from type? Yes — but what you end up with is not a real Python class; it is an instance of Meta.</description><pubDate>Thu, 05 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Deploying to AWS Lambda with SAM Using a Custom Docker Image</title><link>https://hakancelik.dev/en/custom-image-kullanarak-aws-lambda-uzerine-sam-ile-deploy</link><guid isPermaLink="true">https://hakancelik.dev/en/custom-image-kullanarak-aws-lambda-uzerine-sam-ile-deploy</guid><description>When deploying a serverless application on AWS Lambda using a Docker image, AWS provides a base image to make your work easier.</description><pubDate>Tue, 27 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Invisible Metaclasses In Python</title><link>https://hakancelik.dev/en/invisible-metaclasses-in-python</link><guid isPermaLink="true">https://hakancelik.dev/en/invisible-metaclasses-in-python</guid><description>Every class in Python has a metaclass. If you don&apos;t specify one explicitly, type steps in as the default — invisible, but always there.</description><pubDate>Thu, 22 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Cloud Computing</title><link>https://hakancelik.dev/en/cloud-computing</link><guid isPermaLink="true">https://hakancelik.dev/en/cloud-computing</guid><description>Cloud computing is the on-demand delivery of technology resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access technology services such as computing power, storage, and databases on an as-needed basis from a cloud provider like Amazon Web Services (AWS).</description><pubDate>Tue, 13 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Singleton in Python</title><link>https://hakancelik.dev/en/singleton-in-python</link><guid isPermaLink="true">https://hakancelik.dev/en/singleton-in-python</guid><description>Two ways to implement the Singleton pattern with a metaclass in Python — and the critical difference between them: in one, subclasses are separate objects; in the other, they are the same object.</description><pubDate>Thu, 08 Dec 2022 00:00:00 GMT</pubDate></item><item><title>How to Deploy a Serverless Application on AWS Lambda</title><link>https://hakancelik.dev/en/aws-lambda-uzerine-serverless-uygulama-deployu-nasil-yapilir</link><guid isPermaLink="true">https://hakancelik.dev/en/aws-lambda-uzerine-serverless-uygulama-deployu-nasil-yapilir</guid><description>There are many options for deploying a serverless application on AWS Lambda. Here are the ones I know of:</description><pubDate>Tue, 29 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Register Classes in Python</title><link>https://hakancelik.dev/en/register-classes-in-python</link><guid isPermaLink="true">https://hakancelik.dev/en/register-classes-in-python</guid><description>Three ways to automatically register subclasses: metaclass __new__, __init_subclass__, and class decorator. Which one is more appropriate for which situation?</description><pubDate>Thu, 24 Nov 2022 00:00:00 GMT</pubDate></item><item><title>How to Deploy a FastAPI Application on AWS Lambda with SAM</title><link>https://hakancelik.dev/en/aws-lambda-uzerine-fastapi-uygulamasini-sam-ile-nasil-deploy-edebilirim</link><guid isPermaLink="true">https://hakancelik.dev/en/aws-lambda-uzerine-fastapi-uygulamasini-sam-ile-nasil-deploy-edebilirim</guid><description>If you wrote your serverless application with FastAPI and want to run it on AWS Lambda, you need to make it compatible with Lambda. The library you need for this is mangum.</description><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Modeling a Class with a Metaclass</title><link>https://hakancelik.dev/en/modeling-a-class-with-a-metaclass</link><guid isPermaLink="true">https://hakancelik.dev/en/modeling-a-class-with-a-metaclass</guid><description>A dataclass-like structure built with a metaclass: automatic __slots__ derived from type annotations and runtime type validation inside __call__.</description><pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Serverless and Lambda on AWS</title><link>https://hakancelik.dev/en/aws-de-serverless-ve-lambda</link><guid isPermaLink="true">https://hakancelik.dev/en/aws-de-serverless-ve-lambda</guid><description>Lambda is a compute service that lets you run code without managing servers.</description><pubDate>Tue, 01 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Logging Namespace</title><link>https://hakancelik.dev/en/logging-namespace</link><guid isPermaLink="true">https://hakancelik.dev/en/logging-namespace</guid><description>Automatically record every assignment in the class body using the metaclass __prepare__ method — discover the power of a customized namespace.</description><pubDate>Thu, 27 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Define Method If Condition True</title><link>https://hakancelik.dev/en/define-method-if-condition-true</link><guid isPermaLink="true">https://hakancelik.dev/en/define-method-if-condition-true</guid><description>The implementation of the defineif library: a customized namespace via __prepare__ that silently defines or skips methods at class creation time based on a boolean condition.</description><pubDate>Thu, 13 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Auto Slots</title><link>https://hakancelik.dev/en/auto-slots</link><guid isPermaLink="true">https://hakancelik.dev/en/auto-slots</guid><description>Automatically generate __slots__ from __init__ parameters using a metaclass and co_names.</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Dynamic Class Creation</title><link>https://hakancelik.dev/en/dynamic-class-creation</link><guid isPermaLink="true">https://hakancelik.dev/en/dynamic-class-creation</guid><description>Writing `class Example: ...` and calling `type(&apos;Example&apos;, (), {...})` produce exactly the same result. Python transforms the class keyword into a type() call behind the scenes.</description><pubDate>Thu, 15 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Extending the User Model</title><link>https://hakancelik.dev/en/user-modelini-genisletmek</link><guid isPermaLink="true">https://hakancelik.dev/en/user-modelini-genisletmek</guid><description>As you know, Django comes with a user model that has certain properties — name, last name, email, password, etc. While these fields save the day in most cases, sometimes they&apos;re not enough. Depending on the project you&apos;re building, users may need to have more properties. That&apos;s what we&apos;ll achieve by extending the user model.</description><pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate></item><item><title>How to Create Custom Management Commands</title><link>https://hakancelik.dev/en/ozel-yonetim-komutlar-nasl-yaplr</link><guid isPermaLink="true">https://hakancelik.dev/en/ozel-yonetim-komutlar-nasl-yaplr</guid><description>Everyone uses this part of Django. Even those who have never used Django and are just starting to learn it use this area first — they open a console from the project directory and immediately start a new project to begin coding.</description><pubDate>Tue, 02 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Building Login, Register, and Logout Pages</title><link>https://hakancelik.dev/en/login-register-ve-logout-sayfalarinin-yapimi</link><guid isPermaLink="true">https://hakancelik.dev/en/login-register-ve-logout-sayfalarinin-yapimi</guid><description>In this post, instead of writing CSS for the page design, I&apos;ll use a front-end framework called Uikit. The code I use here comes from a project called Eatingword that I&apos;m developing to keep my Django skills fresh and learn new things.</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Submitting a PR</title><link>https://hakancelik.dev/en/pr-goendermek</link><guid isPermaLink="true">https://hakancelik.dev/en/pr-goendermek</guid><description>How do you make your first contribution to CPython? From finding an issue and forking the repo, to making a fix and opening a PR — a step-by-step walkthrough with a real example.</description><pubDate>Fri, 15 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Using Dumpdata and Loaddata</title><link>https://hakancelik.dev/en/dumpdata-ve-loaddata-kullanm</link><guid isPermaLink="true">https://hakancelik.dev/en/dumpdata-ve-loaddata-kullanm</guid><description>Main source | djangoproject.com/en/2.1/</description><pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate></item><item><title>CLA</title><link>https://hakancelik.dev/en/cla</link><guid isPermaLink="true">https://hakancelik.dev/en/cla</guid><description>Before contributing to CPython, you need to sign the PSF Contributor Agreement. In this short post, I explain what the CLA is, how to sign it, and how the approval process works, step by step.</description><pubDate>Fri, 01 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Pagination in Django</title><link>https://hakancelik.dev/en/djangoda-sayfalama-pagination</link><guid isPermaLink="true">https://hakancelik.dev/en/djangoda-sayfalama-pagination</guid><description>The need for pagination arose from the sheer volume of data. If all data were displayed on a single page, the page would load slowly, users would have to wait a long time, the server would be overloaded, and the design would look poor.</description><pubDate>Tue, 21 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Preventing and Controlling Clickjacking in Django - XFrameOptionsMiddleware</title><link>https://hakancelik.dev/en/djangoda-clickjack-tuzagnn-engeli-ve-kontrolu-xframeoptionsmiddleware</link><guid isPermaLink="true">https://hakancelik.dev/en/djangoda-clickjack-tuzagnn-engeli-ve-kontrolu-xframeoptionsmiddleware</guid><description>If you need more information about what clickjacking is, how to protect against it, and what precautions to take, you can check out my list titled clickjacking.</description><pubDate>Tue, 07 Jun 2022 00:00:00 GMT</pubDate></item><item><title>What is a Clickjacking Attack?</title><link>https://hakancelik.dev/en/clickjack-tuzagsaldrs-nedir</link><guid isPermaLink="true">https://hakancelik.dev/en/clickjack-tuzagsaldrs-nedir</guid><description>This type of attack occurs when a malicious site tricks a user into clicking on a hidden element of another site that has been loaded into a hidden frame or iframe.</description><pubDate>Sun, 29 May 2022 00:00:00 GMT</pubDate></item><item><title>How to Create Django Signals</title><link>https://hakancelik.dev/en/django-sinyalleri-nasl-olusturulur-django-signals</link><guid isPermaLink="true">https://hakancelik.dev/en/django-sinyalleri-nasl-olusturulur-django-signals</guid><description>Signals let you intercept an action performed on a model or on requests (request, response) and react accordingly. For example, if you have a user model and want something to happen in your own model whenever a new user registers, you can do that using signals.</description><pubDate>Tue, 24 May 2022 00:00:00 GMT</pubDate></item><item><title>Blocking a Clickjacking Attack</title><link>https://hakancelik.dev/en/clickjack-tuzagnn-engellenmesi</link><guid isPermaLink="true">https://hakancelik.dev/en/clickjack-tuzagnn-engellenmesi</guid><description>To configure Apache to send the X-Frame-Options header to all pages, add the following to your site&apos;s configuration:</description><pubDate>Sun, 15 May 2022 00:00:00 GMT</pubDate></item><item><title>Image Thresholding</title><link>https://hakancelik.dev/en/resim-esikleme</link><guid isPermaLink="true">https://hakancelik.dev/en/resim-esikleme</guid><description>In this article we will learn simple thresholding, adaptive thresholding, and Otsu&apos;s thresholding, and we will learn these functions: cv2.threshold, cv2.adaptiveThreshold</description><pubDate>Wed, 11 May 2022 00:00:00 GMT</pubDate></item><item><title>Using Multiple Databases in a Django Project</title><link>https://hakancelik.dev/en/django-projesinde-birden-fazla-veri-taban-kullanm</link><guid isPermaLink="true">https://hakancelik.dev/en/django-projesinde-birden-fazla-veri-taban-kullanm</guid><description>We&apos;ll learn how to use multiple databases with Django, how to create applications with Django, how to find the IP addresses of visitors, and how to use &apos;from django.db.models import F&apos;.</description><pubDate>Tue, 10 May 2022 00:00:00 GMT</pubDate></item><item><title>How to Prevent a Clickjacking Attack</title><link>https://hakancelik.dev/en/clickjack-tuzagn-engellemenin-yolu</link><guid isPermaLink="true">https://hakancelik.dev/en/clickjack-tuzagn-engellemenin-yolu</guid><description>While researching this vulnerability, I found that it can also be blocked with a few lines of JavaScript code — though that approach is not considered reliable.</description><pubDate>Sun, 01 May 2022 00:00:00 GMT</pubDate></item><item><title>Trackbar as a Color Palette</title><link>https://hakancelik.dev/en/renk-paleti-olarak-parca-cubugu-trackbar</link><guid isPermaLink="true">https://hakancelik.dev/en/renk-paleti-olarak-parca-cubugu-trackbar</guid><description>We will learn how to bind a Trackbar to OpenCV windows. We will learn these functions: cv2.getTrackbarPos(), cv2.createTrackbar(), etc.</description><pubDate>Wed, 27 Apr 2022 00:00:00 GMT</pubDate></item><item><title>What is Django</title><link>https://hakancelik.dev/en/django-nedir</link><guid isPermaLink="true">https://hakancelik.dev/en/django-nedir</guid><description>Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It&apos;s free and open source.</description><pubDate>Tue, 26 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Changing Color Spaces</title><link>https://hakancelik.dev/en/renk-alanlarn-degistirme</link><guid isPermaLink="true">https://hakancelik.dev/en/renk-alanlarn-degistirme</guid><description>In this article, we will learn how to convert images from one color space to another, such as BGR to Gray, BGR to HSV, etc. In addition, we will create an application that allows extracting a colored object in a video. We will learn these fun</description><pubDate>Wed, 13 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Creating a Sitemap with Django</title><link>https://hakancelik.dev/en/django-ile-site-haritas-olusturma</link><guid isPermaLink="true">https://hakancelik.dev/en/django-ile-site-haritas-olusturma</guid><description>A sitemap is an .xml file that allows search engine bots from engines like Google to crawl and index the content on your site faster and more efficiently. It is very important for SEO (search engine optimization) and is present on almost every site.</description><pubDate>Tue, 12 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Performance Measurement and Improvement Techniques</title><link>https://hakancelik.dev/en/performans-olcum-ve-gelistirme-teknikleri</link><guid isPermaLink="true">https://hakancelik.dev/en/performans-olcum-ve-gelistirme-teknikleri</guid><description>Hello everyone, in this section we will try to learn how to make the work we do in OpenCV more performant, i.e., faster, etc. As you may already know, when coding with technologies like OpenCV</description><pubDate>Wed, 30 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Django Admin Actions</title><link>https://hakancelik.dev/en/django-admin-actions</link><guid isPermaLink="true">https://hakancelik.dev/en/django-admin-actions</guid><description>An admin action is simply the ability to apply a bulk operation to selected objects — such as deleting all selected users. The image below illustrates what we&apos;re talking about.</description><pubDate>Tue, 29 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Drawing Functions in OpenCV</title><link>https://hakancelik.dev/en/opencvde-cizim-fonksiyonlar</link><guid isPermaLink="true">https://hakancelik.dev/en/opencvde-cizim-fonksiyonlar</guid><description>We will learn how to draw different geometric shapes with OpenCV. We will learn these functions: cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText(), etc.</description><pubDate>Wed, 16 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Context Processor Functions and How to Write Them</title><link>https://hakancelik.dev/en/context-processors-fonksiyonlar-ve-kodlanmas</link><guid isPermaLink="true">https://hakancelik.dev/en/context-processors-fonksiyonlar-ve-kodlanmas</guid><description>context_processors is a list of callable Python paths used to populate the context when a template is rendered. These callables take the request object as an argument and return a dict of items to be merged into the context.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title>OpenCV Video Operations</title><link>https://hakancelik.dev/en/opencv-video-islemleri</link><guid isPermaLink="true">https://hakancelik.dev/en/opencv-video-islemleri</guid><description>We will learn how to read videos, how to open and save them. We will learn how to record video with the camera and run it in a window. We will learn these functions: cv2.VideoCapture(), cv2.VideoWriter()</description><pubDate>Wed, 02 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Using Multiple Databases</title><link>https://hakancelik.dev/en/birden-fazla-veri-taban-kullanm-multi-db</link><guid isPermaLink="true">https://hakancelik.dev/en/birden-fazla-veri-taban-kullanm-multi-db</guid><description>To use multiple databases, we first need to define them in the project&apos;s settings.py file. The example below shows a settings.py configuration for a PostgreSQL and a MySQL database — you can use multiple databases of different types.</description><pubDate>Tue, 01 Mar 2022 00:00:00 GMT</pubDate></item><item><title>OpenCV Image Operations</title><link>https://hakancelik.dev/en/opencv-resim-islemleri</link><guid isPermaLink="true">https://hakancelik.dev/en/opencv-resim-islemleri</guid><description>The cv2.imread() function is used to read an image file and takes two arguments.</description><pubDate>Wed, 16 Feb 2022 00:00:00 GMT</pubDate></item><item><title>What Is OpenCV And Installation</title><link>https://hakancelik.dev/en/opencv-nedir-ve-kurulumu</link><guid isPermaLink="true">https://hakancelik.dev/en/opencv-nedir-ve-kurulumu</guid><description>Hello, in this tutorial series, the aim is to explain everything step by step from the very beginning to the end, following the OpenCV documentation.</description><pubDate>Wed, 02 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Morphological Transformations</title><link>https://hakancelik.dev/en/morfolojik-donusumler</link><guid isPermaLink="true">https://hakancelik.dev/en/morfolojik-donusumler</guid><description>We will learn different morphological operations like Erosion, Dilation, Opening, Closing. We will see different functions like: cv2.erode(), cv2.dilate(), cv2.morphologyEx()</description><pubDate>Wed, 19 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Contours</title><link>https://hakancelik.dev/en/konturler-contours</link><guid isPermaLink="true">https://hakancelik.dev/en/konturler-contours</guid><description>We will understand what contours are. We will learn to find and draw contours. We will learn these functions: cv2.findContours(), cv2.drawContours()</description><pubDate>Wed, 05 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Histograms</title><link>https://hakancelik.dev/en/histogramlar</link><guid isPermaLink="true">https://hakancelik.dev/en/histogramlar</guid><description>( Histograms 1: Find, Plot, Analyze ) ### Goals</description><pubDate>Wed, 22 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Smoothing Images</title><link>https://hakancelik.dev/en/goruntuyu-yumusatma-smoothing-images</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntuyu-yumusatma-smoothing-images</guid><description>Blurring images with various low-pass filters. Applying custom filters to images (2D convolution)</description><pubDate>Wed, 08 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Geometric Transformations of Images</title><link>https://hakancelik.dev/en/goruntunun-geometrik-donusumleri</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntunun-geometrik-donusumleri</guid><description>We will learn how to apply different geometric transformations to images such as translation, rotation and affine transformation. We will learn this function: cv2.getPerspectiveTransform</description><pubDate>Wed, 24 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Basic Operations on Images</title><link>https://hakancelik.dev/en/goruntulerle-ilgili-temel-islemler</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntulerle-ilgili-temel-islemler</guid><description>Accessing and modifying pixel values, Accessing image properties, Setting the Image Region (area) (ROI), Splitting and Merging Images</description><pubDate>Wed, 10 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Types and Type Conversions</title><link>https://hakancelik.dev/en/tipler-ve-donusumleri-class-type</link><guid isPermaLink="true">https://hakancelik.dev/en/tipler-ve-donusumleri-class-type</guid><description>First let us recall which data types exist in Python, then learn how to convert between them using type conversion functions.</description><pubDate>Tue, 02 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Arithmetic Operations on Images</title><link>https://hakancelik.dev/en/goruntulerde-aritmetik-islemler</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntulerde-aritmetik-islemler</guid><description>We will learn several arithmetic operations on images, such as addition, subtraction, and bitwise operations. You will learn these functions: cv2.add(), cv2.addWeighted(), etc.</description><pubDate>Wed, 27 Oct 2021 00:00:00 GMT</pubDate></item><item><title>String Methods and Method Operations (Method, Method-Wrapper)</title><link>https://hakancelik.dev/en/str-nesnesinin-methodlar-ve-method-operasyonlar-method-method-wrapper</link><guid isPermaLink="true">https://hakancelik.dev/en/str-nesnesinin-methodlar-ve-method-operasyonlar-method-method-wrapper</guid><description>Method Operations = Method Wrapper. An in-depth look at str object methods and method-wrappers in Python.</description><pubDate>Tue, 19 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Image Pyramids</title><link>https://hakancelik.dev/en/goruntu-piramitleri</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntu-piramitleri</guid><description>We will learn about image pyramids. We will use image pyramids to create a new fruit, &apos;Orapple&apos;, and we will see these functions: cv2.pyrUp(), cv2.pyrDown()</description><pubDate>Wed, 13 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Error Handling in Python</title><link>https://hakancelik.dev/en/pythonda-hata-yonetimi</link><guid isPermaLink="true">https://hakancelik.dev/en/pythonda-hata-yonetimi</guid><description>In the topics covered so far we never talked about errors, how to catch them, or how to continue execution based on the error encountered. This is an important topic and you will learn it here.</description><pubDate>Tue, 05 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Image Gradients</title><link>https://hakancelik.dev/en/goruntu-gecisleri</link><guid isPermaLink="true">https://hakancelik.dev/en/goruntu-gecisleri</guid><description>Image gradients and edge finding with these functions: cv2.Sobel(), cv2.Scharr(), cv2.Laplacian(), etc.</description><pubDate>Wed, 29 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Loops in Python</title><link>https://hakancelik.dev/en/pythonda-donguler</link><guid isPermaLink="true">https://hakancelik.dev/en/pythonda-donguler</guid><description>The while loop is a loop that runs based on a condition. Just like if, elif, or else, the only thing a while loop cares about is whether the given condition is true. If it is, the loop keeps running; if not, it stops.</description><pubDate>Tue, 21 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Canny Edge Detection</title><link>https://hakancelik.dev/en/canny-kenar-alglama</link><guid isPermaLink="true">https://hakancelik.dev/en/canny-kenar-alglama</guid><description>The concept of Canny edge detection. OpenCV function for this operation: cv2.Canny()</description><pubDate>Wed, 15 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Python Installation</title><link>https://hakancelik.dev/en/pythona-giris-anaconda-atom-ve-pip-kurulumu</link><guid isPermaLink="true">https://hakancelik.dev/en/pythona-giris-anaconda-atom-ve-pip-kurulumu</guid><description>You don&apos;t need to perform the installation at the very end right now.</description><pubDate>Tue, 07 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Mouse as a Paint Brush</title><link>https://hakancelik.dev/en/boya-frcas-olarak-fare</link><guid isPermaLink="true">https://hakancelik.dev/en/boya-frcas-olarak-fare</guid><description>We will learn how to handle mouse events in OpenCV. We will learn this function: cv2.setMouseCallback()</description><pubDate>Wed, 01 Sep 2021 00:00:00 GMT</pubDate></item><item><title>What Is Python?</title><link>https://hakancelik.dev/en/python-nedir</link><guid isPermaLink="true">https://hakancelik.dev/en/python-nedir</guid><description>Python is a general-purpose programming language that prioritises readability, and with its extensive standard library it is a preferred choice for both beginners and experienced developers alike.</description><pubDate>Tue, 24 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Libraries, Modules, and Packages</title><link>https://hakancelik.dev/en/kutuphane-modul-ve-paketler</link><guid isPermaLink="true">https://hakancelik.dev/en/kutuphane-modul-ve-paketler</guid><description>pip is a package manager for Python.</description><pubDate>Tue, 10 Aug 2021 00:00:00 GMT</pubDate></item><item><title>insertAdjacentHTML</title><link>https://hakancelik.dev/en/insertadjacenthtml</link><guid isPermaLink="true">https://hakancelik.dev/en/insertadjacenthtml</guid><description>The insertAdjacentHTML() method of the Element interface parses the specified text as HTML or XML and inserts the resulting nodes into the DOM tree at a specified position. It does not re-parse the elem</description><pubDate>Sun, 01 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Operators and the print() Function</title><link>https://hakancelik.dev/en/islecler-ve-print-fonksiyonu</link><guid isPermaLink="true">https://hakancelik.dev/en/islecler-ve-print-fonksiyonu</guid><description>Operators (*, /, -, +, %) and the print() function (the function that lets us write to the screen).</description><pubDate>Tue, 27 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Instagram Bot</title><link>https://hakancelik.dev/en/instagram-botu</link><guid isPermaLink="true">https://hakancelik.dev/en/instagram-botu</guid><description>We will reinforce the class structure by building an Instagram bot, learn the @staticmethod decorator, and build a neat bot using the requests library.</description><pubDate>Tue, 13 Jul 2021 00:00:00 GMT</pubDate></item><item><title>The input() Function — Features and In-Depth Exploration</title><link>https://hakancelik.dev/en/input-fonksiyonu-ozellikleri-ve-detayl-inceleme</link><guid isPermaLink="true">https://hakancelik.dev/en/input-fonksiyonu-ozellikleri-ve-detayl-inceleme</guid><description>In my previous content I introduced Python functions and covered useful ones like type() and print(). Now we will look at the input() function, which lets us receive data (input) from users.</description><pubDate>Tue, 29 Jun 2021 00:00:00 GMT</pubDate></item><item><title>If, Elif, and Else Conditional Statements</title><link>https://hakancelik.dev/en/if-elif-ve-else-kosul-durumlar</link><guid isPermaLink="true">https://hakancelik.dev/en/if-elif-ve-else-kosul-durumlar</guid><description>To understand this topic you need to know the Comparison Operators from the operators article I wrote. Feel free to review that article and then come back to this one.</description><pubDate>Tue, 15 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Introduction to Functions, the type() Function, Variables and Their Types, Comments</title><link>https://hakancelik.dev/en/fonksiyonlara-giris-type-fonksiyonu-degiskenler-ve-turleri-yorum-satr</link><guid isPermaLink="true">https://hakancelik.dev/en/fonksiyonlara-giris-type-fonksiyonu-degiskenler-ve-turleri-yorum-satr</guid><description>Functions in programming languages are the same as the functions we know from mathematics. In fact, when you look at it broadly, mathematics and programming are essentially the same thing — a computer is itself a product of mathematics.</description><pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate></item><item><title>What Is Sass and Scss?</title><link>https://hakancelik.dev/en/sass-ve-scss-nedir-syntactically-awesome-stylesheets</link><guid isPermaLink="true">https://hakancelik.dev/en/sass-ve-scss-nedir-syntactically-awesome-stylesheets</guid><description>Syntactically awesome stylesheets</description><pubDate>Thu, 27 May 2021 00:00:00 GMT</pubDate></item><item><title>Sass Watch, Variables, Nesting, Import, Mixin, Include and Operators</title><link>https://hakancelik.dev/en/sass-scss-dersleri-sass-watch-degiskenler-nesting-import-mixin-include-ve-operatorler</link><guid isPermaLink="true">https://hakancelik.dev/en/sass-scss-dersleri-sass-watch-degiskenler-nesting-import-mixin-include-ve-operatorler</guid><description>Hello everyone. In my Sass series, I&apos;ll be continuing with the Scss structure instead of Sass, as I think it is more similar to CSS and easier to learn quickly.</description><pubDate>Thu, 13 May 2021 00:00:00 GMT</pubDate></item><item><title>Sass Installation?</title><link>https://hakancelik.dev/en/sass-kurulumu-linux-windows-ve-mac</link><guid isPermaLink="true">https://hakancelik.dev/en/sass-kurulumu-linux-windows-ve-mac</guid><description>For more detailed installation info: http://sass-lang.com/install</description><pubDate>Thu, 29 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Conditionals and Loops: @if, @else if, @else, @for, @while, @each</title><link>https://hakancelik.dev/en/kosullu-durumlar-ve-donguler-if-else-if-else-for-while-each</link><guid isPermaLink="true">https://hakancelik.dev/en/kosullu-durumlar-ve-donguler-if-else-if-else-for-while-each</guid><description>Hello everyone. As you know, when I started the coogger project I also started a new CSS framework called coogger.css. While developing this framework, I use Sass, and over the past week I&apos;ve been trying to add new features and improve existing ones.</description><pubDate>Thu, 15 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Some Sass Mixins I Use Frequently</title><link>https://hakancelik.dev/en/baz-sk-kullandgm-sassscss-mixinsleri</link><guid isPermaLink="true">https://hakancelik.dev/en/baz-sk-kullandgm-sassscss-mixinsleri</guid><description>First, I want to start with my favorite Sass mixin — it makes the Sass/CSS code I write compatible with all browsers and lets me follow the principle of write once, run in all browsers.</description><pubDate>Thu, 01 Apr 2021 00:00:00 GMT</pubDate></item><item><title>What Is Git, Installation and Free Software</title><link>https://hakancelik.dev/en/git-nedir-kurulumu-ve-ozgur-yazlm</link><guid isPermaLink="true">https://hakancelik.dev/en/git-nedir-kurulumu-ve-ozgur-yazlm</guid><description>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.</description><pubDate>Sun, 15 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Git Commands</title><link>https://hakancelik.dev/en/git-komutlar</link><guid isPermaLink="true">https://hakancelik.dev/en/git-komutlar</guid><description>We installed Git and configured our settings — now it&apos;s time to learn Git commands.</description><pubDate>Sun, 01 Nov 2020 00:00:00 GMT</pubDate></item></channel></rss>