Как стать автором
Обновить
Иван Филатов @NYMEZIDEread⁠-⁠only

Разработчик

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

Нечувствительные к весам нейронные сети (WANN)

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


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


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

Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии87

Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах

Время на прочтение13 мин
Количество просмотров24K
Итак, представим. В комнате заперты 5 котов, и чтобы пойти разбудить хозяина им необходимо всем вместе договориться между собой об этом, ведь дверь они могут открыть только впятером навалившись на неё. Если один из котов – кот Шрёдингера, а остальные коты не знают о его решении, возникает вопрос: «Как они могут это сделать?»

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


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

Разбираемся с латинскими сокращениями и фразами в английском языке

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


Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпаргалку именно по этим сокращениям, чтобы не путаться. И тогда же появилась идея этой статьи.


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

Читать дальше →
Всего голосов 143: ↑142 и ↓1+141
Комментарии72

Как Dark развертывает код за 50 мс

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


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


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


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


От скорости этих пайплайнов зависит скорость разработки. У лучших команд развертывание занимает 5–10 минут, но обычно все делается гораздо дольше, и для одного развертывания требуется несколько часов.

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

Обзор бесплатного инструмента SQLIndexManager

Время на прочтение9 мин
Количество просмотров9.2K
Как известно индексы играют важную роль в СУБД, предоставляя быстрый поиск к нужным записям. Потому так важно их своевременно обслуживать. Об анализе и оптимизации написано достаточно много материала, в том числе и в Интернете. Например, недавно делался обзор данной темы в этой публикации.

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

Далее рассмотрим бесплатную утилиту SQLIndexManager, автором которой является AlanDenton.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии26

Осваиваем компьютерное зрение — 8 основных шагов

Время на прочтение3 мин
Количество просмотров102K
Привет, читатель.

Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить принципы компьютерного зрения.

image

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

Всего голосов 40: ↑35 и ↓5+30
Комментарии10

Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них

Время на прочтение6 мин
Количество просмотров25K
Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vue.js и использует возможности Node.js, Webpack и Babel. Совсем недавно, в начале июля сего года, вышел первый стабильный релиз Quasar.

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

Создаю глобальную базу знаний по элементам питания

Время на прочтение2 мин
Количество просмотров28K
Тестирую элементы питания на профессиональном оборудовании. Цель охватить большую часть рынка элементов питания Европы и России.

На данный момент протестированы более 230 аккумуляторов и батареек. Сделано более 1000 тестов. Израсходовано 4 ящика батареек и несколько месяцев жизни.

Результатом проделанной работы стала база знаний по аккумуляторам и батарейкам. Под катом рассказываю почему я решил создать базу знаний и как это было сделано.


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

Навигация в кроссплатформенном приложении на .NET Core с сохранением состояния на диск на примере ReactiveUI и Avalonia

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



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


MVVM фреймворк ReactiveUI предлагает сохранять состояние приложения путём сериализации графа моделей представления в момент приостановки программы, при этом механизмы определения момента приостановки различаются для фреймворков и платформ. Так, для WPF используется событие Exit, для Xamarin.Android — ActivityPaused, для Xamarin.iOS — DidEnterBackground, для UWP — перегрузка OnLaunched.


В данном материале рассмотрим использование ReactiveUI для сохранения и восстановления состояния ПО с GUI, включая состояние роутера, на примере кроссплатформенного GUI фреймворка Avalonia. Материал предполагает наличие базовых представлений о шаблоне проектирования MVVM и о реактивном программировании в контексте языка C# и платформы .NET у читателя. Последовательность действий, описанная в статье, применима к ОС Windows 10 и Ubuntu 18. Код проекта, описанного в статье, доступен на GitHub.

Приступим!
Всего голосов 31: ↑30 и ↓1+29
Комментарии0

Несколько полезных советов для тех, кто решил изучать английский самостоятельно

Время на прочтение11 мин
Количество просмотров39K
Человеку, который никогда толком не изучал английский язык, может быть очень тяжело как морально, так и умственно основательно приступить к изучению языка. Ещё сложнее это может показаться делать самостоятельно. Кажется, что следовало заниматься всем этим в детстве. Потому что сейчас уже просто нет для этого ни сил, ни времени. Потому что английский язык это очень-очень много информации, а мозг маленький. Это нормальное чувство, хотя оно и обманчиво.

image


Предыстория


Кому-то в школьные годы английский давался легко. Другим же, в том числе и мне, английский казался жутко сложным и учить его казалось невозможным. Я себя чувствовал просто отчаянно тупым, когда сидел на уроках английского и что-то мямлил, пытаясь ответить на вопросы учителей. А потом родителям приходилось оплачивать дополнительные уроки по английскому, чтобы меня не оставляли на второй год. И на этих уроках я точно так же сидел и ничего не понимал.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии42

5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения

Время на прочтение4 мин
Количество просмотров14K
Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе.


Голос Чуи

Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и в основном помогал создавать/обучать 3 из крупнейших кодовых баз VueJS в Сиднее. Этот код служит миллионам людей, поэтому моя задача — не просто создавать масштабируемые паттерны кода, а еще и в значительной степени заботиться о его производительности.

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

