Как стать автором
Обновить
Владислав @xakepmega read-only

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

Кротовые норы в JavaScript

JavaScript *
Из песочницы

Привет, Хабр! Представляю вашему вниманию перевод статьи "Wormholes in JavaScript" автора Mathius Buus.



Компьютеры — интересные машины. В теории они представляются нам идеальными механическими математиками работающими с цифрами и хорошо выполняющими операции сложения, умножения и вычитания.


Однако, такая абстракция довольно обманчива. Она уводит нас от понимания того, что компьютер обрабатывает разные математические операции с разной скоростью. Если вы пишете на JavaScript (или на любом другом языке) и заботитесь о производительности написанных вами алгоритмов, очень важно понимать как работают компьютеры под капотом.


Если мы знаем на что способен компьютер, мы можем использовать кратчайшие пути или кротовые норы, чтобы сделать наши программы намного быстрее, чем мы ожидали.

Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Просмотры 22K
Комментарии 29

Шина PCIe: только ли физические ограничения влияют на скорость передачи?

IT-инфраструктура *Компьютерное железо
Начну издалека. Прошлой зимой довелось мне делать USB-устройство с ядром, размещаемым в ПЛИС. Само собой, очень мне хотелось проверить реальную пропускную способность этой шины. Ведь в контроллере — там слишком много всего наверчено. Всегда можно сказать, что вот тут внесена задержка, или вон там. В случае же с ПЛИС — я вижу блок, прокачивающий данные, вот он сказал мне, что в нём данные есть. А вот я выставил, что всё обработано, и я готов принимать новую порцию (при этом, он уже принимает данные во второй буфер этой же конечной точки). Отлично, ставим готовность с первого же такта и смотрим, что получается, когда USB может «молотить» без остановки.


Читать дальше →
Всего голосов 87: ↑86 и ↓1 +85
Просмотры 47K
Комментарии 82

История создания Chatto

Блог компании Badoo Разработка веб-сайтов *Разработка мобильных приложений *
Наш чат устарел: за несколько лет эволюции он превратился в громоздкий View Controller со странными исправлениями, в которых никто не мог разобраться. Стало трудно добавлять новые типы сообщений, зато с легкостью появлялись новые баги. Поэтому мы решили переписать чат на Swift с чистого листа и выложить его в open source.
Мы начали работу над проектом, поставив перед собой две цели:
  • масштабируемая архитектура: нам нужна была возможность легко добавлять новые типы сообщений без ущерба для написанного ранее кода;
  • хорошая производительность: мы хотели обеспечить плавную загрузку и прокрутку сообщений.

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


Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 16K
Комментарии 10

Социальный логин: cильные стороны

Разработка веб-сайтов *API *Facebook API *Google API *ВКонтакте API *
Туториал


Cоциальный логин (логин с использованием аккаунта Google+, Facebook и т.п.) все чаще встречается в мобильных и веб-приложениях. Не удивительно, это удобно. Пользователю не приходится возиться с логином и паролем. Не нужно ничего запоминать, затем вспоминать или восстанавливать. Не приходится разгадывать капчу. На мобильных устройствах ввод пароля крайне не желателен и формирует негативный опыт у пользователя. Владелец приложения получает свои плюсы: простая регистрация — большее количество пользователей, довольные пользователи — выше показатели конверсии. Наличие профиля пользователя уже на этапе регистрации, и как правило, много более достоверного и полного нежели формы запрашиваемые приложением.

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

Решают ли библиотеки все задачи?
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 15K
Комментарии 6

Как быстро раздать wifi с ноутбука — 3 простых команды

Блог компании iCover.ru Сетевое оборудование DIY или Сделай сам Лайфхаки для гиков IT-компании
Туториал
Recovery mode
Периодически я сталкиваюсь с ситуациями, когда необходимо быстро настроить раздачу интернета через WiFi со своего ноутбука и под рукой нет специальной программы. Вот и сейчас мой роутер приказал долго жить и оставил дом без интернета. А не так давно телефон друга отказался подключаться к моему роутеру и мы быстро организовали дополнительный wifi-сигнал с моего ноута, что спасло ситуацию.

