Как стать автором
Обновить
0
0
Иван Волков @oOLokiOo

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

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

Pixi.js — 2D движок с прозрачной поддержкой WebGL

Время на прочтение1 мин
Количество просмотров81K
Pixi.js позволяет использовать мощь WebGL для рендеринга 2D-сцен, совершенно не вникая в подробности реализации, более того, он умеет самостоятельно определять наличие поддержки WebGL и переключаться между способами рендеринга. В отсутствие WebGL рендеринг осуществляется средствами canvas. Кроме того в Pixi.js реализован граф сцены, поддержка текстур и спрайтов, чуть больше недели назад в нём появилась поддержка интерактивности — на спрайты можно повесить обработчики событий мыши и тачскрина.
Читать дальше →
Всего голосов 64: ↑61 и ↓3+58
Комментарии48

Что такое стек MERN, и как с ним работать?

Время на прочтение8 мин
Количество просмотров47K
Привет, Хабр!

Давным-давно мы выпускали пилотный проект о стеке MEAN (Mongo, Express, Angular, Node), который нас в целом не разочаровал, однако, допечаток и обновлений мы в свое время решили не делать — в отличие от издательства Manning, которое эту книгу обновило. Тем не менее, мы продолжаем поиски в данном направлении и сегодня хотели бы поговорить с вами о родственном стеке MERN, где на клиенте располагается не Angular, а React. Слово предоставляется Тиму Смиту.


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

Почему Discord переходит с Go на Rust

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


Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemented Functions).

Недавно мы резко улучшили производительность одной службы, переписав её с Go на Rust. В этой статье объясним, почему для нас имело смысл переписать службу, как мы это сделали и насколько повысилась производительность.
Читать дальше →
Всего голосов 131: ↑127 и ↓4+166
Комментарии307

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Время на прочтение5 мин
Количество просмотров171K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Всего голосов 244: ↑243 и ↓1+307
Комментарии486

Ubuntu 18.04 LTS: что нового?

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

Вчера, 26 апреля 2018 года, состоялся релиз очередной версии Ubuntu — 18.04 Bionic Beaver. Её кодовое название можно перевести на русский как “очень сильный бобёр” (да, у слова bionic есть и такое значение). Основатель Canonical Марк Шаттлворт объясняет выбор названия так:
Мы таким образом приветствуем созидателей — тех, кто создаёт приложения и пакеты, кто создаёт Ubuntu, кто создаёт что-то на базе Ubuntu. Отдавая должное их неустанному труду, мы выбрали в качестве маскота зверя, известного своим энергичным настроем, трудолюбивой натурой и инженерной смекалкой.

Ubuntu 18.04 относится к LTS (Long Term Support)-версиям. Они выходят каждые два года (предыдущей LTS-версией была 16.04) и поддерживаются в течение пяти лет с момента релиза.

Сегодня, в день официального релиза, самое время поговорить о реализованных в новой версии Ubuntu нововведениях. А наши пользователи уже сегодня могут попробовать всё на практике: образ Ubuntu 18.04 уже доступен для использования во всех наших сервисах: в Виртуальном приватном облаке, VDS Selectel и в выделенных серверах.
Читать дальше →
Всего голосов 75: ↑69 и ↓6+63
Комментарии171

Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов

Время на прочтение27 мин
Количество просмотров39K
Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что он, как независимый консультант по Node.js, каждый год анализирует более 10 проектов. Его клиенты, что вполне оправданно, просят его обратить особое внимание на тестирование. Несколько месяцев назад он начал делать заметки, касающиеся ценных приёмов тестирования и встречающихся ему ошибок. В результате получился материал, содержащий три десятка рекомендаций по тестированию.

image

В частности, речь здесь пойдёт о выборе подходящих в конкретной ситуации типов тестов, об их правильном оформлении, об оценке их эффективности, и о том, где именно в CI/CD-цепочках нужно их размещать. Некоторые из приведённых здесь примеров проиллюстрированы с использованием Jest, некоторые — с использованием Mocha. Этот материал, в основном ориентирован не на инструменты, а на методологии тестирования.

Тестирование Node.js-проектов. Часть 2. Оценка эффективности тестов, непрерывная интеграция и анализ качества кода
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

Тестирование RESTful API на NodeJS с Mocha и Chai

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


Перевод руководства Samuele Zaza. Текст оригинальной статьи можно найти здесь.


Я до сих пор помню восторг от возможности наконец-то писать бекэнд большого проекта на node и я уверен, что многие разделяют мои чувства.


