Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Как мы уместили таблицы в экран смартфона и унифицировали в рамках дизайн-системы

Время на прочтение4 мин
Количество просмотров13K
Мы разрабатываем рабочие инструменты для сотрудников и партнеров заказчика. Большинство созданных нами модулей содержит таблицы, реестры, карточки с детальной информацией.

Изначально основная часть модулей была заточена под веб, потому что с системами работают офисные сотрудники со стационарных компьютеров. О том, как мы проработали дизайн-систему для веба, мы писали ранее.

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

Для дизайн-проектирования это ставит нам 2 задачи:

1. Превратить большое в маленькое – перевести объемные списки в мобильное представление.



2. Разработать подход к унификации – унифицировать мобильное представление для разных списков в рамках нашей экосистемы. Чтобы пользовательский опыт был единообразным, вне зависимости от модуля, с которым работает пользователь.

В этой заметке поделимся тем, как мы подходили к решению задач перевода таблиц в списки и унификации представления разных списков.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии5

Руководство по работе с Redux

Время на прочтение80 мин
Количество просмотров284K
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии51

Будущее с Proxy

Время на прочтение6 мин
Количество просмотров8.8K
image

Мы, программисты — мечтатели. Идем на поводу у хайпа, мечтая о новой серебряной пуле, которая решит все наши проблемы. А также, мы любим писать новые велосипеды, тем самым не решая проблемы, а создавая новые. Давайте в этой статье немного помечтаем об архитектуре, разрабатывая «Псевдо-новый» велосипед.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии4

Выразительный JavaScript: Введение

Время на прочтение9 мин
Количество просмотров468K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии14

Сравнение кэшбэк-систем: экономика, геймификация и постмаркетинговые акции

Время на прочтение8 мин
Количество просмотров18K


История кэшбэка началась в 1891 году, когда в американской компании Green Shield придумали неожиданный рекламный трюк для привлечения новых клиентов. Механика акции была элементарна — Green Shield выпустили марки, которые клиенты компаний могли обменять на товары, наличные или скидки.

Магазин сам может назначать скидку на любой товар. И до Green Shield продавцы использовали различные акции, например, выпускали медные жетоны. Такой денежный суррогат можно было накапливать и обменивать на товары из специального каталога. Однако в определенный момент эта схема переставала привлекать новых клиентов.

Революция началась, когда в маркетинговую цепочку добавили партнеров — сейчас их называют кэшбэк-сервисами. Задача по привлечению клиентов перекладывается на партнера, лояльность клиента с каждой скидкой растет и все, на первый взгляд, в выгоде. Со временем количество подобных сервисов выросло неимоверно, что позволяло строить длинные цепочки передачи денег за товар. Давайте разберёмся, можно ли сегодня получать прибыль от многоуровневых кэшбэков, или же в выигрыше остается только «казино».
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии15

Интерфейс мозг-компьютер перестал быть научной фантастикой

Время на прочтение13 мин
Количество просмотров28K
image

Томас Рирдон надевает махровые эластичные браслеты, в ткань которых вплетены микрочипы и электроды – этакая стимпанковская бижутерия [полагаю, автор имел в виду киберпанк – прим. перев.] – на каждое из запястий. «Эта демка сносит крышу», – говорит Рирдон, предпочитающий, чтобы к нему обращались по фамилии. Он садится за клавиатуру, включает монитор и начинает печатать. После нескольких строк текста он отталкивает клавиатуру, обнажая белую поверхность стола, стоящего в штаб-квартире его стартапа, расположенного в Манхэттене. Он продолжает печатать, только на этот раз он печатает по пустому пространству стола. Но результат получается тем же – вводимые им слова появляются на мониторе.

Это, конечно, круто, но гораздо важнее то, как происходит этот фокус. Текст на экране создают не его пальцы, а сигналы, которые его мозг отправляет пальцам. Браслеты перехватывают их, правильно интерпретируют и передают этот ввод компьютеру – точно так же, как это делала бы клавиатура. А барабанят ли пальцы Рирдона по столу на самом деле, уже не важно; есть ли у него вообще кисти рук – не важно. Связь осуществляется между мозгом и компьютером. Более того, Рирдон с коллегами обнаружили, что машина может воспринимать и более тонкие сигналы – вроде подрагивания пальца – и не требует реальной имитации печатания.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии27

Bash-скрипты: начало

Время на прочтение11 мин
Количество просмотров1.8M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Читать дальше →
Всего голосов 69: ↑61 и ↓8+53
Комментарии123

TOP (10) бесплатных плагинов для SSMS

Время на прочтение3 мин
Количество просмотров51K


До того, как начать работать с SQL Server я толком то и баз данных в лицо не видел… Помню, что мне установили SQL Server Management Studio 2005 и дали задание активно «крутить педали». По прошествии пары недель, как бы так сказать, моя производительность по написанию запросов была явно в районе плинтуса…

Более опытный коллега с недоумением на меня посмотрел и посоветовал поставить пару плагинов для SSMS… после этого работать стало явно веселее.

В данном посте я хочу поделиться моим топ списком бесплатных плагинов для SSMS, которыми чаще всего пользовался.
Подробнее
Всего голосов 24: ↑20 и ↓4+16
Комментарии12

Обзор наушников Bluedio: разрыв шаблона от создателей Beats

Время на прочтение15 мин
Количество просмотров107K
Принято считать, что разработчики смартфонов и прочей мобильной электроники (планшетов, ноутбуков, смарт-часов и пр.) наживаются на бедных потребителях. Видели новости с заголовком вроде «айфон нам продают за 500 баксов, а цена его комплектующих всего 250»? Я как раз об этом. Однако Apple со своими смартфонами – это ещё относительно честный производитель, который делает минимальную наценку. Неужели бывает хуже? Бывает. Пальму первенства в области развода покупателей удерживают – тарам-пам-там – производители наушников!

Всё дело в том, что производство наушников – бизнес крайне высокомаржинальный. Если не считать профессиональные аудиофильские модели ценой в пару тысяч долларов, где действительно применяются уникальные компоненты (вроде моделей STAX или Astell&Kern), подход к созданию «ушей» у всех производителей примерно такой. Берём старую начинку, слегка подкручиваем звучание (ну чтобы новая модель хотя бы немного отличалась от старой), чуток изменяем дизайн (с той же целью), продаём. Всё! Учитывая, что каких-либо реально дорогостоящих компонентов в массовых серийно выпускающихся наушниках нет, а на разработку «c нуля» тратиться не приходится, стоимость производства (cost of materials) одного флагманского экземпляра практически любого бренда редко превышает 50, ну максимум 70 долларов. Откуда же появляются модели за 500 баксов и дороже? Оттуда и появляются – потребителю впаривают не столько технологии и звучание, сколько бренд. Давайте-ка разберёмся в ситуации поглубже и параллельно обозреем линейку «антипафосных» наушников не так давно появившегося на российском рынке бренда Bluedio. Наушники этого производителя ориентированы как раз на тех, кто не желает выбрасывать даже лишний рубль (пусть даже может себе это позволить) и при этом хочет получить реально клёвые, хорошо звучащие «уши». Без наценки за «пафос».


Читать дальше →
Всего голосов 41: ↑31 и ↓10+21
Комментарии109

На пути к правильным SQL транзакциям (Часть 2)

Время на прочтение7 мин
Количество просмотров55K


В предыдущей части были рассмотрены основы уровней изоляции транзакций. Здесь я постараюсь копнуть чуть глубже и рассказать при помощи каких инструментов MS SQL Server реализует уровни изоляции.

Как вы могли видеть в предыдущем разделе, существует два способа поддержания изоляции:
  • Основанный на блокировке ресурсов
  • Основанный на создании версионной копии ресурсов.

Режимы, основанные на создании копии данных, достаточно просты для понимания и думаю не требуют особого внимания. При желании углубиться в детали их реализации, я могу предложить обратиться к не плохому описанию на MSDN. Я же хочу рассмотреть, как реализован механизм, основанный на блокировках.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии1

На пути к правильным SQL транзакциям (Часть 1)

Время на прочтение6 мин
Количество просмотров147K


