Знайомство з Styled components

Пропонуємо вашій увазі переклад свіжої ознайомчої статті Саші Грифа (Sacha Greif), співавтора книги «Discover Meteor», про специфіку роботи з бібліотекою Styled components.
«СЅЅ – дивна штука. Його основам можна навчитися за 15 хвилин, але на те, щоб знайти хороший спосіб організації стилів, можуть піти роки.



Почасти це пояснюється особливостями самого мови. У своєму початковому вигляді CSS досить обмежений — ніяких змінних, циклів або функцій. У той же час, він розв'язує вам руки, забезпечуючи можливість задавати стиль елементах, класах, ID або будь-яким їх комбінаціям.

Читати далі →

FRAM через I2C для Arduino

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

Всередині Ардуины є EEPROM, звичайно ж. Багато місця не треба, щоб зберігати п'ят довгих цілих, але є нюанс. EEPROM має дуже обмежений ресурс на запис. Хотілося б писати дані раз на кілька секунд хоча б. Ресурс ж EEPROM дозволяє це робити цілком видимий час, тобто, вбудована пам'ять явно не вічна.

Спочатку я хотів обдурити долю записуючи структурку даних в різні місця 1К пам'яті чіпа по колу. Вперся в те, що покажчик треба десь зберігати теж, а дані досить випадкові, щоб використовувати якийсь маркер для послідовного пошуку.

Колеги з НТЦ Метротек підказали пошукати FRAM. Це ферритова пам'ять з шаленим швидкодією і 1014 циклами запису.

Читати далі →

Пацієнт нульового дня



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


Читати далі →

Створення пошуку по бібліотеці юним програмістом — як це?

На днях натрапив на публікацію мого ровесника, і вона спонукала мене написати і свою історію про свій проект, який абсолютно так само не допоміг, а тільки завадив вступу у ВНЗ.

image

Вступ
В один прекрасний день я зайшов до бібліотеки за одним розповіддю. Сказавши назву і автора розповіді бібліотекаря, отримав стопку збірників даного автора. Для того щоб знайти серед усього цього різноманіття потрібний розповідь, довелося перебрати всі твори. Набагато легше було б «загугліть» потрібний твір і отримати бажане в кілька кліків.

Читати далі →

Перший підтверджений випадок реального використання ReactOS



На нашому офіційному сайті ще недавно висіло повідомлення, що операційна система ReactOS поки не готова для повсякденного використання, а образи ОС, роздаються з сайту, призначені тільки для тестування. Тим не менше періодично спливали «качки», що ReactOS бачили встановленим на касових терміналах такого-то супермаркету. Однак жарти жартами, а час минав, і релізи виходили.

І ось деякий час тому до нас звернувся адміністратор однієї з російських бібліотек та поділився досвідом реального «бойового» використання ReactOS в роботі. Олександр поділився з нами інформацією, що зміг встановити і налаштувати сервер ИРБИС64 (бібліотечний каталог книг) на комп'ютері під керуванням ReactOS. Більш того, конфігурація вже тривалий час працює без серйозних збоїв і виконує свої функції.


Читати далі →

Як ми робили централізоване зберігання даних для роздрібної мережі і оптимізували його по кроках

Після того як ми розповіли про перенесення сховищ сотень відділень великого банку до центрального ЦОД, використовуючи рішення Riverbed, ми вирішили трохи заглибитися в технічно «стораджовую» складову продуктів, а заодно і подумати над варіантом консолідації даних, наприклад, у великого ритейлера, перевірити ефективність систем SteelFusion Core і Edge, а також оцінити інженерні зусилля і вигоду замовника.

По нашому досвіду типовий регіональний філіал ритейлера будується на парі мережевих комутаторів, парі серверів, стрічкової бібліотеки і прибиральниці, яка змінює касети. Іноді бібліотеці віддають перевагу зовнішній диск. Касети можуть просто зберігати, а можуть вивозити з певною періодичністю. Те ж саме і з зовнішнім диском. Ширина WAN-каналу обмежена парою Мбіт/с і рідко коли досягає високих значень.