И помогают мне в этом 3 команды:
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork mode=allow ssid=FastWifi key=12345678 keyUsage=persistent
netsh wlan start hostednetwork

Под катом я детально расскажу как и что нужно делать и покажу на примере настройки Windows 7.

Читать дальше →
Всего голосов 66: ↑39 и ↓27 +12
Просмотры 711K
Комментарии 21

Бесплатные SSL-сертификаты — теперь на 3 года от WoSign

Информационная безопасность *Криптография *


Вчера обнаружил, что WoSign дает бесплатно сертификат, теперь уже на 3 года.
Читать дальше →
Всего голосов 60: ↑54 и ↓6 +48
Просмотры 185K
Комментарии 80

Полная кастомизация select без использования JS

CSS *Кодобред HTML *
imageСколько я не мучил поисковик, а решения этого вопроса так и не нашлось. Конечно, всегда можно использовать JS и это нормально, но иногда заказчик душа просит изысков.
Читать дальше →
Всего голосов 47: ↑40 и ↓7 +33
Просмотры 83K
Комментарии 90

Одиннадцатиклассница, или тестируем баги вёрстки

Блог компании 2ГИС Разработка веб-сайтов *HTML *Тестирование веб-сервисов *


В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
Получить плюс пять к качеству
Всего голосов 76: ↑66 и ↓10 +56
Просмотры 81K
Комментарии 88

Проектирование RESTful API с помощью Python и Flask

Python *API *Flask *
Туториал
Перевод
В последние годы REST (REpresentational State Transfer) стала стандартной архитектурой при дизайне веб-сервисов и веб-API.

В этой статье я покажу вам как просто создавать RESTful веб-сервисы используя Python и микрофреймворк Flask.

Что такое REST?


Характеристика системы REST определяется шестью правилами дизайна:

  • Клиент-Сервер: Должно быть разделение между сервером, который предлагает сервис и клиентом, который использует ее.
  • Stateless: Каждый запрос от клиента должен содержать всю информацию, необходимую серверу для выполнения запроса. Другими словами, сервер не обязан сохранять информацию о состоянии клиента.
  • Кэширование: В каждом запросе клиента должно явно содержаться указание о возможности кэширования ответа и получения ответа из существующего кэша.
  • Уровневая система: Клиент может взаимодействовать не напрямую с сервером, а с произвольным количеством промежуточных узлов. При этом клиент может не знать о существовании промежуточных узлов, за исключением случаев передачи конфиденциальной информации.
  • Унификация: Унифицированный программный интерфейс сервера.
  • Код по запросу: Сервера могут поставлять исполняемый код или скрипты для выполнения их на стороне клиентов.

Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Просмотры 241K
Комментарии 32

Система Личной Эффективности «Важное событие дня»

Лайфхаки для гиков Мозг
Приветствую сообщество. Я хотел бы рассказать про систему личной эффективности «важное событие дня».
Про эту систему я узнал на одном из бизнес тренингов. Оригинала техники не знаю (не смог найти), поэтому описываю так, как услышал и использую сам.

Сразу перейду к сути.

Описание


Каждый день необходимо записывать самое важное событие, которое произошло с тобой в течение дня. Событие может быть из любой сферы жизни. Например: прибрался в комнате, закрыл проект Х, секс, посмотрел фильм, и т.д.

Далее, когда подходит к концу неделя, необходимо выбрать «самое важное событие недели» из дней, которые были в течение недели. Лучше не обобщать неделю, а именно выбрать из уже записанных дней.

За месяц необходимо выбрать лучшее из недель. И так далее для квартала и года.



Первое время было не просто пользоваться техникой: забывал фиксировать данные, приходилось вспоминать события аж за всю неделю. Но со временем привычка дошла до автоматизма и стало намного проще.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 11K
Комментарии 10

Максимально аутентичную реконструкцию «Звёздных войн» можно посмотреть в HD

Краудсорсинг Научная фантастика


