Pull to refresh
0
Сержант Александру @solariserjread⁠-⁠only

User

Send message

Изучая Dependency Injection

Reading time8 min
Views32K
Несмотря на то, что паттерну уже более десятка лет и есть немало статей (и переводов), тем не менее споров, комментариев, вопросов и разных реализаций становится все больше и больше.

Предыстория
В 2004 Мартин Фаулер написал известную статью “Inversion of Control Containers and the Dependency Injection pattern”, в которой описывал вышеуказанный паттерн и его реализацию для Java. С этих пор паттерн стал широко обсуждаться и внедрятся. В мобильную разработку, особенно на IOS, это пришло с существенной задержкой. На хабре есть хорошие переводы статьи, удачи и светлой кармы их автору.

Информации достаточно даже на хабре, но к написанию поста меня подвигло то обстоятельство, что везде обсуждается КАК сделать, но практически нигде – ЗАЧЕМ. Можно ли создать хорошую архитектуру, если вы не знаете для чего она нужна и в чем именно должна быть хороша? Можно принимать во внимание определенные принципы и явные тренды, — это поможет свести к минимуму непредвиденные проблемы, но понимать – это еще лучше.
Читать дальше →

Azure Search

Reading time9 min
Views4K


Если какой-то из ваших проектов использует данные хранящиеся в Ажуровской базе, то вполне возможно, что у вас есть возможность задействовать поиск по данным с помощью Azure search. Совершать поиск можно не только по базам (Azure Cosmos DB, Azure SQL Database, SQL Server hosted in an Azure VM), но и по Blob (Azure Blob Storage, Azure Table Storage).


У Search имеется бесплатный тариф, который позволяет создать до трех индексов общим размером до 50 Mb. Бесплатный тариф не обладает возможностями балансировки нагрузки, но вполне себе пригоден для использования.

Читать дальше →

Архитектура сервиса распределённых очередей сообщений в Яндекс.Облаке

Reading time13 min
Views29K
Привет, меня зовут Василий Богонатов. Я один из тех, кто приложил руку и голову и вложил свою душу в сервис распределённых персистентных очередей сообщений Yandex Message Queue. Сервис вышел в общий доступ в конце мая, но внутри Яндекса он уже давно и активно используется в разных продуктах.

Сегодня я хочу рассказать читателям Хабра об очередях сообщений вообще и о Yandex Message Queue в частности. Сначала я хочу объяснить, что такое «распределённая персистентная очередь сообщений» и зачем она нужна. Показать её практическую ценность, механику работы с сообщениями, поговорить про API и удобство использования. Во второй половине материала мы посмотрим на техническую сторону: как в наших очередях используется Yandex Database (это надежный фундамент нашего сервиса), как выглядят наивный и улучшенный подход к построению архитектуры, какие проблемы вызывает распределённость и как их можно решить.


Читать дальше →

Программирование — больше, чем кодинг

Reading time16 min
Views29K


Это статья-перевод Стэнфордского семинара. Но перед ней небольшое вступление. Как образуются зомби? Каждый попадал в ситуацию, когда хочется подтянуть друга или коллегу до своего уровня, а не получается. Причём «не получается» не столько у тебя, сколько у него: на одной чаше весов находится нормальная зарплата, задачи и так далее, а на другой — необходимость думать. Думать неприятно и больно. Он быстро сдаётся и продолжает писать код, совершенно не включая мозг. Ты представляешь, насколько много сил нужно потратить, чтобы преодолеть барьер выученной беспомощности, и просто не делаешь этого. Так образуются зомби, которых вроде бы можно вылечить, но вроде бы и никто этим заниматься не станет.


Когда я увидел, что Лесли Лэмпорт (да-да, тот самый товарищ из учебников) приезжает в Россию и делает не доклад, а сессию вопросов-ответов, я немного насторожился. На всякий случай, Лесли — всемирно известный учёный, автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Вторым настораживающим фактором является его требование: каждый, кто придёт, должен (совершенно бесплатно) заранее прослушать пару его докладов, придумать по ним минимум один вопрос и только тогда уже приходить. Решил посмотреть, что там Лэмпорт вещает — и это великолепно! Это в точности та штука, волшебная ссылка-таблетка для лечения зомбятины. Предупреждаю: от текста может знатно подгореть у любителей сверхгибких методологий и нелюбителей тестировать написанное.


После хаброката, собственно, начинается перевод семинара. Приятного чтения!

Читать дальше →

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

Reading time4 min
Views79K
В статье я опишу свой сугубо субъективный пример того, сколько времени занимает обучение методу комфортной слепой печати. Это с учётом того, что мне данный навык не был критически важен, но иметь его давно хотелось.


Читать дальше →

Поднимаем читаемость кода в iOS разработке

