Pull to refresh
17
0
Илья Пятигорский @pyatigil

User

Send message

Разработка быстрых мобильных приложений на Android. Часть вторая

Reading time14 min
Views32K
В Edison мы часто сталкиваемся с оптимизацией мобильных приложений и хотим поделиться материалом, который считаем крайне полезным, если вы решаете одну из двух задач: а) хотите чтобы приложение меньше тормозило; б) хотите сделать красивый, мягкий и гладкий интерфейс для массового пользователя.

Предлагаем вашему вниманию первую часть перевода статьи Udi Cohen, которую мы использовали как пособие для обучения молодых коллег оптимизации под Android.

(Читать первую часть)


Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments5

Обзор ES6 в 350 пунктах. Часть первая

Reading time6 min
Views56K
Моя серия заметок ES6 in Depth, состоящая из 24 записей, описывает большинство синтаксических изменений и нововведений в ES6. В этой публикации я подведу итог всего изложенного в предыдущих статьях, чтобы дать возможность посмотреть еще раз на всё вместе. Также я добавил ссылки на мой блог, чтобы в случае необходимости сразу же можно было посмотреть подробнее.



Я слышал, вы любите маркированные списки, так что вот вам статья со списком, который состоит из нескольких сотен элементов.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments58

Ложная суета: как постоянная занятость уменьшает продуктивность

Reading time3 min
Views16K
image

В этой статье Jeff Archibald, расскажет, как еженедельно задавая себе три простых вопроса, вы сможете избавиться от ложной суеты.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

Обзор электрического самоката EcoReco M3 E-Scooter

Reading time4 min
Views24K
Самокат M3

Когда я сказал моим колегам что я получил M3 для обзора, они с завистью бросились вниз в гараж, чтобы посмотреть на это чудо техники. Но я говорил не о легендарной спортивной машине выходного дня BMW M3, а о EcoReco M3, электрическом самокате. В отличие от «Бумера», самокат M3 приводится в движение электричеством, он складывается для удобного хранения и разгоняется всего до 32 км/ч.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments15

20 самых популярных выступлений всех времен на конференции TED

Reading time3 min
Views353K
Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



Ранее на Хабре уже публиковался этот плейлист, но с тех пор он заметно обновился. Не изменился разве что лидер рейтинга — Кен Робинсон с выступлением «Как школы подавляют творчество».

Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

Большинство лекций переведены на русский язык, с субтитрами или в озвучке. Не буду много писать, это нужно смотреть. Остальное под катом.
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments22

Брет Виктор — Изобретая по Принципу (Bret Victor — Inventing on a Principle)

Reading time1 min
Views44K
Чудесный, необычный, вдохновляющий и заставляющий задуматься доклад Брета Виктора о сути идей и о способе прожить свою жизнь.

Этот доклад уже пробегал на хабре, но как-то мельком и без перевода.
А он реально стоит того, чтобы посмотреть его не один раз.

Добавил английские субтитры и перевел их на русский.

Само видео...
Total votes 38: ↑34 and ↓4+30
Comments21

Ну вот и про Google сняли фильм, на этот раз комедию

Reading time1 min
Views177K
20 июня выходит в прокат комедия «The Internship» режиссёра Шона Леви (Ночь в музее, Розовая пантера, Живая сталь). Фильм о двух друзьях (Винс Вон и Оуэн Уилсон), которые после увольнения решают устроиться стажёрами в Google. Им предстоит работать под покровительством людей, которые в двое моложе, и самое главное — испытать на себе всю атмосферу современной динамичной корпорации.

Total votes 122: ↑108 and ↓14+94
Comments54

Инъекция React JS в приложение на Angular JS или борьба за производительность

Reading time7 min
Views18K
Дорогие Хабролюбители, всем привет! Не откроем Америку если скажем, что существуют сотни плагинов и библиотек, которые облегчают специализированные задачи, связанные с построением современных web интерфейсов. Angular один из них, про его производительность писалось много и в большинстве случаев даются рекомендации чего не нужно делать, чтобы все было хорошо.

Основной аргумент сторонников — медленно работают неправильные приложения, а вот правильные не должны содержать более 2000-3000 элементов. Если содержит больше значит что-то не так. См. например http://iantonov.me/page/angularjs-osnovy.

Аргумент в общем вполне здравый, но всегда есть ситуации, когда нужно написать «неправильное» web приложение потому, что такие требования. В этой статье мы решили рассказать как раз про такую задачу, и как мы ее решили. На наш взгляд статья будет полезна в большей степени профессиональным веб разработчикам. Итак, наша задача была сделать календарь для системы бронирования для одного спортивного клуба. Календарь отображает семь 12–часовых блоков, каждый день из которых разделен на 15 минутные интервалы. В блоке может быть от 2-х до 10 DOM элементов. Вроде ничего не предвещало беды, верхняя граница ~3000.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments3

Повышение конверсии сайта: 5 способов избежать создания плохой микрокопии. Часть 1