История, расказанная в «Звёздных войнах» — это классика. Каждые несколько сотен лет её пересказывают снова, поскольку у нас есть склонность повторять сделанное. Власть развращает, и когда находишься у руля, начинаешь делать то, что считаешь правильным, хотя на самом деле это неверно.

Джордж Лукас, интервью изданию Wired

В то время как студия Disney готовится ещё раз осквернить уже трижды изнасилованный труп оригинальной трилогии «Звёздных войн» и всерьёз думает над стереоскопическим переизданием, стоит вспомнить то, как её создатель относится к своему детищу. Первые три фильма — и речь идёт не о трёх эпизодах, снятых уже значительно позже (спасибо, Лукас, за эту необходимость в пояснениях) — в переиздании на Blu-ray получили множество вопиюще ненужных изменений.

Списки в «Википедии» можно воспринимать как некую констатацию определённого факта или характеристику объекта. Так, список списков списков наглядно демонстрирует обширность и упорядоченность интернет-энциклопедии, а список наград Брежнева лучше любой статьи показывает порок покойного генсека. 60 килобайт лишь только частичного текстового описания изменений в переизданиях фильмов «Звёздных войн» прекрасно иллюстрируют количество переделок, накопившихся после 1981, 1997, 2004 и 2011 годов.

Конечно, часть изменений связана с примитивностью технологии спецэффектов эпохи оригинальной трилогии, но множество поклонников не согласятся, к примеру, с тем, что вырезанную из первого эпизода сцену с Джаббой Хаттом стоило возвращать. Сам Лукас заявляет, что оригинальные версии были лишь 25—30 процентами от того, что он намеревался сделать. Но стоит ли винить зрителей за то, что они не могут смириться с растущим от издания к изданию количеством новых непривычных изменений?

Группа преданных фанатов работает над проектом Star Wars Despecialized Edition. Это — торжество техники видеомонтажа и реставрации, выполненных непрофессионалами. Никто специально не предоставлял мастер-копии, все использованные в проекте материалы были доступны широкой публике.
Читать дальше →
Всего голосов 54: ↑49 и ↓5 +44
Просмотры 68K
Комментарии 27

ReadyScript – наш взгляд на CMS для интернет-магазинов

Блог компании ReadyScript lab. CMS *Разработка веб-сайтов *
image
Недавно рынок e-commerce CMS пополнился новым продуктом от ReadyScript lab. Система обладает рядом уникальных особенностей, о которых мы расскажем в этом посте.
Читать дальше →
Всего голосов 49: ↑37 и ↓12 +25
Просмотры 31K
Комментарии 84

Новые исследования: как ещё связано SEO и социальные сигналы?

Блог компании SeoPult Поисковые технологии *
Компания SearchMetrics, разрабатывающая аналитические программы для SEO, ежегодно исследует тысячи сайтов на первых страницах SERP по разным запросам, чтобы выявить закономерности попадания различных ресурсов в выдачи поисковых систем. А далее – определить важность тех или иных факторов при ранжировании этих площадок в Google. В 2013 году сайты, выпадающие на топовых страницах SERP, объединяют сильные социальные сигналы. Среди приблизительно 50 анализируемых факторов на первом месте по важности оказалось число +1 на Google+. Далее в списке идут: количество шеров на Facebook, количество и качество обратных ссылок (заметьте, только третье место), число друзей, лайков, комментариев на Facebook, активность на Pinterest и Twitter и т. д.

image

Читать дальше →
Всего голосов 61: ↑45 и ↓16 +29
Просмотры 34K
Комментарии 31

250 строк кода, распознающих дату на русском языке

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



Пример и код в jsFiddle.
Читать дальше →
Всего голосов 120: ↑115 и ↓5 +110
Просмотры 46K
Комментарии 77

Интерактивный глобус — SVG versus Canvas

