image

При створенні веб-додатка ми в якийсь момент задаємося питанням — як керувати його станом? Vue надає нам спосіб керувати ним у межах одного компонента, підхід дуже простий, і при цьому чудово працює. Але що робити, якщо у програмі безліч компонентів, які повинні мати доступ до одних і тих же даних? Одне з рішень цієї задачі — Vuex, інструмент для централізованого управління. У даній статті ми розглянемо, з чого він складається і як його використовувати.


Читати далі →


Feathers — мало відомий (на жаль!), але при цьому дуже потужний і зручний фреймворк для створення серверних додатків на Node.js. В його основі лежить набагато більш популярна технологія Express.

Але якщо Express в основному орієнтована на створення web-додатків і генерацію html-коду з використанням різних шаблонизаторов, то Feathers призначений для створення сервісів (REST, Socket.io і Primus). При цьому від розробника потрібно мінімум зусиль і доопрацювання коду — адже все вже написано до нас.

При всій потужності Feathers, пишуть про нього вкрай мало. Остання публікація на Хабре про нього була в 2013 році, ніяких книг статей та курсів не існує. Сам я наткнувся на неї абсолютно випадково, коли шукав найбільш зручний варіант написання сервера для зараз системи персональної ефективності.

Від такої несправедливості мені стало гірко і я вирішив написати цей текст про те, як з допомогою Feathers за жалюгідні 5 хвилин створити дійсно працюючий сервер, що надає сервіси для того ж React.

Читати далі →

Ви напевно думаєте, що писати на php — це просто. Та «hello, world» виглядає приблизно так:

<?php
echo 'Hello, world!';

Звичайно, чого ще очікувати від мови з низьким порогом входу. Ну так, саме так і було раніше. Багато років тому. Але тепер, у 2017 році ніхто вже так не робить. Давайте розглянемо, чому і спробуємо побудувати наше більш реалістичне hello-world програму по кроках, а їх, скажу відразу, вийшло не мало.


Читати далі →

Привіт, мене звати Дмитро Карлівський і я… той ще гурман. Мені подобається готувати вишукані страви, які елегантно і просто вирішують звичні вже набили оскому проблеми. Можна довго розповідати про переваги тих чи інших підходів, здешевлення підтримки, прискорення розробки, спрощення налагодження, але все це залишається досить суб'єктивними оцінками, над якими потрібно розмірковувати. Тому рано чи пізно (але як правило передчасно), всі обговорення скочується до більш-менш вимірюваним величинам — швидкості роботи, швидкості завантаження та іншим швидкостей. І мало того, що потрібно зробити декілька реалізацій на різних технологіях, щоб було що порівнювати, так ще й не погано було б намалювати інтерфейс із зрозумілою людині видачею результатів. А все це — час, якого завжди не вистачає, особливо, якщо робити добре.
Щоб спростити розробку бенчмарків ми виділили загальну їх частина окремий додаток, який малює весь інтерфейс від вибору досліджуваних варіантів до наочного представлення результатів, а варіативна частина підключається ззовні і реалізує досить простий інтерфейс. Все "накликанное" стан зберігається у заслання, так що їм легко поділитися з іншими гурманами. Крім того, підтримується локалізація і сортування результатів за різними критеріями — справжній бенкет для всіх любителів швидкої їжі.
Швидше, а то все смачне з&#39;їдять
Далі ви дізнаєтеся:
  • Як замутити свій бенчмарк, практично не докладаючи зусиль.
  • Як запив щось складніше, із завантаженням цілих додатків в окремих кадрах.
  • Як влаштований $mol_app_bench зсередини.
  • Як тепер жити з усім цим.

Читати далі →

image

Минуло трохи більше місяця з моменту публікації огляду ігри Bushed Bricks на хабре. За цей час був отриманий безцінний фідбек від гравців. Було порядком критики, переважно конструктивною, а також чимало розумних рад/пропозицій. Все це допомогло окреслити ключові проблемні місця і напрямки для розвитку.

Читати далі →


Запис звернень до кешу пристроєм управління пам'яттю (MMU) в процесорі по мірі виклику сторінок по особливому паттерну, розробленим для виявлення відмінностей між різними рівнями ієрархії таблиць. Наприклад, патерн «драбинки» (зліва) вказує на перший рівень ієрархії, тобто PTL1, при виклику сторінок за 32K. Для інших рівнів ієрархії теж є методи виявлення

П'ятеро дослідників з Амстердамського вільного університету (Нідерланди) довели фундаментальну вразливість техніки захисту пам'яті ASLR на сучасних процесорах. Вони виклали исходники скриптів JavaScript і докладний опис атаки AnC (ASLR⊕Cache), до якої схильні практично всі процесори.

Дослідники перевірили AnC на 22 процесорах різних архітектур — і не знайшли жодного, який був би захищений від такого роду атаки по сторонньому каналу. Це і зрозуміло, адже у всіх процесорах використовується буфер динамічної трансляції для кешування адрес пам'яті, які транслюються у віртуальні адреси. Захиститися від цієї атаки можна тільки відключивши кеш процесора.

Читати далі →