Pull to refresh
16
0
Владимир Изотов @Vladimir_Izotov

User

Send message

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Level of difficultyMedium
Reading time11 min
Views23K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

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

Читать далее
Total votes 64: ↑61 and ↓3+58
Comments65

Самые распространенные логические ошибки

Level of difficultyEasy
Reading time12 min
Views58K

Изучение логических ошибок помогает в развитии критического мышления, необходимого во всех сферах жизни. School of Thought проделала отличную работу, описав 24 наиболее распространенные логические ошибки.

Читать далее
Total votes 84: ↑79 and ↓5+74
Comments101

Начинающие программисты боятся темноты

Reading time7 min
Views99K

Не могу больше. Это не моё. Я не тяну. Всю ночь не спал, ворочался, вставал, курил, читал, пытался смотреть телевизор, снова ложился… Ненавижу.

Всех, кто пишет эти радужные истории «войти в айти». Тех, кому я заплатил за курсы по программированию. «Друзей» и «советчиков», которые сказали: смело бросай свою старую, нелюбимую работу, и иди в программисты. Если бы вы только знали, о чём говорите…

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

Я один в темноте.

Читать далее
Total votes 212: ↑181 and ↓31+150
Comments301

Почему я больше не рекомендую Julia

Reading time7 min
Views19K

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

Я опубликовал несколько опенсорсных пакетов для работы с такими вещами, как поля расстояний со знаком, поиск ближайших соседей и паттерны Тьюрингатакже с другими), создавал визуальные объяснения таких концепций Julia, как broadcasting и массивы, а ещё применял Julia при создании генеративной графики для моих визиток.

Какое-то время назад я перестал пользоваться Julia, но иногда мне задают о нём вопросы. Когда люди спрашивают меня, я отвечаю, что больше не рекомендую его. Мне подумалось, что стоит написать, почему.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments31

Безопасность встраиваемых систем Linux

Reading time24 min
Views15K
Embedded Linux security

Весь наш мир построен на противоположностях. Если вы создаете свое устройство и продаете его, то всегда найдется тот, кто захочет его взломать. Цели у злоумышленника буду самыми разными, от попыток сделать клон устройства (привет Китаю) до шантажа конечных потребителей, что весьма ухудшит вашу репутацию с точки зрения изготовления надежных устройств. И чем популярнее система на основе которой построено устройство, тем интереснее она злоумышленнику. В последнее время активно развивается сегмент одноплатных компьютеров, таких как Raspberry Pi, и множества других. Linux системы по распространенности использования во встраиваемых систем, вышли на первые места. Большая функциональность устройств, например наличие разных беспроводных интерфейсов коммуникаций, в совокупности с большими возможностями ОС Linux, привела к серьезной необходимости организации защиты устройства. Некоторые думают, что достаточно отключить учетную запись root и установить надежный пароль, но на самом деле это только малая часть того, что следует сделать. Какие технологии и концепции используются для снижения рисков и реализации более безопасного устройства работающего на Linux узнаете под катом.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments19

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views64K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Total votes 205: ↑205 and ↓0+205
Comments229

Объекты против структур данных

Reading time7 min
Views10K

В статье, перевод которой предложен ниже, Роберт Мартин вроде как начинает с мыслей, очень похожих на те, что можно увидеть в рассуждениях Егора Бугаенко про ORM, но выводы делает другие. Лично мне подход Егора импонирует, но я считаю, что Мартин подробнее раскрывает тему. Мне кажется, с его мнением стоит познакомиться всем, кто когда-либо задумывался о том, какое место должен занимать ORM и вообще, зачем нужны объекты у которых все поля открыты. Статья написана в жанре "Диалог", где более опытный программист обсуждает проблему с тем, у кого опыта меньше.


Что такое класс

Класс это спецификация множества сходных объектов


Что такое объект?

Объект это набор функций которые производят действия с инкапсулированными данными.


Или лучше сказать, что объект это набор функций, которые производят действия с данными, существование которых подразумевается

В смысле "подразумевается"?

Читать дальше →
Total votes 22: ↑9 and ↓13-4
Comments17

Три суперпростых способа удивить ребенка, имея под рукой только смартфон (ну, почти)

Reading time3 min
Views21K
Обычно, когда мы (или кто-то еще) пишет о детских гаджетах, всегда как бы по умолчанию мы имеем в виду возраст — около 7 лет. Так в подборки и попадают разного рода электронные конструкторы, платы для программирования и т. п.



Что делать, если детям от 3 до 5? Наша подборка простых развлечений из новой рубрики «Geektimes для самых маленьких».
Total votes 33: ↑30 and ↓3+27
Comments12

Более чем 80 средств мониторинга системы Linux

Reading time12 min
Views315K
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



