Как стать автором
Обновить
25
0
Варакосов Александр @thelongrunsmoke

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

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

Используем SQLite в Flutter

Время на прочтение6 мин
Количество просмотров45K
Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter».



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

В этой статье я продемонстрирую как сделать это, используя SQLite, в Flutter-e
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии4

Способы применения и искажения меткости в играх. Наглядные графики для сравнения

Время на прочтение6 мин
Количество просмотров15K
Вычислять факт попадания в играх на основе полученной меткости можно по разному:

  • сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]);
  • сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел;
  • сравнивая среднее из двух и более случайных чисел (среднее тоже можно считать по разному).


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

Точно также по разному можно рассчитывать наносимый урон, особенно на основе дайсов (кубиков).

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

В статье будут представлены наглядные графики изменения реальных вероятностей в разных подходах, что позволит быстрее в них сориентироваться и принять лучшее решение.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии33
Все началось с того, что я создал аккаунт на микростоке и начал набивать его фотографиями из своего большого домашнего архива, где отсортированными от дублей и брака хранились несколько десятков тысяч снимков. Жареным запахло практически сразу — и тогда я постучался за советом к тем, кто живет микростоками уже как минимум лет десять.
Под катом — уроки, выученные новичком, и советы двух «старичков»
Всего голосов 34: ↑33 и ↓1+32
Комментарии12

Еще список проектов, на чем потренироваться

Время на прочтение3 мин
Количество просмотров27K
«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор


image

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

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии11

8 учебных проектов

Время на прочтение3 мин
Количество просмотров147K
«Мастер совершает больше ошибок, чем новичок — попыток»

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

Проект 1. Клон Trello


image


Клон Trello от Indrek Lasn .

Что вы освоите:

  • Организация маршрутов обработки запросов (Routing).
  • Drag and drop.
  • Как создавать новые объекты (доски, списки, карточки).
  • Обработка и проверка входных данных.
  • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
  • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

Тут пример репозитория, сделанного на React+Redux.
Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии18

Безопасность мобильного OAuth 2.0

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


Всем привет! Я Никита Ступин, специалист по информационной безопасности Почты Mail.Ru. Не так давно я провел исследование уязвимостей мобильного OAuth 2.0. Для создания безопасной схемы мобильного OAuth 2.0 мало реализовать стандарт в чистом виде и проверять redirect_uri. Необходимо учитывать специфику мобильных приложений и применять дополнительные механизмы защиты.

В этой статье я хочу поделиться с вами знаниями об атаках на мобильный OAuth 2.0, о методах защиты и безопасной реализации этого протокола. Все необходимые компоненты защиты, о которых я расскажу ниже, реализованы в последней версии SDK для мобильных клиентов Почты Mail.Ru.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии25

Обзор книги Database Reliability Engineering

Время на прочтение5 мин
Количество просмотров9.9K
Здравствуйте, коллеги!

У нас только что пришла из типографии долгожданная фундаментальная работа Мартина Клеппмана, именуемая в оригинале "Designing Data-Intensive Applications" (анонсировали ее мы еще в сентябре 2016 года). Книга доступна для заказа на сайте (не благодарите, мы сами ликуем)



А в конце ноября прошлого года в издательстве «O'Reilly» вышла долгожданная книга «Database Reliability Engineering», которая, на наш взгляд, отлично дополнила бы работу Клеппмана. Кстати, пока на Amazon — только восторженные отзывы



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

Маршрутизация в большом приложении на React

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


Привет, меня зовут Борис Шабанов, я — руководитель Frontend-разработки в департаменте разработки рекламных технологий Rambler Group. Сегодня я расскажу вам о том, как на нашем приложении возникли проблемы маршрутизации, и про то, как мы их решали.

Всего голосов 13: ↑13 и ↓0+13
Комментарии16

Генерация трафика в юзерспейсе

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

Генерация трафика посредством MoonGen + DPDK + Lua в представлении художника

Нейтрализация DDoS-атак в реальных условиях требует предварительных тестирования и проверки различных техник. Сетевое оборудование и ПО должно быть протестировано в искусственных условиях близких к реальным — с интенсивными потоками трафика, имитирующего атаки. Без таких экспериментов крайне затруднительно получить достоверную информацию о специфических особенностях и ограничениях, имеющихся у любого сложного инструмента.

