Skip to main content

Posts

PHP Design Patterns - Strategy

Today I want to explain how to use strategy design pattern in PHP. I tried to use this pattern when I want decouple algorithms for calculating something at runtime. For example, we can dynamically changing methods which will be calculate price of some items using some logic. Create car, for example: namespace strategy; abstract class Item{ abstract function getPrice(); } class Car extends Item{ protected $price; public $name; protected $isTuned; public function __construct($name, $price, $isTuned){ $this->name = $name; $this->price = $price; $this->isTuned = $isTuned; } /** * @return bool */ public function isTuned(){ return $this->isTuned; } public function getPrice(){ return $this->price; } } Suppose we want to separate method which will calculate price with different strategies. Create interface which will be implemented in each strategy. namespace strategy; int...

Найлегший крок.

Отже свята пройшли тому пора займатися. Сьогодні був тест підйому в 4.00 годині і просте згадування формул вивчених на вихідних. Завтра встаю в 4.00 і сідаю вчитися. Покищо повторяю це  http://mmf.nsu.ru/sites/default/files/WH-GR.pdf  і елементарну теорію ймовірності, прийшлося на вихідних повторики трохи комбінаторики. З фінансової математики трохи змістився. Цікавить курс Artificial Intelligence (бажання освоїти від Yandex'a). Якщо не сьогодні то ніколи. Я спати.

Давно не писав

Я давно нічого нового не писав в блог. Дата публікації останньої статті аж за 9 вересня 2010 року а на вулиці скоро 2014 рік. Пройшло більше ніж 3 роки, а чи багато змінилося за цих три роки? Ну я закінчив університет, влаштувався на роботу. Зараз хочу почати писати деякі статті в блог, здебільшого заради вивчення нових трендів у програмуванні і структуризації своїх знань, думаю блог якраз для цього призначений. В мене трохи наполеонівські плани по вивченню всяких технологій, але я думаю що зможу. В принципі зараз я поставив собі вектор це js (як і front-end так і back-end) і фінансова математика. Також я вирішив повністю змінити свій розпорядок дня. Тепер в мене буде підйом мінімум в 6.00, далі планую перенести на 5.00. Кожний день (буду старатися) писати в блог як ідуть успіхи. Наразі все.

Практика

            Розкажу трохи про практики які я проходив за весь курс навчання в коледжі і університеті. Перша моя практика була на 2 курсі в коледжі. Це була двохтижнева практика на засвоєння курсу Pascal i C. Pascal ми вчили в першому семестрі а С почали вчити в другому. Сама практика почалась в  другому семестрі і С повністю ми не знали, я маю на увазі  - умови, цикли, масиви і тд. Перша програма на С  - звичайний ввід і вивід з обчисленням даних виглядала дуже складною. Але потім все пішло як по маслу. І в кінці практики я зробив висновок, що С легше вчити ніж Паскаль. Зараз, згадуючи ті завдання, я розумію, що вони були досить простенькими. Я не пам'ятаю чи була практика на 3 курсі.               Потім на 4 курсі (випускному) у нас мала бути виробнича практика. Постало питання, де проходити практику? Викладач нам порадив піти в фірму Eleks. Якщо пам'ять мене не зраджує одне із питань було про ...

MySQL Workbench

MySQL Workbench Community Edition . Мало того, що він сильно лагає так ще й пусті запити вміє виконувати. В MySQL Query Browser показує помилку 1065 'Query was empty', в phpmyadmin просто показує вікно "Не задано значення форми". Цікаво як себе поводить платна версія.

Canon IP1700 і Ubuntu

Встановив собі Ubuntu 10.04. Користуюсь вже приблизно 2 місяця. Ось виникла в мене потреба надрукувати пару сторінок. Колись в мене стояли дві операційні системи: Ubuntu i Windows. Якщо потрібно щось надрукувати то я переходив у віндовс і печатав. Але пару місяців тому я вирішив поставити тільки Ubuntu і завжди нею користуватись. Раніше я пробував ставити драйвера для мого принтера, але тоді я не надавав цьому важливого значення і все закінчувалось друком у віндовсі. Цього ж разу все було по іншому. Ставити знову віндовс заради єдиного друку це безглуздо. Першим ділом я завітав на офіційний сайт Canon, як виявилось Canon не піклується про користувачів своєї продукції, тому драйвера я там не знайшов. Я вирішив пошукати на форумах, напевно, таке питання вже в когось виникало. Погуливши, я знайшов драйвер для свого принтера, це виявився драйвер для IP2200. Але не все так просто. Драйвер досить старий і вимагав пакунка libcupsys2, в нових версіях замість нього використовується пакунок lib...