Разработка веб-сайтов *JavaScript *Работа с векторной графикой *
Туториал
Доброго времени суток, уважаемый читатель! В прошлый раз мы изучали процесс создания интерактивной карты-хороплета, теперь предлагаю немного усложнить задачу и перейти к трёхмерной модели Земли, именуемой в народе глобусом. Глобус делать будем двух видов: SVG версия и Canvas версия. В обоих случаях будем использовать JavaScript библиотеку d3.js. У каждого варианта свои преимущества. В моём исполнении Голубая планета выглядит следующим образом:

Планета Земля

А как создать свой собственный Мир с материками и океанами можно узнать под катом.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Просмотры 49K
Комментарии 20

Создаём игру, используя canvas и спрайты

JavaScript *
Туториал
Перевод
Веб сейчас везде, и предлагает очень мощную среду для создания и распространения приложений. Вместо цикла: написание кода → компиляция → запуск, просто обновите приложение или даже напиши код «на живую» в браузере. Кроме того, это относительно безболезненно позволяет распространять своё приложение на огромном количестве платформ. Интересно, что в последние несколько лет, разработка игр, используя HTML5, стала реальностью.
Элемент canvas был введен вместе с HTML5 и предоставляет API для работы с ним. API — прост, но если Вы никогда не работали с графикой, Вам потребуется время чтобы привыкнуть. Canvas поддерживается большим количество браузеров, что делает веб — хорошей площадкой для создания игр.
Читать дальше →
Всего голосов 95: ↑91 и ↓4 +87
Просмотры 152K
Комментарии 23

Tronsmart MK908 — новое поколение мини-компьютеров на 4-х ядерном чипе Rockchip RK3188

Блог компании Box Overview
image
После мини-компьютеров с чипом RK3066 на рынок выходит новое поколение на 4-х ядерном чипе Rockchip RK3188. Чип выполнен по 28нм техпроцессу и состоит из 4-х ядерного процессора архитектуры Cortex-A9 с частотой работы до 1.8 ГГц и видеоускорителем Mali 400MP. Видеоускоритель остался прежним от RK3066, но разогнан до частоты 600МГц. Объём оперативной памяти по сравнению с прошлым поколением увеличился вдвое и составляет 2ГБ DDR3 памяти (хотя надо заметить, что на RK3066 тоже есть одно устройство с 2Гб RAM — это CX-803-II).
Сегодня мы рассмотрим одно из первых устройств на обновлённой платформе — Tronsmart MK908. А также узнаем насколько удобно пользоваться беспроводной мышью-клавиатурой iPazzport для управления системой Android.
Читать дальше →
Всего голосов 86: ↑79 и ↓7 +72
Просмотры 213K
Комментарии 72

Как сделать самую лучшую посадочную страницу: чеклист из 50 пунктов

Блог компании Alconost Интернет-маркетинг *Контекстная реклама *Повышение конверсии *Контент-маркетинг *
Перевод
Мы в Alconost предоставляем услуги создания и ведения контекстной рекламы и, по долгу службы, иногда занимаемся разработкой посадочных страниц (landing pages). Мы были очень рады найти и перевести статью, в которой автор изложил все требования, которым такая страница должна соответствовать. Но есть в этой статье и большой минус. Пунктов аж 50, каждый можно отметить в чеклисте, но после доступен лишь результат в баллах, которым можно разве что похвастаться перед друзьями.

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

Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.



Читать дальше →
Всего голосов 84: ↑68 и ↓16 +52
Просмотры 97K
Комментарии 30

19 команд ffmpeg для любых нужд

Работа с видео *Звук
Туториал
Перевод
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Всего голосов 222: ↑214 и ↓8 +206
Просмотры 536K
Комментарии 107

В интернете оказалась ранняя альфа-версия игры Half-Life 1997-го года

Разработка игр *
Jackaljayzer, с Reddit, разместил в сети превью-диск, адресованный журналистам. Диск содержит скриншоты, трейлеры и демо-билд Half-Life 1997 alpha. Получил он его от знакомых, живущих в Белвью, Вашингтон. Именно там располагается штаб-квартира Valve.
Ниже несколько скриншотов, видео и ссылки.
Читать дальше →
Всего голосов 99: ↑97 и ↓2 +95
Просмотры 90K
Комментарии 59
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность