Google випустила TensorFlow 1.0


TensorFlow 1.0 з моделлю нейромережі нового покоління Inception підтримує апаратне прискорення на DSP Hexagon в мобільні процесори Qualcomm Snapdradon 820. Швидкість роботи додатків на зразок Prism і програм машинного зору збільшиться у 8 разів, а енергоспоживання знизиться в 4 рази. Фільтри від нейромереж можна буде накладати на відео майже в реальному часі

На першій конференції для розробників TensorFlow Dev Summit Google оголосила про вихід мажорного релізу бібліотеки TensorFlow 1.0, назад несумісного з попередніми версіями. Це означає, що програми, які працювали на версіях TensorFlow 0.n, можуть не працювати на версії TensorFlow 1.0. Розробники з Google говорять, що зміни в API були необхідні «для забезпечення внутрішньо узгоджених програмних інтерфейсів», і більше такого не повториться: ламають зворотну сумісність змін в майбутніх версіях 1.x не планується. Зараз розробникам рекомендується вивчити керівництво з міграції і скрипт для перетворення.

TensorFlow — вільна програмна бібліотека для машинного навчання в застосуванні до різних видів завдань на сприйняття і розуміння мови. В даний момент вона використовується в науково-дослідній роботі і в десятках комерційних продуктів Google, в тому числі в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так само всіляких системах розпізнавання, в тому числі розпізнавання мови.

Читати далі →

Як 3 тисячі рублів і прості методи підвищення ефективності ЦОД допомогли заощадити купу грошей

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

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

Якщо ви для себе зрозуміли, що так далі жити не можна, рекомендую почати з читання блогів таких компаній як: Крок, Білайн, Data Line. У них можна знайти статті, в яких вони діляться своїм досвідом у сфері енергоефективності. Їх методи працюють — PUE комерційних майданчиків знаходиться в межах 1,3-1,4 (у кого-то трохи менше) що при TIER III є відмінним результатом. Проте в якийсь момент ви зрозумієте, що у них там своя вечірка з мегаватами, резервами і досвідченим персоналом. І вам на ній не місце.

Що ж робити простим смертним, у яких ЦОД – це 10 стійок, 200 кВт потужності, завжди не вистачає рук і часу?

Читати далі →

Laravel 5. Ієрархічний RBAC для самих маленьких

Як вам мабуть відомо, RBAC — це управління доступом на основі ролей. Всі, хто створювали системи трохи більші ніж домашня сторінка і трохи менші ніж Держпослуги, замислювалися про те, як розмежувати права користувачів.
У цій статті я не буду розповідати про те, що таке RBAC і чому це добре (хоча небагато, звичайно, розповім), а познайомлю вас зі своєї скромної розробкою (h-rbac) і спробую пояснити, чому вона з деяким аспектам краще, ніж відомі "монстри".
Читати далі →

Секрет швидкого програмування: не замислюйтесь



Програмувати швидко — це легко! Так вважає інженер-програміст компанії Google, який всі публікації в своєму блозі підписує лаконічним «Макс». Макс також працює головним архітектором, ком'юніті-менеджером і реліз-менеджером в Bugzilla Project. Ми в Alconost вразили і перевели його поради про те, чи як навчитися програмувати з космічною швидкістю.

Якщо обговорювати з розробниками складність коду, вони часто говорять, що хочуть писати простий код, але із-за тиску дедлайнів і більш глибинних причин у них не вистачає часу або знань для того, щоб виконати завдання і оптимізувати рішення до максимальної простоти.

Вони, звичайно, мають рацію в тому, що в умовах стислих термінів розробники, як правило, будуть писати складний код. Втім, дедлайни не повинні призводити до складності. Замість фрази «Цей дедлайн завадив мені написати простий код» можна вимовити рівноцінну: «Я недостатньо швидко програмують, щоб писати просто». Тобто чим швидше ви як програміст — тим менше впливу на якість вашого коду мають дедлайни.

Тепер давайте розберемося, як, власне, стати швидше? Може, це вроджене магічне вміння? Треба бути «розумнішими» інших, щоб бути швидким?

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

Читати далі →