В данном материале мы раскроем некоторые методы генерации трафика, используемые в Qrator Labs.

ПРЕДУПРЕЖДЕНИЕ

Мы настойчиво рекомендуем читателю не пытаться использовать упомянутые инструменты для атак на объекты реальной инфраструктуры. Организация DoS-атак преследуется по закону и может вести к суровому наказанию. Qrator Labs проводит все тесты в изолированном лабораторном окружении.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии3

Где мои деньги чувак: оформление и бандлы Steam, локализация и дистрибуторы

Время на прочтение27 мин
Количество просмотров19K
Это длиннющие следующие три части из цикла «где мои деньги, чувак» в которых мы будем говорить о важности оформления странице на Steam, работе с комьюнити и важности региональных ограничений. Посмотрим на дистрибьюторов и рынок 3d-party дистрибуции, альтернативных открытых платформах, бандлах, фондах и лучших практиках краудфандинга в 2018 году. Наконец, посмотрим на то, что важно для безболезненной локализации игр и сколько это стоит.

Помимо веселых гифок мы снова будем считать чужие деньги и строить грандиозные планы покорения мира.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии13

Всякие штуки в MetaPost

Время на прочтение8 мин
Количество просмотров15K
В чем рисовать векторные картинки? Для меня, как и для многих других, ответ довольно очевиден: скорее всего, в иллюстраторе. Ну или в инкскейпе. Так же я думал, когда мне заказали отрисовать штук восемьсот картинок для учебника физики. Ничего такого, просто черно-белые технические иллюстрации со всякими блоками, шарами, пружинами, линзами, машинками, тракторами и прочим подобным. Предполагалось, что верстаться книга будет в латехе, а мне были предоставлены вордовские файлы со вставленными картинками — то карандашными набросками, то сканами из других книг — и вроде бы рукопись в каком-то виде. В этом случае первая мысль — рисовать в инкскейпе — уступила фантазиям на тему «как бы это так все автоматизировать». Лучшим вариантом показался в тот момент почему-то MetaPost.



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

AliceVision: фотограмметрия из командной строки

Время на прочтение8 мин
Количество просмотров19K
Вам нужно автоматизировать огромное количество фотограмметрических сканов? Тогда у меня для вас хорошие новости.


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

Но меня интересует полная автоматизация. Если у вас есть сканирующая установка, на которой вы делаете по 100 и больше сканов в день, то необходимо полностью автоматизированное решение для пакетной обработки этих файлов. Данный пост является руководством и/или туториалом по решению этой задачи.
Всего голосов 24: ↑24 и ↓0+24
Комментарии3

Вы еще не договорили слово “привет”, а мы уже знаем, кто вы

Время на прочтение5 мин
Количество просмотров12K
Это может делать наша нейросеть, распознающая человека по одному произнесенному слогу. Однако тема этой статьи не касается напрямую идентификации по голосу, хотя и будет связана с ней. Мы расскажем о нейросетевых фичах, так называемых d-vector, которые можно использовать в задачах обработки звука: от верификации до распознавания речи и эмоций.

image

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

Делаем литературные часы на основе электронной книги

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


Моя девушка читает книги запоем. Она преподаёт и изучает английскую литературу, поэтому прочитывает в среднем по 80 книг в год.

В списке её желаемых покупок значились часы для гостиной. Я бы мог купить настенные часы в магазине, но разве это интересно? Вместо этого я сделал ей часы, сообщающие время при помощи цитат из различных литературных источников, и использующие в качестве дисплея электронную книгу – это ведь так подходяще.

Часы обновляются ежеминутно; например, в 9:23 на Kindle будет написано:
My father met me at the station, the dog jumped up to meet me, missed, and nearly fell in front of the 9.23pm Birmingham express.

[цитата из книги Сью Таунсенд «The Secret Diary & Growing Pains of Adrian Mole Aged 13¾» / прим. перев.]
Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии32

Термоленты с классом защиты IP68. Годятся для света в бане

