Pull to refresh
30
0
Send message

DoH в картинках

Reading time11 min
Views46K
Угрозы конфиденциальности и безопасности в интернете становятся серьёзнее. Мы в Mozilla внимательно их отслеживаем. Считаем своей обязанностью сделать всё возможное для защиты пользователей Firefox и их данных.

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



Сейчас мы добавляем в список ещё две технологии:

  • DNS по HTTPS — новый стандарт IETF, в разработке которого мы приняли участие
  • Trusted Recursive Resolver — новый безопасный способ резолвить DNS, предоставляется совместно с Cloudflare
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments11

Опыт создания мобильного приложения: получилось не с первого раза

Reading time8 min
Views13K
Только что мы закончили наш цикл статей по квантовому программированию. Теперь ненадолго вернемся к более понятному — мобильной разработке, и в серии из нескольких статей поговорим о конструкторе для разработки мобильных приложений для интернет-магазинов. Это уже вторая попытка ребят создать такой конструктор и теперь она успешна. Заряжайтесь опытом под катом!

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments6

Как мы настроили поиск с помощью Elasticsearch и Logstash по данным MSSQL

Reading time4 min
Views15K

Делимся подробностями, как мы сделали хороший поиск по закрытой корпоративной соцсети в условиях, когда:


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


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


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


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

Расширяем узкие места Xamarin.Forms

Reading time5 min
Views8.1K
При создании мобильных приложений возникает множество различных хотелок в духе «как было бы хорошо, если бы…» И можно подставлять пункты, которые требуют улучшения. У начинающих разработчиков в этот список с высокой вероятностью войдет и пункт «если бы работало быстрее …» В данной статье будут собраны рекомендации, которые помогут начинающим разработчикам Xamarin.Forms обойти узкие места фреймворка и инструментов сборки. А начнем мы с железа.


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

Развертывание многопользовательской WebRTC трансляции с web-камеры через сервер за 3 минуты

Reading time8 min
Views28K


В данной статье мы расскажем как разработать многопользовательскую WebRTC видео трансляцию из браузера через свой сервер ретранслятор. Трансляция будет идти из браузера Google Chrome и обычной USB вебкамеры. Для трансляции видео будет создана отдельная HTML — страница Streamer, а воспроизведением будет заниматься HTML-страница Player.
Читать дальше →
Total votes 21: ↑14 and ↓7+7
Comments13

ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code

Reading time5 min
Views86K
Решил недавно написать небольшое ASP.Net MVC приложение после многолетнего перерыва и знающие люди на Хабре подсказали попробовать новый ASP.Net Core, тем более, что он работает в Линуксе из коробки без необходимости задействовать mono, и, судя по последним тестам, даже показывает неплохую производительность. За основу взял аналогичную статью для Mac, однако здесь в отличии от вдохновившей меня статьи хочу описать процесс пошагово в одном месте, для того, чтобы не пришлось лазить по перекрёстным ссылкам, пытаясь разобраться как установить непонятно для чего предназначенные приложения и пакеты. Такое подробное описание процесса возможно поможет многим избежать граблей, с которыми пришлось столкнуться мне. Несколько фраз и рисунков, в части одинаковой для любой платформы, с правками и корректировками взяты из статьи для Mac.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments42

Архитектура микросервисов

Reading time18 min
Views257K


К сожалению, у меня нет опыта работы с микросервисами, но около года назад я очень активно интересовался этой темой и изучил все источники информации, какие смог найти. Я просмотрел несколько выступлений на конференциях, прочитал несколько статей очень авторитетных и опытных специалистов вроде Мартина Фаулера, Фреда Джорджа, Эдриана Кокрофта и Криса Ричардсона, чтобы как можно больше узнать о микросервисах. Эта статья — результат моих изысканий.
Total votes 79: ↑75 and ↓4+71
Comments267

Единорог в космосе: проверяем исходный код 'Space Engineers'

Reading time12 min
Views24K


Как вы уже поняли из заголовка, речь в статье будет идти о подозрительных местах, найденных в исходном коде 'Space Engineers'. Но формат статьи несколько отличается от остальных. Помимо информации о проекте, обзора некоторых найденных подозрительных мест и ошибок, а также способов их исправления, я включил в текст небольшой раздел о правильном сценарии использования статического анализатора. Настоятельно рекомендую ознакомиться с ним, так как многие разработчики не знают или просто не задумываются о том, как правильно использовать инструменты этого класса. В результате инструменты статического анализа используются на порядок менее эффективно, чем могли бы.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments10

Вложенные привязки в WPF

Reading time5 min
Views23K
В WPF существует три вида привязок: Binding, PriorityBinding и MultiBinding. Все три привязки наследуются от одного базового класса BindingBase. PriorityBinding и MultiBinding позволяют к одному свойству привязать несколько других привязок, например:

<MultiBinding Converter="{StaticResource JoinStringConverter}" ConverterParameter=" ">
    <Binding Path="FirstName" />
    <Binding Path="MiddleName" />
    <Binding Path="LastName" />
</MultiBinding>

Исходный код класса JoinStringConverter
public class JoinStringConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return string.Join(separator, values);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return (value as string)?.Split(new[] { separator }, StringSplitOptions.None).Cast<object>().ToArray();
    }
}


Список привязок MultiBinding-а — это коллекция типа Collection<BindingBase>. Логично было бы предположить, что внутри MultiBinding-а можно использовать еще один MultiBinding.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments3

Как продать приложение, которое не приносит прибыль? И сколько оно стоит?

Reading time5 min
Views51K
Давайте посмотрим правде в глаза — заработать на инди-приложении становится все сложнее. Под катом я расскажу, как можно продать ваше приложение, если оно перестало приносить прибыль, и сколько можно получить. В долларах :)
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments22