Nutanix AOS 5.0 — велике оновлення



В останні дні старого, 2016 року, компанія поднапряглась і випустила давно очікуваний «мажорний» реліз 5.0 нашої Acropolis OS. Це, нагадаю, те, що стоїть всередині нашої CVM, Controller VM, і в якій міститься практично вся багата функціональність Nutanix як системи.
Новинок в ній з'явилося безліч, тільки просте перерахування займе, мабуть, сторінку. Тому я вирішив зупинитися в цій статті лише на найцікавіших і важливих з точки зору розвитку Nutanix як продукту, або корисних практичного сисадміну, що працює з такою системою.

Читати далі →

Вийшла Hanami v1.0.0.beta1

image
Про Hanami вже писали на хабре, і у команди є, чим нас порадувати:
Заморозка фіч, логгер рівня проекту, автоматичне логгирование HTTP запитів, SQL-запити та міграції. Мінорні виправлення помилок.
Реліз
v1.0.0.beta1
заморожує розробку нового функціоналу) Hanami для 1.0, разом з тим додає кілька нових функцій і трохи виправлень.
З цього моменту Hanami API's буде залишатися стабільним аж до версії 2.0.
Стабільний реліз (
v1.0.0
) очікується між кінцем березня і початком квітня 2017, що збігається за часом з традицією милування квітучою Сакурою (Hanami) в Японії.
Читати далі →

14 рад по використанню Sketch і InVision в роботі дизайнера

image
Инвижн дозволяє дизайнеру продемонструвати замовнику прототип дизайну програми, зробивши його інтерактивним. Крім того, завдяки Инвижн, можна організувати злагоджену роботу всередині команди, між дизайнером, менеджером проекту, верстальником і програмістами, незалежно від платформи (mac os, Windows, Linux). Пропоную вашій увазі зручні сценарії використання зв'язки Sketch + InVision.
Читати далі →

PrestaShop. Про глюке в багаторівневій навігації

PrestaShop Blocklayered

Привіт Хабр! Я розумію, що історія, про яку я хочу розповісти зовсім звичайна. У кожного програміста, який працює з Open Source, таких випадків до десяти на день. Але я все одно вирішив про неї написати. Комусь вона реально допоможе, а кому-то може просто поліпшить настрій, що теж непогано.

Буде трохи реверс-інжинірингу, трохи філософських роздумів, і звичайно щасливий кінець. Кому важливо тільки виправлення глюку – можете не читати весь цей бред і відразу скопіювати хак з кінця статті. У будь-якому випадку, ласкаво просимо під кат.


Читати далі →

Мінлива хмарність: знижуємо витрати на бекапи



Гібридні хмари стали одним з ключових рішень для оптимізації сучасного бізнесу в малих і середніх компаніях. Порівняно з установкою і обслуговуванням власних серверів, вони легше масштабуються, що дозволяє оптимізувати витрати на ІТ-інфраструктуру. Одночасно в гібридних хмарах зберігається велика доступність додатків і даних у порівнянні з їх розміщенням в публічному хмарі. Разом з тим, перехід до гібридним платформ створив нові виклики для постачальників хмарних рішень і їх клієнтів. Колишні схеми резервного копіювання і аварійного відновлення даних виявилися малоефективними через специфіку нових систем. У цій статті ми розглянемо нещодавно представлене рішення Acronis для хмарної платформи Microsoft Azure.

Читати далі →

Відповідь на введення в проектування сутностей, проблеми створення об'єктів

Після прочитання статті Введення в проектування сутностей, проблеми створення об'єктів на хабре, я вирішив написати розгорнутий коментар про приклади використання Domain-driven design (DDD), але, як водиться, коментар виявився занадто великим і я вважав правильним написати повноцінну статтю, тим більш що питання DDD, на хабре і не тільки, видаляється мало уваги.
DDD
Рекомендую прочитати статтю про яку я буду тут говорити.
Якщо коротко, то автор пропонує використовувати білдери для контролю за консистентностью даних в сутності при використанні DDD підходу. Я ж хочу запропонувати використання Data Transfer Object (DTO) для цих цілей.

Читати далі →