Давайте перейдем прямо к делу — поговорим о некоторых простых способах повышения производительности вашего приложения VueJS.
Читать дальше →
Всего голосов 34: ↑23 и ↓11+12
Комментарии7

Один из сотни способов публикации нескольких production проектов на одном сервере

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

image
Когда сайтов становится чуть больше чем один, а ресурсов одного сервера хватает с лихвой, встает вопрос как не переплачивать и упаковать все в одну виртуальную машину самого привлекательного сервиса, с учетом того, что когда-нибудь наши приложения разрастутся в масштабную распределенную сеть — мы обязаны заложить зернышко highload.

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

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле?

Время на прочтение5 мин
Количество просмотров82K
Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile.

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

2 года назад я сделал операцию femto lasik и до сих пор ей доволен — сразу после операции мое зрение имело 120% остроты, а сейчас находится в районе 100%. Мои друзья и знакомые интересуются и спрашивают, стоит ли им делать Smile. Я немного устал объяснять всем одно и то же, поэтому и решил написать статью на хабре, в которую собрал всю информацию, которую смог найти.
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии190

TOP'ай сюда

Время на прочтение5 мин
Количество просмотров179K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Всего голосов 401: ↑389 и ↓12+377
Комментарии122

Удалённая работа: мифы на ночь

Время на прочтение6 мин
Количество просмотров90K
На Хабре тема удалёнки поднимается постоянно. Был откровенный пост, который отозвался до самых глубин сердца. Сегодня случился рекламный пост, где понятие удалёнщика как-то путается с понятием фрилансера. А сейчас будет эмоциональный пост — от простой девчонки, которая вот уже 4 года работает удалённо менеджером в сфере IT. Побуду разрушителем мифов, капитаном очевидностью и чуваком с долларами, но о последнем в другой раз.


Как вариант — изолировать занудных трудоголиков
Читать дальше →
Всего голосов 108: ↑102 и ↓6+96
Комментарии312

Консенсус — ложь

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

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


Для начала поймём а зачем вообще нужен консенсус и что это такое. Пусть у нас будет один банк и один вкладчик Николай, на счету которого числится 1000 рублей. Он отправляет письмо в банк с просьбой перевести все деньги на счёт своего друга Александра. И всё прекрасно — деньги списались с одного счета и записались на другой. В данном случае проблем никаких и нет, а новый владелец денег решил снять их в ту же минуту и всё хорошо.


Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии27

Разбор: 23 популярные ошибки в письменном английском и как их избежать

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


Даже если вы учите английский язык много лет, скорее всего время от времени совершаете ошибки при письме. Я нашел интересный пост с подборкой более чем двух десятков распространенных ошибок и советами о том, как их избежать. Представляю перевод этого полезного материала.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии33

Честное резюме программиста

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

Раздел 1. Soft Skills


  1. Я молчу на совещаниях. Стараюсь делать внимательное и умное лицо, даже если мне все равно.
Читать дальше →
Всего голосов 450: ↑410 и ↓40+370
Комментарии284

Глобальное кеширование результатов Query в ASP.NET CORE

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

Парадигма CQRS в том или ином виде предполагает, что вызовы Query не будут менять состояние приложения. То есть многократные вызовы одной и той же query, в рамках одного запроса, будут иметь один и тот же результат.


Пусть все интерфейсы, использующиеся в рамках запроса будут иметь тип IQuery или IAsyncQuery:


public interface IQuery<TIn, TOut>
{
   TOut Query(TIn input);
}

public interface IAsyncQuery<TIn, TOut>: IQuery<TIn, Task<TOut>
{
}
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

Наш первый обед вместе: почему и как мы проводим тестовый день

Время на прочтение5 мин
Количество просмотров29K
Привет, Хабр! Пару месяцев назад мои коллеги рассказывали про расширение команды в 5 раз: от 50 тогда до 250 разработчиков к концу 2020 года. Как вы могли догадаться, сейчас мы уделяем много внимания найму. При этом, мы не готовы «брать количеством», нанимая всех подряд, мол «потом разберёмся». Нам важно, чтобы человек действительно стал частью нашей команды на годы вперёд. Именно этот мотив привёл нас когда-то к новому формату собеседований – тестовому дню. Про него и пойдёт речь под катом.



Серия статей про собеседования:
1. Наш первый обед вместе: почему и как мы проводим тестовый день.
2. Я прочитал 80 резюме, у меня есть вопросы.
3. Собеседование в Додо Пиццу.
4. Уходя уходи: почему не стоит принимать контроффер.
5. Спасибо за собеседование, мы ответим о нашем решении… сейчас.

Спойлер с цифрами.
За 1,5 года мы наняли более 40 человек и от нас ушло всего 4 разработчика: один ушёл запускать свой бизнес, а остальные переехали в Европу.
Читать дальше →
Всего голосов 44: ↑33 и ↓11+22
Комментарии118

Информация

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