А что дальше? Мы должны быть уверены, что наше приложение ведет себя так, как мы того ожидаем. Один из самых распространенных способов достичь этого — тесты. Тестирование — это безумно полезная вещь, когда мы добавляем новую фичу в приложение: наличие уже установленного и настроенного тестового окружения, которое может быть запущено одной командой, помогает понять, в каком месте новая фига породит новые баги.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии19

Что такое Virtual DOM?

Время на прочтение4 мин
Количество просмотров135K
За последний год я много слышал о Virtual DOM и React JS.
React работает действительно быстро и очень прост, но как он работает? Что такое Virtual DOM? Почему я должен беспокоиться об этом, и что случилось со старым добрым обычным DOM?

Что такое DOM


Перед тем, как мы начнем вникать в то, что из себя представляет DOM виртуальный, давайте немного поговорим о том, чем является DOM реальный.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии18

Насколько важен порядок свойств в объектах JavaScript?

Время на прочтение4 мин
Количество просмотров17K
В случае JavaScript-движка V8 — очень даже. В этой статье я привожу результаты своего маленького исследования эффективности одной из внутренних оптимизаций V8.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+33
Комментарии17

Wireshark 3.0.0: обзор нововведений

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

Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap.

Wireshark — самый популярный в мире анализатор сетевых протоколов. Он используется для устранения неполадок, анализа, развития и обучения.
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии33

Nmap. Начало использования

Время на прочтение5 мин
Количество просмотров409K
image
Вы когда-нибудь интересовались откуда атакующий знает какие порты открыты в системе? Или как узнать, какие приложения запущены на сервере, не спрашивая об этом администратора? Вы можете сделать все это и даже больше вместе с небольшим инструментом под названием Nmap.

Читать дальше →
Всего голосов 144: ↑103 и ↓41+62
Комментарии71

Что такое UEFI, и чем он отличается от BIOS?

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

Новые компьютеры используют прошивку UEFI вместо традиционного BIOS. Обе эти программы – примеры ПО низкого уровня, запускающегося при старте компьютера перед тем, как загрузится операционная система. UEFI – более новое решение, он поддерживает жёсткие диски большего объёма, быстрее грузится, более безопасен – и, что очень удобно, обладает графическим интерфейсом и поддерживает мышь.

Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии145

XKB: перенастроим клавиши под себя любимого