1. первый инструмент — top

Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
читать дальше
Total votes 94: ↑82 and ↓12+70
Comments68

Более 60 инструментов для мониторинга Windows

Reading time8 min
Views277K
В предыдущей статье был составлен список из 80 инструментов для мониторинга Linux системы. Был смысл также сделать подборку инструментов для системы Windows. Ниже будет приведен список, который служит всего лишь отправной точкой, здесь нет рейтинга.


читать дальше
Total votes 35: ↑26 and ↓9+17
Comments37

Протокол ухода из жизни

Reading time8 min
Views148K
image

Об авторе. Питер Хинченс — бельгийский разработчик, писатель и бывший президент Фонда свободной информационной инфраструктуры, ассоциации, которая борется с софтверными патентами в Европе. Автор более 30 протоколов и распределённых систем, основатель свободного проекта ZeroMQ и проекта Edgenet по созданию полностью безопасной, анонимной глобальной P2P-сети, исполнительный директор и ведущий программист компании iMatrix. Автор книг «Культура и империя: цифровая революция», «Код психопата», «Масштабируемый Си» и др.

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

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

Я был изолированным и одиноким юношей. Немного аутистичным, наверное. Я думал только о работе, плавании, своих домашних животных, снова о работе. Мысль о том, что людям может нравиться моё общество, была странной. По крайней мере моя работа, казалось, имеет значение. Мы писали генераторы кода на Cobol. Я написал редактор кода, который нравился сотрудникам, потому что элегантно работал на всём. Я самостоятельно выучил Си, ассемблер 8086 и писал программы shareware. Так медленно прошли 90-е.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments146

Бытовой мини-огнемет для истинных ценителей прекрасного

Reading time4 min
Views82K
imageНечем разжечь камин или мангал? В большой компании за столом все курят, а спички кончились? В ванной завелся огромный паук и вы не уверены, что сможете справиться с ним при помощи тапка? Теперь для всего этого есть отличное, стильное, а главное комфортное решение! С новым, инновационным мини-огнеметом XM42 Вас больше не будут беспокоить подобные проблемы! Всего за $699+налоги+доставка+на пиво Вы получите стильное устройство, которое поможет Вам в трудную минуту! А заплатив $799+налоги+доставка+на пиво Вы сможете выбрать цвет вашего огнемета или получить стильную наклейку «Акула»! Спешите, до конца сбора средств всего 31 день!

Гхм, а если серьезно, то 24 марта на indiegogo стартовал проект общедоступного ручного огнемета, который собрал уже 218% от заявленной суммы: $87,000 вместо запрашиваемых $40,000. До конца сбора средств на самом деле остался целый 31 день. Кстати, про стоимость в $699-799, выбор цвета и наклейку я тоже не шутил — за лишнюю сотку вы можете прокачать вашу тачку «зажигалку». Правда, выбор цветов не велик, а наклейка всего одна, но обо всем по порядку.
Узнать больше об этом красавце
Total votes 49: ↑44 and ↓5+39
Comments95

Apple обещает решить «проблему 1970» со следующим апдейтом

Reading time1 min
Views11K


Корпорация Apple признала существование «проблемы 1970». Напомню, что из-за этой проблемы iPhone превращается в «кирпич», если сменить текущую дату на 1 января 1970 года и перезагрузить смартфон. Обещание исправить ситуацию Apple разместила на официальном сайте. Также корпорация советует пользователям обращаться в официальный сервисный центр, если возникает подобная ситуация.

Как сообщалось ранее, проблема актуальна для всех смартфонов Apple на x64 архитектуре на процессорах A7, A8, A8X, A9 и A9X. Впервые о проблеме сообщили на Reddit, рассказав о возможности вывести из строя iPhone простым переводом даты на 1 января 1970 года и последующей перезагрузкой.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments35

Взгляд на Императора недугов. Часть вторая

Reading time7 min
Views14K
Вторая и третья части (первая часть) повествования о новообразованиях и раке в частности будут посвящены более «приземленным» проблемам — а именно диагностике и лечению, а также немного будет рассказано о самых часто встречающихся видах онкологий.
Сразу скажу, что данный пост дался мне сильно сложнее, чем первая часть, так как не совсем соответствует моей специализации. Но так как меня попросили написать про это, я попытался.

Диагностика


В России и бывших республиках СССР широко используется термин «онкологическая настороженность», впервые введенный в 1948 году Савицким А.И., но современное его определение относится уже к 1979 году, и введен он был Петерсоном Б.Е. как «онкологическая грамотность». Он включает в себя 5 пунктов:

1. Знание клинических симптомов злокачественных опухолей на ранних стадиях.
2. Знание предраковых заболеваний и принципов их диагностики и лечения.
3. Тщательное обследование.
4. Исключение необоснованноо оптимизма — наоборот, врач обязан думать о возможности атипичного течения заболевания.
5. Знание принципов организации онкологической помощи и направление больного с обнаруженной или подозреваемой опухолью в специализированные онкологические учреждения.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments8

Взгляд на Императора недугов. Часть первая

Reading time6 min
Views27K

Praefatio


В современном мире рак является одной из основных причин смерти. По данным ВОЗ в 2012 году от рака умерло 8.2 миллиона людей во всём мире, а количество новых зарегистрированных случаев в этом же году составило примерно 14 миллионов. По количеству смертей рак уступает лишь заболеваниям сердца. Именно поэтому, мне кажется, будет достаточно интересно и полезно попытаться разобраться с данным заболеванием, что мы вместе и попытаемся сделать.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments28

40+ полезных инструментов для разработчика приложений под Android

Reading time6 min
Views55K
Для выхода на мобильный рынок не нужно тратить тысячи долларов и месяцы работы. Для создания приложения для собственного бизнеса, продукта или услуги вам нужно лишь знать Java и найти подходящие инструменты. Сейчас таких инструментов уже тысячи. Мы попытались составить из них набор, необходимый для разработки, тестирования, монетизации, анализа и улучшения приложений.

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

41. JSONView
jsonview.com

image

Расширение для Firefox, которое позволяет просматривать JSON в браузере. Документ выглядит отформатированным, есть подсветка и можно сворачивать и раскрывать объекты и массивы.

40. Android GUI Set
www.bypeople.com/free-photoshop-android-interface-gui

image

Набор интерфейсов, в который входят и файлы для фотошопа. Главное меню, клавиатура, панель статуса, браузер, слайдер, список контактов, и т.д. и т.п.
Читать дальше →
Total votes 33: ↑22 and ↓11+11
Comments16

PeerVPN – пиринговый VPN с открытым кодом

Reading time2 min
Views26K
Перевод анонса и небольшой документации проекта PeerVPN, который показался мне интересным.

PeerVPN


Это программа, создающая виртуальную локалку из нескольких удалённых компьютеров. Такие сети могут быть полезны для непосредственного общения приложений, например совместного использования файлов или игр. Часто обычными способами наладить такое взаимодействие невозможно из-за фаерволов или NAT.

Традиционные VPN работают по схеме клиент-сервер, когда много узлов соединяются с одним сервером. У такой звёздной топологии есть недостатки. Центральный сервер должен обладать большой пропускной способностью, чтобы обрабатывать весь трафик сети. Если сервер падает, сеть падает следом.

PeerVPN работает по распределённой технологии, когда все узлы общаются друг с другом без необходимости в центральном сервере. Если один узел отключается, на сеть это не влияет.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments23

Широкомасштабное использование биотоплива не имеет смысла

Reading time2 min
Views16K


Согласно отчёту неправительственной организации «Институт мировых ресурсов», попытки перевода ощутимой части потребителей энергии на биотопливо фактически не имеют смысла. По их расчётам, в погоне за добычей биомассы для переработки в топливо человечество окажется неспособным набрать необходимое её количество. Итог отчёта включает в себя следующие пункты.
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments47

Настольная игра для самых маленьких программистов (от 7 лет)

Reading time2 min
Views57K
Мы тут весь год общались с детскими психологами и вообще много думали о теме детского образования. Как один из результатов — сделали игру на развитие логики.



В общем, юному программисту нужно будет написать стек действий для таксиста. Чтобы довезти пассажира куда надо с первого раза. Сразу говорю — можно играть и с 4-5 лет. Как обычно, если ребёнок — сын инженера, смело вычитайте 2 года из минимального возраста.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments76

Теория категорий для программистов: предисловие

Reading time5 min
Views108K
Вот уже некоторое время я обдумываю идею написать книгу о теории категорий для программистов. Не компьютерных теоретиков, программистов — скорее инженеров, чем ученых. Я знаю, что это звучит безумно, и я сам достаточно напуган. Я знаю, что есть огромная разница между наукой и техникой, потому, что я работал по обе стороны баррикад. Но у меня всегда был очень сильный порыв объяснить вещи. Я восхищаюсь Ричардрм Фейнманом, который был мастером простых объяснений. Я знаю, я не Фейнман, но я буду стараться изо всех сил. Я начинаю с публикации этого предисловия, которое должно мотивировать читателя изучить теорию категорий, и надеюсь на начало дискуссии и обратную связь.

Я постараюсь в нескольких параграфах убедить вас, что эта книга написана для вас, и развеять все ваши сомнения в необходимости изучения этой, одной из самых абстрактных областей математики, в свое драгоценное свободное время.
Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments25

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity