Pull to refresh
-1
0
Send message

Retrofit на Android с Kotlin

Reading time6 min
Views58K

image


Одним из самых захватывающих объявлений на Google I/O в этом году стала официальная поддержка Kotlin для разработки под Android.


Котлин на самом деле не новый язык, ему уже >5 лет и он довольно зрелый. Здесь вы можете получить более подробную информацию о языке


Я планирую поделиться некоторыми «практиками» использования Kotlin в разработке Android.

Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments3

Тюнинг сетевого стека Linux для ленивых (v2.5.0)

Reading time2 min
Views18K

Представлен выпуск проекта netutils-linux 2.5.0, набора утилит для мониторинга и тюнинга производительности сетевого стека Linux. Всё написано на Python (поддерживаются python 2.6+ и 3.4+) и доступно под MIT-лицензией.


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


Рекомендации для использования — наличие канала с 200+ Мбит/с, обрабатываемого Linux-based машиной, и требований к минимизации задержек и потерь.


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

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

Wi-Fi is over: вычисляем нарушителей беспроводного эфира

Reading time4 min
Views48K

 
Для выявления атак и аномалий беспроводного эфира можно использовать высокотехнологичные решения (как правило дорогие), которые позволяют контролировать беспроводные сети и выявлять попытки атак. В этой статье я расскажу о двух бесплатных утилитах, которые позволят вам контролировать беспроводной эфир и оперативно реагировать на вторжения злоумышленников.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments14

Выжимаем все соки из Chromium на Linux

Reading time7 min
Views131K
В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

Поехали!
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments30

Выключаем Intel ME 11, используя недокументированный режим

Reading time11 min
Views80K


В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. О том, как мы нашли этот недокументированный режим, и о его связи с государственной программой построения доверительной платформы High Assurance Platform (HAP) мы расскажем в этой статье.

Авторы предупреждают, что использование данных знаний на практике может повлечь за собой повреждение вычислительной техники, и не несут за это никакой ответственности, а также не гарантируют работоспособность или неработоспособность чего-либо и не рекомендуют экспериментировать без наличия SPI-программатора.
Читать дальше →
Total votes 84: ↑83 and ↓1+82
Comments90

LibGDX + Scene2d (программируем на Kotlin). Часть 0

Reading time9 min
Views18K
И снова всем привет! Спешу поделиться, у меня были отличные выходные! Полтора дня я обдумывал вариант подачи материала, пилил макет и вообще всячески старался сделать хорошо. Что такое хорошо в контексте обучающего материала? На мой взгляд это «интересность», краткость, корректность и наглядность. Для меня лично написать такую статью — это подвиг. А вот серию статей — просто емкая и ответственная задача. Изучать Scene2d мы будем в процессе написания игры с нуля! Процесс нашего творчества растянется на долгие десять-двенадцать дней. Мне хочется верить что периодичность материалов будет примерно раз в день. Для меня лично это очень амбициозная задача, ведь требуется не столько запрограммировать, но и описать в статьях с детальным разбором. Я не сторонник бросаться в бушующий океан, в надежде научиться плавать. Мы прыгнем у лужу и будем последовательно ее углублять и расширять. Итак начинаем.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments9

Сравнение решений по балансировке высоконагруженных систем

Reading time10 min
Views25K
И вновь мы публикуем расшифровки выступлений с конференции HighLoad++, которая прошла в подмосковном Сколково 7—8 ноября 2016 года. Сегодня Евгений Пивень знакомит нас с решениями балансировки в облаках.



Меня зовут Женя, я работаю в компании IPONWEB. Сегодня мы поговорим про развитие наших решений в балансировке высоконагруженных систем.

Сначала я пробегусь по понятиям, которыми буду оперировать. Начнём с того чем мы занимается: RTB, Real Time Bidding — показ рекламы с аукционом в реальном времени. Очень упрощенная схема того, что происходит, когда вы заходите на сайт:
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments9

Создаём постоянное хранилище с provisioning в Kubernetes на базе Ceph

Reading time4 min
Views24K

Предисловие переводчика: Когда мы собрались наконец-то подготовить свой материал по разворачиванию Ceph в Kubernetes, нашли уже готовую и, что немаловажно, свежую (от апреля 2017 года) инструкцию от компании Cron (из Боснии и Герцеговины) на английском языке. Убедившись в её простоте и практичности, решили поделиться с другими системными администраторами и DevOps-инженерами в формате «как есть», лишь добавив в листинги один небольшой недостающий фрагмент.

Программно-определяемые хранилища данных набирают популярность последние несколько лет, особенно с масштабным распространением частных облачных инфраструктур. Такие хранилища являются критической частью Docker-контейнеров, а самое популярное из них — Ceph. Если хранилище Ceph уже используется у вас, то благодаря его полной поддержке в Kubernetes легко настроить динамическое создание томов для хранения (volume provisioning) по запросу пользователей. Автоматизация их создания реализуется использованием Kubernetes StorageClasses. В этой инструкции показано, как в кластере Kubernetes реализуется хранилище Ceph.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments8

Запускаем GSM-сеть у себя дома

Reading time12 min
Views138K


В данной статье я хотел бы подробно описать, как мне удалось запустить собственную GSM сеть при помощи Osmocom и скромных вложениях в оборудование.

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

В результате мы запустим экспериментальную 2G сотовую сеть в пределах комнаты с поддержкой СМС и голосовых вызовов, без GPRS. Ее можно будет использовать для изучения работы и взаимодействия устройств и компонентов GSM сети, не вмешиваясь в коммерческие сотовые сети.
Читать дальше →
Total votes 119: ↑119 and ↓0+119
Comments185

Обзор анимации с codepen для страниц загрузки сайта

Reading time14 min
Views26K
Обзор анимации с codepen для страниц загрузки сайта

Программисты проверяют идеи для сайтов на площадках: codepen, jsbin, jsfiddle, cssdesk. Потому что там они мгновенно видят результат написанного кода и могут показать его другим.


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


Я решил делать подборки полезных решений с codepen. Первую уже выпускал на хабре «Обзор многоуровневых меню». Теперь вторая — «Обзор анимации для страниц загрузки сайта».


Подборку разделил на 3 статьи.


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

CoreDNS — DNS-сервер для мира cloud native и Service Discovery для Kubernetes

Reading time9 min
Views29K


Две недели назад Open Source-проект CoreDNS отметился своим очередным релизом — 008. Авторы называют свой продукт «DNS-сервером, состоящим из цепочки промежуточных компонентов (middleware), каждый из которых реализует какую-то возможность DNS». Что примечательно, они уже успели добиться включения CoreDNS в список официальных проектов организации CNCF (Cloud Native Computing Foundation), пополнив ряды Kubernetes, Prometheus, CNI, containerd, rkt и других разработок, активно применяемых в мире контейнеров, микросервисов и «родных облачных приложений» (cloud native).

Как появился CoreDNS, для чего он предназначен и как его можно использовать?
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments0

Тюнинг сетевого стека Linux для ленивых

Reading time5 min
Views91K

Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

Читать дальше →
Total votes 94: ↑94 and ↓0+94
Comments45

Как создать свою метроидванию

Reading time16 min
Views27K


Метроидвания: стиль игры (2D или 3D), в котором часто присутствует исследование и где управляемый игроком персонаж получает новые способности, позволяющие ему продвигаться дальше. Такие игры часто являются экшн-адвенчурами с пересечением маршрутов движения. В них используется система «роста», открывающая важные апгрейды, необходимые для прохождения игры. Название «метроидвания» произошло от смешения слов Metroid и Castlevania, однако существуют и другие игры, в которых используется та же фундаментальная философия дизайна. К этим играм можно отнести все игры франшизы Zelda, Shadow Complex и Cave Story. На самом деле нет значительной разницы в структуре игрового процесса между играми Zelda, Metroid или Castlevania: Symphony of the Night.

Эта статья предназначена для создателей игр, желающих взяться за трудную задачу написания игры в жанре «метроидвания». Если вы никогда раньше не делали игр, и ищете советов о том, как начать создавать игры, рекомендую познакомиться с такими инструментами, как Unity, Unreal Engine, Construct 2 или любыми другими инструментами игростроительства. Вам сначала стоит научиться делать игры, потому что я не буду учить их созданию с нуля.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments5

Летайте самолетами UNIGINE: новый авиатренажер для МАКС-2017

Reading time4 min
Views10K
Сразу о главном: в этом году мы впервые едем на МАКС-2017 как участники и покажем еще один авиатренажер на платформе UNIGINE 2 Sim. Будем там все дни с 18 по 23 июля с командой разработчиков, некоторых вы уже знаете по истории про бенчмарк Superposition. Так что если вы хотели поговорить с этими парнями из UNIGINE — вот вам повод. А заодно научитесь летать на самолете-амфибии Бе-200 и тушить горящую тайгу как пилоты МЧС. Так что две причины прийти на наш стенд у вас уже есть!



Подробности, хайрезы из нового проекта и секретные фотографии, как водится, под катом.
Total votes 35: ↑34 and ↓1+33
Comments40