Время на прочтение8 мин
Количество просмотров97K
В один прекрасный день надоедает нажимать Shift, чтобы вывелся символ ~ вместо `.
Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.



Сегодня мы узнаем, как навсегда избавиться от этих мучений.

Зачем это всё?


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

Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.

В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
Читать дальше →
Всего голосов 64: ↑53 и ↓11+42
Комментарии97

Ремаппим клавиатуру и мышь

Время на прочтение3 мин
Количество просмотров228K
Взгляните на свою клавиатуру. Внимательно изучите взглядом каждую клавишу. Изучили? А теперь ответьте на простой вопрос: есть ли на вашей клавиатуре клавиши, которыми вы вообще не пользуетесь? Готов поспорить, что ответ положительный. А почему бы не сделать эти бессмысленные клавиши удобными шорткатами? Именно об этом я расскажу под катом.
Читать дальше →
Всего голосов 113: ↑100 и ↓13+87
Комментарии164

Favicon сегодня: форматы, поддержка, автоматизация

Время на прочтение10 мин
Количество просмотров130K
На сегодняшний день favicon — это не просто значок 16x16 во вкладке браузера. Он является важной составляющей интерфейса, а также играет немаловажную роль в прогрессивных веб-приложениях. Существует немало способов подключения и использования favicon, о которых я расскажу в данной статье.



Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии24

Как восьмилетний MacBook стал «снова великим» с апгрейдом SSD, и немного о проблемах стареющих ноутбуков Apple

Время на прочтение6 мин
Количество просмотров34K
Привет, %username%! Тебя ведь тоже возмущает необходимость отправлять проверенный временем MacBook в утиль только потому, что «в этом сезоне модно носить модели с переходниками»? Из подозрений, что старый конь борозды не испортит, да и просто в силу финансового кризиса мы узнали о старческих болячках восьмилетнего MacBook и оценили, насколько быстрее стала «прошка» после апгрейда накопителя.


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

Vue.js: Хуки жизненного цикла ваших и сторонних компонентов

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

Lifecycle hooks (Хуки жизненного цикла) — это очень важная часть любого компонента. Нам, нашему приложению, часто нужно знать что происходит с компонентом, когда он создан, смонтирован, обновлен или уничтожен.

В компоненте мы можем отлавливать эти события используя соответствующие методы, например:

  • created — экземпляр компонента создан
  • mounted — экземпляр компонента cмонтирован
  • updated — виртуальный DOM был обновлён из-за изменения данных
  • destroyed — экземпляр компонента уничтожен
  • и т.д. Документация

В коде нашего компонента это будет выглядеть так:
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии8

9 полезных трюков HTML

Время на прочтение4 мин
Количество просмотров25K
Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus.

У HTML есть много практических секретов, которые могут вам пригодиться.

Нативка от автора
Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах.

Я использую Endtest для создания автоматизированных тестов и выполнения их в кросс-браузерном облаке.


Netflix использует ту же платформу для тестирования своих веб-приложений.

Умение обращаться с Endtest даже входит в список необходимых навыков для некоторых их рабочих вакансий.

У Endtest есть несколько действительно полезных функций, таких как:

• Кросс-браузерная сетка, работающая на компьютерах с Windows и MacOS
• Редактор без кода для автоматических тестов
• Поддержка веб-приложений
• Поддержка как собственных, так и гибридных приложений для Android и iOS
• Неограниченное количество видеозаписей для выполнения ваших тестов
• Сравнение
скриншотов
• Геолокация
• Оператор if
• Циклы
• Загрузка файлов в ваши тесты
• API Endtest, для легкой интеграции с вашей системой CI / CD
• Расширенные утверждения
• Мобильные тесты на мобильных устройствах
• Тестирование электронной почты с помощью Endtest Mailbox

Вы можете просмотреть документы.


Ниже приведены 9 чрезвычайно полезных трюков HTML.
Всего голосов 25: ↑16 и ↓9+13
Комментарии14

Как отслеживают людей по «анонимизированным» датасетам

Время на прочтение7 мин
Количество просмотров59K
Утечка данных по всем машинам «Ситимобила» позволяет отслеживать конкретный автомобиль по его координатам. Мы не знаем фамилии водителя или номера, но видим его перемещения. Можете посмотреть в окно — и проверить, откуда приехало конкретное такси и куда оно повезёт следующего пассажира. Представитель компании не считает это проблемой.

На иллюстрации слева — маршрут таксиста, которого отследили по открытым анонимизированным данным. Krupnikas, статья «Как я нашел способ отследить всех водителей ”Ситимобил”»

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

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

Это не спецслужбы, не корпорации, а обычные компании с обычными клиентами. Не за горами то время, когда вы тоже за скромную сумму в районе $20 сможете заказать полное информационное досье на своего соседа (и наоборот). Давайте посмотрим, какая информация есть у этих фирм.
Всего голосов 73: ↑69 и ↓4+90
Комментарии157

Странные глобальные переменные в VK.com, зачем?

Время на прочтение2 мин
Количество просмотров76K
Привет, Хабр!

Долго не мог решить, как это оформить – как вопрос в QA или как пост, в итоге, 4-ый пункт правил оформления вопроса меня насторожил — «содержит в себе действительно вопрос, но не повод для дискуссии.», и я решил это сделать постом.

До сегодняшнего вечера, я считал, что немного разбираюсь в JavaScript, и даже знаю какие-то фишки клиентской оптимизации:
— к примеру, минимизировать и обфусцировать скрипты, склеить их в один файл и позволить закэшировать его браузеру;
— так же я свято верю в то, что нельзя засорять window большим количеством глобальных объектов, это так же может сказаться на производительности и «качестве» (собственно об этом и пойдёт речь)

Не помню, что именно меня натолкнуло на мысль открыть консоль в chrome development tools, находясь на vk.com (куда я к слову очень редко захожу), но назад дороги уже нет…

Сначала я удивился отсутствию jquery. Символ доллара, конечно занят, но совсем не под jQuery, а вот под такую штуку:

function () { var curArgs = Array.prototype.slice.call(arguments); return func.apply(obj, args.concat(curArgs)); }


Попытка достучаться через jQuery тоже ни к чему не привела. Ну ладно, подумал я, они, наверное, как yahoo, написали свой мега крутой framework с блэк-джеком и без jquery. Но я решил убедиться, что в объекте window нет какого-нибудь странного свойства, в которое затисался jQuery (ну может он скрывался бы в window.jqry).

Я написал в консоль window, нажал enter, развернул «дерево», чтобы увидеть список свойств объекта и…
Читать дальше →
Всего голосов 180: ↑134 и ↓46+88
Комментарии218

Информация

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