Інфраструктура центрального офісу ритейлера трохи складніше: є і велика кількість серверів, і мзс-рейндж СГД, і навіть зустрічаються резервні площадки. Тому в цілому ідея консолідації даних регіональних філій ритейлера застосовна для такого випадку. Тестовий стенд в нашій крамничці ми зібрали за лічені години. Ось що вийшло.



Одну з лабораторій ми взяли за уявний центральний офіс (ЦОД), де розгорнули vCenter і зібрали простенький HA-кластер…
Читати далі →

Запити до Rest API з JavaScript компактно і красиво

я Робив тут невеликий проект на чистому JS і в ході цього потрібно працювати з Rest API. Ну не ручками адже XMLHttpRequest смикати, вирішив я, напевно, є незліченна кількість готових рішень для такої простої задачі?..
Як можна здогадатися по КДПВ, я трохи помилявся; втім, про все по порядку. Але якщо коротко — вийшов ось такий симпатичний велосипедик, з яким запити до Rest API виходять, як і обіцяно в заголовку, компактними і красивими.
image
Читати далі →

Vim по повній: Бібліотека, на якій все тримається

Зміст
  1. Введення (vim_lib)
  2. Менеджер плагінів без фатальних вад (vim_lib, vim_plugmanager)
  3. Рівень проекту та файлова система (vim_prj, nerdtree)
  4. Snippets та шаблони файлів (UltiSnips, vim_template)
  5. Компіляція і виконання чого завгодно (vim-quickrun)
  6. Робота з Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестування за допомогою xUnit (vim_unittest)
  9. Бібліотека, на якій все тримається (vim_lib)
  10. Інші корисні плагіни
Основною проблемою при написанні плагінів під Vim, є повторення коду. На жаль для Vim немає бібліотек, вирішують безліч базових завдань, чому всі автори плагінів постійно наступають на одні і ті ж граблі. У цій статті я постараюся освятити рішення цієї проблеми.

Читати далі →

OpenGL ES 1.1 Windows 8 і Windows Phone 8.1

У далекому 1998 році я намагався зробити свою гру з OpenGL. Розробка насилу дійшла до альфи і була покинута, але що особливо запам'яталося, так це як зручно було робити під GL інтерфейси — ортогональная проекція, пара трансформацій, биндинг декількох вершин з GL_TRIANGLE_STRIP і у нас вже є кнопка. І от, через шістнадцять років і займаючись мобільним игростроем я зіткнувся з таким же підходом в OpenGL ES 1.*, хіба що 2D текстури без обертань можна тепер малювати через glDrawTexfOES.
Я підтримував кілька проектів, зроблених за цим принципом і потроху в голові вишикувався підступний план: зробити крос-платформний 2D гру на мобільних OpenGL ES і на C#, а на десктопах з звичайним OpenGL. Цілі я домігся не з першого разу і було з цим багато проблем, але в результаті черговий проект у мене працює без змін бізнес-логіки на iOS, Android, BlackBerry, Windows XP/7, Mac OS X, Linux, ReactOS, Windows 8, Windows Phone 8.1. Матеріалу набралося на багато статей, але в цей раз я розповім саме про підтримку Windows Runtime.

Читати далі →

DOMPDF - експорт даних з PHP в PDF

З допомогою бібліотеки DOMPDF можна створювати PDF файли з HTML коду. Потрібно лише зверстати якийсь HTML шаблон і передати його DOMPDF і вже на виході отримати згенерований PDF файл. Але не треба забувати і те, що ця бібліотека не движок для обробки веб-сторінок, а значить і шаблони повинні бути зверстані з використанням базових засобів: HTML тегів і CSS стилів. Хоча розробники заявляють, що їх бібліотека підтримує стандарти CSS 2.1 і навіть деякі властивості CSS 3. З повним їх переліком можна ознайомитися тут. До речі, є один мінус — вона є досить «ненажерливою» до оперативної пам'яті. Тому, можливо, доведеться задуматися про оренду віртуального виділеного сервера. Але це залежить від змісту та обсягу планованих PDF документів. З іншого боку вона вам може допомогти заощадити багато часу на розробку різних звітів в форматі PDF.
Читати далі →