Reading time4 min
Views21K

Сегодня мы хотим поделиться первой частью материала Билла Бирда о том, чего точно не стоит делать при написании микротекстов, чтобы сохранить юзабилити позитивным. В данной статье сначала дадим примеры микрокопии, а затем подробно разберем 5 кейсов.

Представьте, что вы смогли создать отличный пользовательский интерфейс. У вас прекрасные заголовки, изображения, баннеры, кнопки «Купить». А подумали ли Вы о микрокопии? А знаете ли Вы, что это такое?

Микрокопия — небольшие фразы или даже отдельные слова, которые добавляют вашему сайту индивидуальности, повышают лояльность клиентов и побуждают их совершить целевое действие.
Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments3

Основные принципы настройки Garbage Collection с нуля

Reading time7 min
Views48K
В данной статье я бы не хотел заострять внимание на принципе работы сборщика мусора — об этом прекрасно и наглядно описано здесь: habrahabr.ru/post/112676. Хочется больше перейти к практическим основам и количественным характеристикам по настройке Garbage Collection в JVM — и попытаться понять насколько это может быть эффективным.

Количественные характеристики оценки эффективности GC


Рассмотрим следующие показатели:

  • Пропускная способность Мера, определяющая способность приложения работать в пиковой нагрузке не зависимо от пауз во время сборки и размера необходимой памяти
  • Время отклика Мера GC, определяющая способность приложения справляться с числом остановок и флуктуаций работы GC
  • Размер используемой памяти Размер памяти, который необходим для эффективной работы GC


Как правило, перечисленные характеристики являются компромиссными и улучшение одной из них ведёт к затратам по остальным. Для большинства приложений важны все три характеристики, но зачастую одна или две имеют большее значение для приложения — это и будет отправной точкой в настройке.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments11

Arduino: ИК-управление бытовой техникой

Reading time5 min
Views30K
Здравствуй хабрачитатель! Меня зовут Константин и я программист, а именно занимаюсь программированием систем «Умный дом».
За четыре года работы в этой области, довелось попробовать много интересных контроллеров и ПО для решения задач домашней автоматизации. Одними из интереснейших устройств с которыми мне приходилось иметь дело — это устройства компании Global Cache серии IP2IR. Их предназначение состоит в том что-бы принять текстовую команду от клиента и излучить ее через светодиод ик-спектра.
Использование подобных устройств упрощает жизнь пользователям сразу по нескольким направлениям:
  • в качестве ПДУ можно использовать планшеты, телефоны и ПК (с небольшой оговорочкой, нужен специальный софт);
  • управление можно централизовать т.е. специальный софт можно поднять на сервере и обращаться к нему;
  • в прицельной стрельбе нет необходимости, если с телевизором, например, таких проблем нет (мы в него и так смотрим), то вот для устройств вроде Blu-Ray проигрывателей или MediaServer'ов это может стать проблемой в случае если они заперты в шкафу или работают в режиме мультирум;
  • одна кнопка ПДУ может выполнить целый макрос, например включить телевизор и Blu-Ray, затем переключить ТВ на нужный источник, например HDMI1, и пользователь может вообще не париться о том где и как у него подключены устройства.

Такая игрушка жизнь конечно упрощает, но и по карману тоже бьет, если мне не изменяет память, то GlobalCache для управления тремя устройствами стоит порядка 6000-7000 деревянных рублей. Не очень гуманное ценообразование, вот и было решено сделать собственную реализацию подобного устройства.
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments8

Резервное копирование веб-проектов на Яндекс.Диск без ООП и натурщиц

Reading time6 min
Views40K
Позавчера хабраюзер vasiatka в посте №206752 поделился с хабрасообществом, а следовательно и со всем остальным миром, продуманным и весьма развитым классом для работы с Яндекс.Диском. Некоторое время назад я тоже стал использовать этот сервис для хранения там бэкапов. Хочу поделиться значительно более коротким вариантом скрипта на php, который делает архивы базы данных и файлов сайта, и заливает их по WebDAV. Возможно кому-то и он придётся по душе.
Подробности
Total votes 72: ↑57 and ↓15+42
Comments48

Знания о языке и Яндекс. Зачем нам падежи? Лекция малой школы анализа данных

Reading time1 min
Views20K


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

В этой лекции Елена Грунтова раскрывает студентам Малого ШАДа понятие грамматической категории и подробно рассказывает падежах, их природе, типах, а также способах выражения.

Лекция рассчитана на старшеклассников, но выходит за рамки школьной программы, поэтому может быть интересна и взрослым.
Презентация
Total votes 61: ↑55 and ↓6+49
Comments4

События, которые повлияли на ваше развитие в детстве

Reading time3 min
Views142K


UPD: игра вышла.

Привет!

Тут такая история. Я заметил, что в какой-то момент стал отмечать для себя важные вещи для развития ребёнка. Например, у меня в детстве был сначала модульный конструктор с мотором, колёсами, батарейками и так далее, а потом – модульный же радиоконструктор. Эти два предмета очень сильно повлияли на то, чем я потом интересовался в будущем.