Мне часто приходилось сталкиваться с тем, что люди прекрасно понимают, что такое транзакции в базе данных и для чего они нужны, но при этом не всегда умеют ими правильно пользоваться. Безусловно, для достижения 80-го уровня сакрального знания нужно иметь не один год опыта и прочесть множество толстенных книг по SQL. Поэтому в этой статье я даже не буду пытаться описать всё, что может быть связано с транзакциями в MS SQL. Я хочу затронуть один простой, но очень важный вопрос, который разработчики часто упускают из вида – уровни изоляции транзакций.
Несмотря на то, что тема очень проста, во многих источниках она освящается плохо – информации либо очень мало, либо очень много. Т.е. прочитав 5-6 кратких теоретических определений невозможно их применить на практике. Для уверенного понимания предмета статьи нужно обращаться к специализированной литературе, но там информации на столько много, что далеко не каждый может уделить необходимое время для её усваивания.
Сегодня я хочу поделиться своим простым рецептом, который помог мне раз и на всегда запомнить особенности уровней изоляции транзакций и по сей день помогает без проблем принимать взвешенные решения о выборе необходимого уровня.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии6

Короткая шпаргалка по блокировкам при чтении и изменении данных в зависимости от уровня изоляции транзакции в MSSQL

Время на прочтение3 мин
Количество просмотров38K
Read Uncommitted

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) не будут ждать окончания первой транзакции и вернут записанные данные незакомиченных транзакций
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локи не используются. Что аналогично установке NOLOCK хинта во все селекты в Read Commited
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Read Committed + read_committed_snapshot off

(alter database xxx set read_committed_snapshot off)

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) будут ждать окончания первой транзакции. Селект с NOLOCK хинтом вернёт изменённые, но не закомиченные данные.
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локировки устанавливаются в процессе работы стейтмента и снимаются по окончанию стейтмента
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Дальше
Всего голосов 19: ↑19 и ↓0+19
Комментарии26

Перепрошивка Radeon RX 480 превращает 4-гигабайтную версию в 8-гигабайтную

Время на прочтение5 мин
Количество просмотров100K
Частоту GPU карты можно разогнать до 1500 МГц



В начале прошлого месяца компания AMD представила видеокарту AMD Radeon RX 480. Это первая видеокарта компании, в которой работает графический процессор с архитектурой Polaris. Производительность устройства составляет 5,5 TFLOPS, что неплохо для карты с ценой в $199 (за минимальную конфигурацию). Кроме того, здесь добавлена поддержка технологий виртуальной реальности — сейчас это важное направление, на которое ориентируются многие производители. Графический процессор Polaris 10 изготовлен по 14-нм технологии FinFET. Он содержит 2034 потоковых процессора, а для обмена данными с памятью используется 256-разрядная шина. Адаптер оснащен шестиконтактным разъемом питания и четырьмя видеовыходами.

Характеристики карты, как видим, неплохие, но, как оказалось, их можно улучшить. Оверклокеры смогли увеличить частоту GPU, а благодаря хитрому трюку объем видеопамяти можно увеличить с 4 ГБ до 8 ГБ.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии47

Это всё-таки случилось: Путин подписал «пакет Яровой». Тарифы на связь вырастут в 2-4 раза

Время на прочтение8 мин
Количество просмотров107K

Депутат Ирина Яровая. Фото: Станислав Красильников / ТАСС

Сегодня президент РФ подписал принятый парламентом и Советом Федерации пакет Яровой-Озерова с поправками в российское законодательство, в том числе поправками в закон «О связи». Тем самым поставлена окончательная точка в обсуждении этого пакета, который подробно обсуждался на Хабре.

Пакет новых законов обязывает операторов связи до трёх лет хранить метаданные и до шести месяцев трафик.

Согласно принятым законам, инфраструктура для прослушки населения будет оплачена самим населением, скорее всего, за счёт повышения тарифов на связь и снижения нормы прибыли операторов. Насколько именно вырастут цены на связь? Здесь мнения экспертов расходятся.
Читать дальше →
Всего голосов 88: ↑74 и ↓14+60
Комментарии946

Передайте мне вон ту картинку! Изучаем актуальные интерфейсы подключения мониторов и телевизоров

Время на прочтение10 мин
Количество просмотров147K
Привет, Geektimes! Совсем недавно мы рассказывали вам об интерфейсе нового поколения — USB Type-C — который помимо прочего умеет передавать и видеосигналы.



