Header bidding – какво означава това?

Източник: http://adprofs.co/beginners-guide-to-header-bidding/

Ако следвате технологиите в рекламата, то означава, че сте се сблъскали поне няколко пъти с термина “header bidding”. Ако не сте го срещали е доста неприятно, защото смятам че това е най-доброто постижение в технологиите за реклама от предоставянето на real-time bidding (RTB) /търг в реално време за реклами/.

Като голяма част от технологичните концепции, възприемането на новите иновации, как работят и как се напасват в текущия информационен свят е доста трудно. Доста информация има в Интернет, но тя е разбита на парчета. Тази статия има за цел да покаже един интензивен курс на основите, всичко на едно място.

В това ръководство, ще научите фундаментални неща за header bidding-а: какво представлява, защо има значение, как да го имплементирате и др.

Нека започнем с най-основният въпрос.

Read More »

Agile & Scrum

Какво е Agile

Agile е рамкиран, итеративен (етапен) подход, за разработка на software (и не само), при който изграждането на software-a се извършва по етапно и към клиентите се предоставя на база тези етапи, вместо да цели извеждането на финализиран продукт, в края на процеса за разработка.

Read More »

Dependency Injection, Services and Containers (DIC) – part 4

 

If you have read my previous posts. Maybe the terms Inversion of Control, Dependency injection, DI Containers and Service Locator means anathema, so this article doesn’t suite you.

If you think the whole DI idea is a hoax, no problem. Enjoy the other millions patterns that the OOP world offers.

For people that understand the matter, I would love to hear everything you need to say about it. As I said in my first post: The PHP community makes that language so fun to deal with. I look forward to increase my knowledge and share my own. The general idea of this blog.

Note to the newbies – I won’t give an exact implementation of a problem you’ve faced – I’m not StackOverflow and I don’t intend to be. Yeah I’ll try to help and explain if you have questions about the subject but again, I am not a guru 😉

Read More »

Dependency Injection, Services and Containers (DIC) – part 3

Aaaand we are on part 3, and you still don’t know what the hell am I talking about. OK. Lets explain a little more, and we’ll continue on the types of injection and Service Locators and DI Containers.

The Dependency Injection is a technique that follows the Inversion of Control. If you wish to follow that click here. So just to make things clearly lets get the Wikipedia definition about IoC:

A design in which custom-written portions of a computer program receive the flow of control from a generic, reusable library.

A software architecture with this design inverts control as compared of traditional procedural programming.

So if it doesn’t sound that clearer, I’ll try to make it crystal:

With inversion of control, the custom code calls a library to perform a task, without caring about the dependencies. And that best practice I was explaining in the previous two parts of this post.

Read More »

Dependency Injection, Services and Containers (DIC) – part 2

 More & more problems

In the previous part we’ve found a solution for one of the problems, and that is the removing of the dependencies and code it with an interface. By itself, this is a good milestone but we’ve never managed the object creation. The complexity of creating the dependencies through the other objects – so in order to instantiate Payment we need to create every class that must be injected and implement the PaymentProcessor, the Invoice and DB.

Read More »

Dependency Injection, Services and Containers (DIC)

So, a little while ago, when I’ve dug in deep into the sea of OOP, a popular new technique surfaced and its called Dependency Injection. Take note here, that I’m not rediscovering the wheel here. Just pointing the obvious and explaining it – My Way!

There are literally thousands of information about that topic, but I’ll try to be brief here, take a little as much I can of your time, and give you all the info, so when you set sail in the vast sea of Information Technologies, you don’t like your support.

Let us begin.

Read More »

Полиморфизъм с PHP

Какво е полиморфизъм?

Общото определение е следното: Възможността на даден обект да съществува в различни форми.

В частност при програмирането термина е следния: Полиморфизмът е шаблон в обектно ориентираното програмиране, при който класовете имат различна функционалност, но споделят един и същи интерфейс.


<?php interface Shape { public function calcArea(); } class Circle implements Shape { private $radius; public function __construct($radius) { $this->radius = $radius;
    }

    public function calcArea()
    {
        return $this->radius * $this->radius * pi();
    }
}

class Rectangle implements Shape
{
    private $width;
    private $height;

    public function __construct($width, $height)
    {
        $this->width  = $width;
        $this->height = $height;
    }

    public function calcArea()
    {
        return $this->width * $this->height;
    }
}

$circ = new Circle(2);
$rect = new Rectangle(3,4);

echo $circ->calcArea();
echo '
';
echo $rect->calcArea();

// 12.566370614359
// 12

От примера правим следният извод: Независимо, че смятаме две различни площи на два различни обекта (кръг и правоъгълник), то наследяването на интерфейса не пречи на резултата.