Время на прочтение3 мин
Количество просмотров20K
Друзья, два раза Ку! Нас часто спрашивают, каким образом сделать свет в бане. Среди светодиодных светильников и ламп с нужным температурным режимом нам пока не удалось подобрать подходящий вариант. А вот ленты для этих целей существуют. Давайте посмотрим, что они из себя представляют, а также протестируем их основные световые характеристики: индекс цветопередачи — CRI, цветовая температура.


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

Играем в APK-гольф. Уменьшение размера файлов Android APK на 99,9%

Время на прочтение10 мин
Количество просмотров41K
В гольфе выигрывает тот, у кого меньше очков.

Применим этот принцип в Android. Мы собираемся поиграть в APK-гольф и создать приложение минимально возможного размера, которое можно установить на Android 8.0 Oreo.

Базовый уровень


Начнём с дефолтного приложения, который генерирует Android Studio. Создадим хранилище ключей, подпишем приложение и измерим размер файла в байтах командой stat -f%z $filename.

Затем установим APK на смартфон Nexus 5x под Oreo, чтобы убедиться, что всё работает.



Прекрасно. Наш APK весит примерно полтора мегабайта.
Читать дальше →
Всего голосов 86: ↑86 и ↓0+86
Комментарии52

Пакетная обработка фотографий в Blender

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


Всем привет!

Свободно-распространяемый 3D-редактор Blender обладает потрясающими возможностями по созданию трехмерной графики, но это далеко не все, что он умеет делать. В данном туториале я хочу показать как с помощью этой замечательной программы делать быструю и качественную пакетную обработку фотографий для последующего использования их в создании анимации вращения (облет объекта, демонстрация со всех сторон, фото-360).

В данном уроке мы не станем углубляться в детальные настройки и будем использовать предварительно созданный шаблон. Никаких специальных знаний потребоваться не должно, будет достаточно небольшого опыта в обработке изображений.
Всего голосов 38: ↑35 и ↓3+32
Комментарии10

Версионность и история данных

Время на прочтение5 мин
Количество просмотров129K
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у должности в свою очередь может меняться оклад — в многомерном моделировании это называется Slowly changing dimensions(далее SCD) — редко изменяющиеся измерения, то есть измерения, не ключевые атрибуты которых имеют тенденцию со временем изменяться. Всего существует 6 основных типов(методов) SCD, которые определяют как история изменений может быть отражена в модели.

Подробнее...
Всего голосов 64: ↑62 и ↓2+60
Комментарии50

Подходы к версионированию изменений БД

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

Намного лучше дисциплинарные ограничения убирать инструментарным расширением
Автор статьи


Введение


При разработке информационной системы, то есть программы, нацеленной на хранение, работу с данными, обработку, анализ и визуализацию какой-то базы данных, одним из краеугольных камней стоит задача разработки БД. Когда я только начинал задаваться этим вопросом, казалось – что ни сделай, все равно будет криво.


На протяжении 5 лет разработки нескольких корпоративных ИС, я ставил и пытался решать вопросы, как тот или иной аспект разработки БД сделать удобным. Искал инструменты, помогающие что-то делать с БД, методологии. На удивление в этой области мало наработок. И в каждом подходе сразу видно – вот это нельзя, вот тут будет неудобно, тут слишком много дисциплинарных правил (см эпиграф)… В этой статье я попытался собрать те походы, которые считаю наиболее эффективными, и один, в добавление к собранным, представлю как венец моих исканий, который считаю наиболее «бронебойным».

Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии17

Как использовать HDF5-файлы в Python

Время на прочтение20 мин
Количество просмотров48K
Всем привет!

Приближается запуск курса «Web-разработчик на Python», соответственно, мы всё так же делимся интересными статьями и приглашаем на наши открытые уроки, где можно посмотреть интересный материал, познакомиться с преподавателями и позадавать им вопросы.

Поехали!

HDF5 позволяет эффективно хранить большие объемы данных

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

Формат HDF5 поддерживает файлы любого размера, и каждый файл имеет внутреннюю структуру, которая позволяет вам искать определенный набор данных. Это можно представить как отдельный файл со своей собственной иерархической структурой, так же как набор папок и подпапок. По умолчанию данные хранятся в двоичном формате, и библиотека совместима с разными типами данных. Одним из наиболее важных вариантов формата HDF5 является то, что он позволяет прикреплять метаданные к каждому элементу структуры, что делает его идеальным для создания автономных файлов.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии14

Информация

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