Но пока мониторов, поддерживающих этот интерфейс, на рынке попросту нет. А что же есть? В этой статье будет рассказано о основных современных интерфейсах для подключения мониторов и ТВ-панелей, их особенностях и отличиях, а также даны советы, как выбрать интерфейс подключения под конкретные нужды и не прогадать.
Читать дальше →
Всего голосов 49: ↑37 и ↓12+25
Комментарии59

«Умный» мотошлем получил грант 14,7 млн рублей от Минобразования

Время на прочтение1 мин
Количество просмотров16K
Российский стартап Livemap, разрабатывающий мотоциклетный шлем дополненной реальности с навигацией, получил грант от Министерства образования и науки России и готовится летом следующего года начать продажи устройство в США.

image
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии63

Сети для самых маленьких. Часть десятая. Базовый MPLS

Время на прочтение45 мин
Количество просмотров388K
Сеть нашей воображаемой компании linkmeup растёт. У неё есть уже магистральные линии в различных городах, клиентская база и отличный штат инженеров, выросших на цикле СДСМ.
Но всё им мало. Услуги ШПД — это хорошо и нужно, но есть ещё огромный потенциальный рынок корпоративных клиентов, которым нужен VPN.
Думали ребята над этим, ломали голову и пришли к выводу, что никак тут не обойтись без MPLS.

Если мультикаст был первой темой, которая требовала некоторого перестроения понимания IP-сетей, то, изучая MPLS, вам точно придётся забыть почти всё, что вы знали раньше — это особенный мир со своими правилами.



Сегодня в выпуске:


А начнём мы с вопроса: «Что не так с IP?»

Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии49

Взаимодействие Java и… Ассемблера?

Время на прочтение2 мин
Количество просмотров16K
В Java существует возможность использования программного кода, реализованного на других языках программирования, так называемый JNI. Можно написать динамически линкуемую библиотеку, затем загрузить ее в Java-коде и использовать функции оттуда, объявив их как native методы загрузившего ее класса. JNI создавался в первую очередь для того, чтобы выполнять машинно-зависимые действия (а также, возможно, улучшить производительность критических по скорости частей приложения) на C/C++, но никто не мешает нам написать библиотеку и на ассемблере.
Читать дальше →
Всего голосов 67: ↑58 и ↓9+49
Комментарии92

Popcorn Time на русском

Время на прочтение2 мин
Количество просмотров141K
На Хабре не раз уже рассматривался Popcorn Time (тут, тут, тут и тут).

У этого проекта есть один небольшой недостаток. Фильмов в русской озвучке там нет. Я попробовал решить эту проблему.


Читать дальше →
Всего голосов 94: ↑76 и ↓18+58
Комментарии139

YouTube Center

Время на прочтение5 мин
Количество просмотров381K
YouTube Center — лучшее расширение для браузера, работающее на сайте YouTube, которое мне приходилось видеть. Не могу не поделиться.
Собственно, это расширение решает если не все, то большинство проблем, с которыми мы сталкиваемся на YouTube и о которых не раз вспоминали на хабре. О самом расширении тоже говорили на этом сайте, но оно насколько хорошее и удобное, что вполне заслуживает отдельного поста.

Возможности YouTube Center

Дополнение позволяет:
  • разместить видео по центру страницы (1)
  • указать размер плеера (2)
  • указать качество видео (3)
  • запретить автопроигрывание и буферизацию видео, в том числе в Linux в HTML5 (4)
  • отключить Dynamic Adaptive Streaming over HTTP (Dash), которое не позволяет свободно передвигаться вдоль ролика, потому что буферизация каждый раз начинается заново (5)
  • отключить рекламу, в том числе рекламу внутри видео (6)
(цифрами в скобках указаны ссылки на комментарии на хабре, в которых идёт речь о желательности таких функций на YouTube)

Есть и другие мелкие плюшки, вроде возможности:
  • скачивать ролики (с выбором качества, формата и названия видео)
  • удалить предложение видео в конце просмотра
  • указать тип плеера (Flash или HTML5)
  • указать разрешение, в котором загружены ролики
  • добавить автоподсветку, выбрать её цвет и прозрачность
… и многое другое
Читать дальше →
Всего голосов 131: ↑114 и ↓17+97
Комментарии78

Информация

В рейтинге
4 661-й
Откуда
Ярославль, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Middle
JavaScript
Vue.js
SQL
Node.js
TypeScript