Reading time3 min
Views13K
Представьте себе книгу, в которой нет деления на главы, а все идет без логической и смысловой разбивки, книгу, где нет абзацев, нет точек и запятых, книгу, где в первой строке рассказывается про одно, во второй про другое, в третьей опять про первое.

Представили?

Смогли бы вы понять, о чем книга?

Насколько быстро вы смогли бы найти интересующий вас отрывок?

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

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

Для удобства я буду использовать слово класс (class), но подразумевать любой вид типа (class, struct, enum).

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

Роскомнадзор, который мы заслужили

Reading time24 min
Views15K
image

На Хабре есть тема, табуированная больше, чем минет. Это политика. Поэтому прошу воспринимать мою статью, как статью исключительно социальной направленности. Не ищите даже намеков на политику.

Начну с легкой провокации: заявлю, что IT-сообщество в некоторой степени виновато в том, что у нас гадят в подъездах, детских садов и деревьев не хватает, вместо нормальной застройки появляются человейники и далее по списку. А еще в появлении разных сомнительной эффективности правил и организаций.

Поскольку я хотел адресовать статью именно IT-сообществу, то я публикую (по крайней мере, пытаюсь) ее именно на Хабре.

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

А теперь я попробую объяснить свое заявление из второго абзаца. Заранее прошу простить мне стиль, орфографию и пунктуацию — русский язык никогда не был моей сильной стороной. Чего я, разумеется, стыжусь и пытаюсь исправить.
Читать дальше →

Популярные заблуждения про радиационную стойкость микросхем

Reading time31 min
Views113K
Примерно в каждой второй теме на Хабре, касающейся космонавтики или электроники, всплывает тема радиационной стойкости. Через новости об отечественной космонавтике красной нитью проходит тематика импортозамещения радстойкой элементной базы, но в то же самое время Элон Маск использует дешевые обычные чипы и гордится этим. А изральтяне в «Берешите» использовали радстойкий процессор и тоже гордятся этим. Да и в принципе микроэлектронная отрасль в России живет по большей части за счет госзаказа с соответствующими требованиями. Наблюдение за регулярными спорами насчет того, как надо правильно строить спутники, показывает, что подготовка участников обычно невысока, а их аргументация отягощена стереотипами, случайно услышанными вырванными из контекста фактами и знаниями, устаревшими много лет назад. Я подумал, что читать это больше нет сил, поэтому, дорогие аналитики, устраивайтесь поудобнее на своих диванах, и я начну небольшой (на самом деле большой) рассказ о самых популярных заблуждениях на тему того, что такое радиационная стойкость интегральных микросхем.


Рисунок 1. Непременная красивая картинка про космическое излучение и хрупкую Землю.
Читать дальше →

Разбираем змею

Reading time6 min
Views90K

Принципиальная схема змеи, рисовала прекрасная Ш.А.Г. с моих слов

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

Ну и вокруг них много недопонимания.

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

Есть змеи, которые умеют плеваться ядом вам в глаза. Есть змеи, которые офигенно плавают. Есть змеи, которые могут двигаться под песком как маленькие версии червя из Дюны.

Но начнём с разбора змеи. С корпуса.
Читать дальше →

Полный план новой лунной программы NASA «Artemis» (Артемида)

Reading time4 min
Views28K


Амбициозный лунный проект на 10 лет, согласно которому будут выполнены: 37 запусков с Земли, 5 посадок на поверхность с экипажем, создание первой лунной базы.

Луна снова в моде и там скоро будет тесно, на ее орбите уж точно.
Читать дальше →

Гепатит С: «ласковый убийца»

Reading time4 min
Views34K

Когда мы говорим о тяжёлых инфекционных заболеваниях, приводящих к смерти и подвергающихся наибольшей стигматизации, обычно имеется в виду ВИЧ. Среди других же заболеваний особенно выделяется гепатит C. Большая часть людей, инфицированных вирусом гепатита C, приобретают хроническую инфекцию, протекающую бессимптомно и приводящую к циррозу и раку печени, а впоследствии, соответственно, смерти. Из-за этих своих особенностей гепатит C получил прозвище „ласковый убийца“.


Гепатит C и ВИЧ часто упоминаются вместе, и это не случайность: сегодня они являются наиболее опасными стремительно распространяющимися инфекционными заболеваниями. Оба этих заболевания передаются через контакт крови; однако заражение гепатитом C через половой контакт гораздо менее вероятно.

Читать дальше →

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS»

Reading time9 min
Views18K
Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создающий экземпляры какого-либо типа (статический или нет); бывает, и даже просто любой порождающий метод (включая, конструкторы).

Конечно, не все, что угодно, порождающее экземпляры чего-либо, может называться словом «фабрика». Более того, под этим словом могут скрываться два разных порождающих шаблона из арсенала «Банды четырех» – «фабричный метод» и «абстрактная фабрика», в подробности которых я и хотел бы немного углубиться, уделяя особое внимание классическим их пониманию и реализации.
Читать дальше →