Selenium: проще пареной репы…

Reading time3 min
Views26K

Как вы уже могли заметить мы в команде Aerokube продолжаем упрощать жизнь в инфраструктуре тестирования. Сейчас мы усиленно работаем над удобными инструментами для, браузерного тестирования на основе Selenium. Одним из инструментов, о котором я уже рассказывал раньше, является Selenoid. Selenoid — это легковесный сервер, запускающий изолированные браузеры в Docker контейнерах. В предыдущих статьях (раз, два) я описал два возможных сценария использования Selenoid — работа с Docker и использование исполняемых файлов веб-драйверов в операционных системах, где отсутствует поддержка Docker. Сегодня я расскажу о новых возможностях, которые могут помочь в отладке браузерных тестов.


Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments0

Как мы упоролись и откалибровали кофе-машину на спектрофотометре

Reading time7 min
Views62K


Однажды, посреди рабочего дня мы внезапно осознали, что мы больше не можем так жить. Душа требовала совершить что-то бессмысленное и беспощадное во имя науки. И мы решили откалибровать кофе-машину. Нормальные люди тыкают в дефолтную кнопку и пьют все, что вытечет из кофеварки. Чуть более продвинутые для этого открывают инструкцию и тщательно ей следуют. Может быть еще читают рекомендации обжарщика, если конечно это не прогорклые noname зерна, которые пару лет лежали на безымянном складе. Нас к нормальным можно отнести с большой натяжкой, поэтому мы решили идти своим путем. Короче говоря, под легкой кофеиновой интоксикацией от седьмой чашки эспрессо мы решили задействовать весь возможный арсенал лаборатории, чтобы получить эталонный напиток.

Добро пожаловать в мир безумия, ультрацентрифуг, спектрофотометрии кофе в специальных планшетах и небольшого количества python, pandas и seaborn, чтобы визуализировать все это безобразие.
Total votes 182: ↑180 and ↓2+178
Comments132

Принт-сервер на RaspberryPI 1

Reading time4 min
Views47K

image


Долго меня мучала идея из старенького RPI сделать принт-сервер (удаленная печать и сканирование) и наконец я до этого добрался.


Исходим из того, что у нас есть набор из RPI, флешки с Raspbian, Wi-Fi адаптера, принтера HP LaserJet Pro 1102, МФУ HP Deskjet F2180 и usb-хаба. Основная машина (ББ), которая будет использовать принт-сервер живет на Linux (впрочем, отличия в использовании для Windows будут минимальны).

Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments17

Облако.Mail.Ru + EncFS без локального хранения файлов

Reading time5 min
Views20K

image


Синопсис


Не секрет, что у многих из нас остался 1 Тб свободного места на MRU-Облаке со времён его бета-теста. Объём приличный по нынешним меркам — но что с ним делать? Фотографии и своё видео туда просто так заливать не очень хочется — взломы аккаунтов случаются нередко, да и в любом случае — облако это облако, и нельзя сбрасывать со счетов тот простой факт, что любое облачное хранилище принадлежит коммерческой компании, в интересах которой использовать его для собственной выгоды. А значит, нужен дополнительный слой защиты, например, EncFS. Полистаем хабр и гитхаб, вроде бы имеется решение о шифровании данных в своём облаке. Но есть неочевидное, но весьма важное неудобство, о котором в исходной статье не упоминается — для того, чтобы синхронизироваться, нужно локально хранить 600Гб шифрованных фотографий. Для скромных локальных хранилищ, в которых и нешифрованные 600Гб фотографий едва умещаются, это слишком много.

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments57

Открываем доступ к видеозаписям HighLoad++ за последние пять лет

Reading time1 min
Views28K
image

Мы выложили в открытый доступ видеозаписи последних пяти лет конференции разработчиков высоконагруженных систем HighLoad++. Смотрите, изучайте, делитесь и подписывайтесь на канал YouTube.

Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)

Перейти в канал YouTube!

Читать дальше →
Total votes 115: ↑110 and ↓5+105
Comments19

Быстрый роуминг (802.11r) в WiFi сети на базе Lede (aka OpenWRT)

Reading time3 min
Views53K
Всем привет. Решил я закрепить полученный результат написав статью. А результат этот — это объединение нескольких WiFi точек доступа в сеть в одну неразрывную сеть, ещё её называют бесшовную. Смысл сего действия состоял в том, что моя «локальная» домашняя сеть разрослась до нескольких WiFi точек по причине её (сети) большой площади и невозможности достичь надлежащего качества всего одной точкой.

image
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments46
1
23 ...

Information

Rating
Does not participate
Registered
Activity