Белый список с брандмауэром Windows

Reading time10 min
Views97K
image

Если паранойя подсказывает, что вы недостаточно защищены, а под рукой имеются только бесплатные инструменты для безопасности, то нужно это чувство удовлетворить! Под катом будем создавать белый список программ для выхода в сеть с помощью стандартного брандмауэра Windows, в том числе и на PowerShell.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments11

Дизайн интерфейса под Microsoft Lync или визуализация системы с нуля

Reading time6 min
Views13K


Хочу поделиться с вами своим опытом разработки с нуля системы внутрикорпоративного менеджмента чатов и аудио/видео записей. Дело было поболее года назад. Забегая вперёд, хочу с огорчением сказать, что сейчас проект заморожен. Кризис ли, потеря веры в проект руководством или еще какие-то причины — мне неизвестно. Хотя коллектив был приятный, решать задачи было интересно и увлекательно. Я вообще люблю постановку задач в духе: “У нас есть вот такой набор данных, но мы не знаем как это должно выглядеть. Вот, возьми карандаш и изобрази нам чего-нибудь”. И сотрудничество с ними идеально попало под такой формат.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

Публикация HTML5-приложений в AppStore без Mac

Reading time2 min
Views14K
Многие разработчики гибридных мобильных приложений сталкиваются с проблемой подписи и публикации iOS-приложений без использования Mac.

С Android все более или менее просто: устанавливаем SDK (под Windows, Mac или Linux), собираем приложение, а публикация apk в Google play осуществляется через веб-интерфейс. С Apple такой номер не проходит: для генерации ключа, подписи приложения и публикации ipa в AppStore нужен Mac. Как решить эту проблему в Windows?
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments15

Marmalade C++ и ShiVa3D: начало работы с игровыми движками для платформы Android x86

Reading time11 min
Views12K
Занимаетесь разработкой кросс-платформенного приложения или игры для Android? Если так, то вам стоит присмотреться к специальным инструментам. Например, к SDK Marmalade C++ 8.0 и игровому движку ShiVa3D. Сегодня мы поговорим об их применении для платформы Android x86.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments13

Кратчайшие, полезные и бесполезные способы передачи информации

Reading time6 min
Views20K


Со времен наскальных рисунков человек озаботился вопросом, как в кратчайшие сроки передать сородичам важную информацию. Есть ли поблизости следы медведя, где в последний раз был замечен жирный мамонт, сколько молодых воинов в племени соседей… Передача ценной информации за наименьший отрезок времени — это эффективнейший инструмент эволюции. Глиняная письменность, узелки на веревке, натертые железные пластины, послания, выдолбленные на каменных монолитах — все эти способы повышали эффективность передачи сигналов, но имели неустранимый недостаток. Вам нужен был человек, который донёс бы послание, или птица, которая перенесла бы записку в лапках над морем.

Становление и совершенствование инструментов перекачки информации привело к новой проблеме. Когда информации становится слишком много, требуется больше времени на её обработку и понимание. В XXI веке нам нужен уже не только канал, передающий мысли и чувства со скоростью света, но и мозг, способный такую информацию улавливать.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments4

Формат хранения данных HV как попытка решения проблемы наглядного хранения текстовых полей

Reading time7 min
Views6.6K


Не так давно передо мной встала задача иметь возможность хранить данные в текстовом виде, чтобы с ними работала не только программа, но мог прочитать и отредактировать (а также создать с нуля в текстовом редакторе) человек. Для этого уже существует множество удобных и хороших форматов, например JSON, YAML, XML и так далее. Но в рассмотренных системах попадались моменты, которые, все же, немного не понравились.

Уделю особенное внимание яркому неудобству большинства таких форматов (естественно, на мой взгляд), в том числе и очень мощных и популярных, — проблеме, связанной с хранением текста: как записать текстовое поле, которое может содержать любые текстовые символы, чтобы его содержимое не приходилось менять, и оно не повлияло на парсинг, ведь там могут встретиться и различные подстроки, совпадающие со служебными комбинациями, и различные нестандартные отступы.
Читать дальше →
Total votes 20: ↑13 and ↓7+6
Comments33

Ежедневная работа с Git

Reading time40 min
Views874K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44
Что отличает современного бизнесмена и предпринимателя от его аналога десятилетней давности? В принципе, все осталось на своих местах: это по-прежнему творческие люди, просто хорошо понимающие стоимость и, что не одно и то же, ценность собственного времени.
Интересно
Total votes 42: ↑25 and ↓17+8
Comments16

Совместное редактирование. Часть 2

Reading time10 min
Views19K


Добрый день! Недавно мы начали цикл статей о совместном редактировании. В первой статье я рассказал о задаче неблокирующего редактирования и возможных подходах к его реализации. Напомню, что в итоге в качестве алгоритма мы выбрали Operation Transformation (OT). Также был анонсирован рассказ о его клиент-серверном варианте, и сегодня я освещу подробности его работы. Кроме того, вы узнаете, почему отмена в OT работает иначе и чем грозит столкновение с суровой реальностью.

Дальше вас ждет много алгоритмов и диаграмм. Думаю, вам будет интересно.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments10

Node.js и Express как они есть

Reading time15 min
Views73K
Здравствуйте, любители нашего хаброблога и прочие читатели!

Мы планируем вновь отметиться на поле неувядающего Node.js и рассматриваем возможность издания этой книги:



Поскольку вполне понятен читательский интерес «а как он впихнул все это в двести страниц, и зачем мне это нужно»? под катом предлагаем перевод доскональной статьи Томислава Капана о том, зачем на самом деле нужен Node.js.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments24
1
23 ...

Information

Rating
Does not participate
Registered
Activity