Ещё пример – в детстве надо обязательно сходить в политехнический и археологический музеи Москвы. Или, например, запомнились такие штуки: первая хорошая НФ, подаренная в 8 лет; дед, научивший меня чертёжному почерку за 15 минут; шахматы каждые выходные; огромная коробка Лего и так далее. И таких событий – тысячи.

У меня просьба. Давайте накидаем важные и интересные вещи, которые можно и нужно сделать с ребёнком до примерно 10 лет. Наверняка ведь у вас есть такие «чекпоинты», которые запомнились.
Читать дальше →
Total votes 160: ↑154 and ↓6+148
Comments552

Десятка лучших консольных команд

Reading time2 min
Views198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше
Total votes 382: ↑346 and ↓36+310
Comments215

Распределенный музыкальный плейер на Raspberry Pi

Reading time7 min
Views97K

Давно собирался написать этот пост, но прогресс шел медленно. К ускорению темпа подтолкнул этот вопрос, где я имел неосторожность обмолвиться, что пишу такой пост, в результате чего он вызвал живой интерес, поэтому мне ничего не оставалось делать, как выполнять данное обещание, за что выражаю отдельную благодарность автору вопроса M03G, с чьей подачи и был получен мной этот ускоряющий пендель. А так как пост, похоже, увидит свет в пятницу, я позволил себе довольно вольный (извините, вышел каламбур невольный) стиль изложения. Надеюсь, все останутся довольны.

(Да, пост во многом пересекается с постом Распределенный аудиоплеер на Odroid U2, но чуть проще в настройке)
Читать дальше →
Total votes 108: ↑105 and ↓3+102
Comments52

Управляем любой AV-техникой с телефона. ИК-приёмопередатчик для Raspberry

Reading time4 min
Views62K

Потихоньку делаю свой дом немножко умнее. Сначала сделал управление светом с телефона с помощью платы расширения RaZBerry (Z-Wave) для Raspberry, затем увлекся программирование AVR микроконтроллеров и собрал небольшую метеостанцию, показывающую температуру на LED дисплее. Теперь очередь дошла до управления TV с помощью iPhone.
В качестве медиаплеера использую Raspberry с дистрибутивом Xbian, поэтому сразу же понял как буду управлять телевизором. Raspberry стоит на полочке под телевизором в прямой видимости. На один из выводов GPIO нужно установить ИК LED от пульта и подавать на него сигналы, которые понимает мой телевизор. В реализации затея оказалась не сложной!
Далее речь пойдет о том, как спаять плату ИК приемо-передатчика для Raspberry и как настроить софт, чтобы с телефона переключать каналы, регулировать громкость, включать и выключать телевизор.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments16

Всё, что вы хотели знать о динамическом программировании, но боялись спросить

Reading time12 min
Views241K
Я был крайне удивлён, найдя мало статей про динамическое программирование (далее просто динамика) на хабре. Мне всегда казалось, что эта парадигма довольно сильно распространена, в том числе и за пределами олимпиад по программированию. Поэтому я постараюсь закрыть этот пробел своей статьёй.

# Весь код в статье написан на языке Python

Основы


Пожалуй, лучшее описание динамики в одно предложение, которое я когда либо слышал:

Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Читать дальше →
Total votes 110: ↑100 and ↓10+90
Comments33

Плагин для webstorm и авто-дополнение

Reading time10 min
Views17K
Хотелось бы поделиться простым способом добавить недостающее авто-дополнение в IDE семейства IDEA. В нашем случае к WebStorm или PhpStrom.

У нас на проекте на фронте используется библиотека require.js. И при работе с ней нужно указывать пути к тем или иным файлам что бы добавить их в зависимости. К сожалению пути к этим файлам приходиться писать руками или копировать по частям.
И я подумал что это нужно бы исправить, и добавить авто дополнение пути до файлов.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments6

Разработка плагина IntelliJ IDEA. Часть 6

Reading time10 min
Views9.8K
В этой части: рефакторинги, форматирование, настройки и другие полезные функции. Предыдущая часть.

Рефакторинг «Переименование»


Операция переименования в IntelliJ IDEA похожа на «Find Usages», IDEA использует те же правила для поиска элементов для переименования и тот же индекс слов для нахождения файлов, в которых могут быть ссылки на элемент, который будет переименован.

Когда выполняется этот рефакторинг, на целевом элементе вызывается метод PsiNamedElement.setName(), а для всех ссылок на него – метод PsiReference.handleElementRename(). Оба метода выполняют одно основное действие – замену нижележащего AST-узла, новым, содержащим введенный пользователем текст. Создание полностью корректного AST бывает довольно сложным, но можно воспользоваться следующим методом: создать фиктивный файл пользовательского языка, содержащий необходимый узел, и затем скопировать его.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments0

Information

Rating
Does not participate
Location
Швейцария
Registered
Activity