Уточнение погрешностей — физические константы в настоящей и новой версиях Международной системы единиц (СИ)

Reading time13 min
Views8.6K
29 марта 2019 года — Майкл Тротт, главный научный сотрудник





Вступление


В так называемой «новой СИ» — обновленной версии Международной системы единиц, которая будет определять семь основных единиц измерения (секунда, метр, килограмм, ампер, кельвин, моль и кандела) и которая вступит в силу 20 мая 2019, все единицы измерения СИ будут определятся через точные значения фундаментальных физических постоянных. Как результат, все названные единицы СИ (ньютон, вольт, ом, паскаль и т. д.) будут, в конечном итоге, выражаться через фундаментальные константы. (Наконец-то, фундаментальная физика будет буквально управлять нашей повседневной жизнью ☺)

В представленной таблице демонстрируется как все изменится с вечера понедельника 20 мая до утра вторника 21 мая этого года.

image
Читать дальше →

Авиакатастрофа в Шереметьево: исторические аналогии

Reading time5 min
Views88K
Изобилие камер в современном мире привело к двум следствиям. Во-первых, снятая с множества ракурсов авиакатастрофа в Шереметьево практически никого не оставила равнодушным. Во-вторых, в публичном пространстве оказалось множество инструментальных свидетельств того, что произошло. Но почему это произошло может показать только расследование, которое займет время. И вместо того, чтобы без толку гадать о причинах, которые мы должны вскоре узнать, лучше вспомнить похожие случаи из истории авиации. Потому что расширение кругозора способствует менее эмоциональной и более взвешенной оценке произошедшего.


Кадр с одной из камер

Расслоения в стали. Как они образуются

Reading time12 min
Views32K
Тема этой статьи несколько необычна для Хабра. Меня побудило ее написать простое и понятное желание напомнить, что в свое время в нашей стране на очень высоком уровне была металловедческая наука, в частности ее раздел по исследованию причин разрушения высокопрочных материалов под нагрузкой. Еще до того, как попал в ЛАНИТ, я занимался исследованиями этой темы и до сих пор не потерял к ней интерес. Проблема разрушения материалов тоже не стала менее актуальна, поэтому предлагаю вашему вниманию пост о причинах появления расслоений в высокопрочных сталях.

Читать дальше →

Добавление UICollectionViews в кастомный UITableViewCell который сделан через Xib

Reading time2 min
Views8.3K
Я был удивлен, узнав, сколько было препятствий для реализации UICollectionView в UITableViewCell. Поэтому этот туториал здесь, надеюсь он сэкономит вам много времени.

Примечание: это туториал не для начинающих. Предполагается, что вы знаете о tableViews и создании пользовательских ячеек с файлами xib.

Также я не описываю ничего, про визульную составляющую.
Читать дальше →

Crew Dragon взорвался

Reading time1 min
Views82K


Космический корабль компании SpaceX Crew Dragon вчера взорвался при наземном испытании системы аварийного спасения. Ранее он успешно слетал к Международной космической станции в беспилотном режиме и вернулся на Землю.
Читать дальше →

Прыжки китайского «Кузнечика» от LinkSpace

Reading time3 min
Views13K
Китайская частная космическая компания LinkSpace построила тестовый ракетный стенд вертикального взлета и посадки, аналогичный «Кузнечику» от SpaceX, и с января этого года проводит все более сложные испытания. После тестов зависания на привязи компания перешла к полноценным подскокам, 27 марта поднявшись на 20 метров, а 19 апреля — на 40 метров. А благодаря прогрессу в экшн-камерах мы можем посмотреть на эти полеты с ракурсов, которые отсутствовали во времена «Кузнечика» Маска.


Кадр из видео бортовой камеры

Радиация: война с невидимым убийцей или еще немного о радоне

Reading time9 min
Views40K
И снова здравствуйте. В комментариях к предыдущей статье я обещал написать о защите от радона и его ДПР. Что ж, выполняю это обещание.



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

Слушаем музыку и лекции с Youtube с заблокированным экраном смартфона и без рекламы с помощью Telegram

Reading time2 min
Views86K
Возможность слушать аудио с Youtube с заблокированным экраном смартфона — это полезная функция, например, если вы слушаете музыку или лекции. Это удобно, исключает случайные нажатия на экран, к тому же — заблокированный, неактивный экран смартфона потребляет меньше энергии.

К сожалению, официальное приложение Youtube (по крайней мере без платной подписки) такой функции не имеет. Решение я обнаружил случайно и помог мне в этом Telegram. Сама идея не нова, но с Telegram это решение первое. К тому же, оно не отображает (и, соответственно, не озвучивает) рекламу.
Читать дальше →

Information

Rating
Does not participate
Location
Кишинев, Молдова, Молдова
Date of birth
Registered
Activity