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

Backend Java developer

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

Правило резервного копирования «3-2-1». Часть 1

Время на прочтение4 мин
Количество просмотров119K
Считается, что бэкап-правило «3-2-1» впервые описал Peter Krogh в своей книге «Управление цифровыми активами для фотографов». И это, наверное, неудивительно, так как потеря личного архива означает для профессионального фотографа полную катастрофу, и он просто обязан придерживаться такой стратегии резервного копирования, которая гарантировано защитит его от потери данных.



Итак, правило «3-2-1» гласит, что для обеспечения надежного хранения данных, необходимо иметь как минимум:
  1. ТРИ резервные копии,
  2. которые должны быть сохранены в ДВУХ различных физических форматах хранения,
  3. причем ОДНА из копий, должна быть передана на внеофисное хранение

Все три составляющих правила базируются на принципе обеспечения отказоустойчивости через избыточность хранения данных.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии17

Как оптимизировали экономику СССР и что из этого вышло

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

Я работаю специалистом по обработке и анализу данных (data scientist), поэтому большая часть моей работы включает в себя подбор оптимизируемых метрик и размышления о том, как выполнять процессы с максимальной эффективностью. Недавно я обнаружил совершенно удивительную книгу об экономических проблемах в СССР и о коллективе экономистов и компьютерных учёных, стремившихся решить их на основе данных. Книга называется Red Plenty. На самом деле она написана в жанре романа, что странно, однако представляет собой точную экономическую историю СССР. Автор активно заимствует информацию из книги 1973 года под названием Planning Problems in the USSR, которую я тоже приобрёл. При чтении этих книг я не мог не обратить внимания на параллели с планированием в любой современной организации. Факт, который покажется сегодня знакомым каждому data scientist: во второй книге есть цитата исследователя, жалующегося на то, что 90% своего времени он потратил на очистку данных, и только 10% — на само моделирование!

Кроме проведения интересных параллелей с современными data science и методами исследований технологических операций, эти книги помогли мне многое понять об интересных аспектах, о которых ранее я почти ничего не знал, например, о линейном программировании, ценовом равновесии и истории Советского Союза. В этом посте я расскажу о том, что узнал.
Читать дальше →
Всего голосов 104: ↑99 и ↓5+131
Комментарии2043

Архитектура приложений — горячие точки

Время на прочтение9 мин
Количество просмотров26K
Как часть нашего проекта, мы свели вместе информацию об общих подходах к разработке архитектуры приложений.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии31

Netflix за 45 минут: Краткий рассказ о system design-интервью, чего ожидать + подборка полезных ссылок

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


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

Итак, что такое system design и как пройти интервью такого типа?
Читать дальше →
Всего голосов 19: ↑16 и ↓3+23
Комментарии2

Программист с помойки

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


Когда-то моя пятая точка была в тепле, я поедал разные офисные ништяки и топил за чистую архитектуру и тесты, активно изучал Kotlin, представлял себе жизнь как нескончаемый подъем вверх, словно есть что-то выше Джомолунгмы. Однако, у вселенной оказались свои планы, и жизнь со всего размаха нанесла мне множество ударов: здоровье полетело в бездонную пропасть, все ниже и ниже, и каждый раз казалось, что я уже на дне, но падение не прекращалось. Удары не сломали, но выбросили на помойку, превратив в больной и немощный мешок, а главным призом за все эти годы нескончаемых напряжений и дедлайнов стало попадание в лигу отбросов общества. Tакова награда великих патриотов! Да-да, именно на помойку, склад ненужных и больных людей, чаще всего молодых, но не потерявших надежду выздороветь и найти решение своей проблемы. Как оказалось, надежда часто является лишь последней станцией перед отправкой в мир иной. Не мог подумать, что удары судьбы могут быть настолько молниеносными, и точно не подозревал, что существует другой огромный мир больных и отчаявшихся, и их количество растет экспоненциально, а прежний мир лишь счастливая виртуальная реальность, вывеска, обман, которого вовсе и не существовало?

Решение рассказать свою историю и пройти процедуру “каминг-аута” является определенным долгом перед Богом, людьми, которых уже нет, и теми, кто ещё пытается тянуть свою лямку. Я многому научился, читая дневники больных и ушедших, благодаря этому не сделал много ошибок, и смог нащупать путь, не превратившись в героя картины Климта “Жизнь и Смерть”.
Читать дальше →
Всего голосов 146: ↑88 и ↓58+70
Комментарии639

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM

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

Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года.

Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “джавистам”, а опытные Java-разработчики смогут освежить свои знания.

* Статья подготовлена на основе доклада Евгения Фраймана — Java разработчика компании IntexSoft.
В статье присутствуют ссылки на внешние материалы
.




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

Шпаргалка по Gradle

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

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


android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.habr.hello"
        minSdkVersion 20
        targetSdkVersion 28
    }
    buildTypes {
        release {
            minifyEnabled false
        }
    }
}

Я не собираюсь подробно описывать, для чего нужна каждая строчка выше — это частные детали реализации андроид-плагина. Есть кое-что более ценное — понимание того, как всё организовано. Информация раскидана по различным сайтам/официальной документации/исходникам градла и плагинов к нему — в общем, это чуть более универсальное знание, которое не хочется забывать.


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

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

Жизнь на частицах

Время на прочтение4 мин
Количество просмотров66K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

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

Под катом много мегабайт гифок.

Читать дальше →
Всего голосов 269: ↑267 и ↓2+265
Комментарии67

Жизнь на частицах 3D

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

ПривеТ! Решил поделиться с читателями своими небольшими экспериментами с системами частиц в трехмерном пространстве. За основу взял публикацию на Хабре об экспериментах с частицами в 2D пространстве.


Всего голосов 57: ↑53 и ↓4+49
Комментарии21

12 вопросов, которые стоит задать потенциальным работодателям

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

Я только что завершил шестинедельный процесс трудоустройства на должность middle-senior разработчика на рынке, где сейчас ведется активная охота за талантами (Амстердам). Иными словами, я побывал на куче собеседований. Чтобы аккуратно разведать, какие компании мне больше всего подходят, я старался задавать побольше вопросов. Тут нужно найти правильный баланс, исходя из своих потребностей и того, кто с вами общается.

Если вы джуниор в поисках работы, то вы, возможно, придете к выводу, что вас на самом-то деле мало интересует, что вам ответят на все приведенные ниже вопросы — вам бы хоть куда-нибудь устроиться. Но даже в этом случае, решите для себя, какие моменты для вас будут стоп-сигналами и спрашивайте с расчетом на то, чтобы всплыла нужная информация. Если есть что-то, что может вас заставить отказаться от вакансии, лучше узнать об этом до того, как примете предложение о работе.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии10

Иди-ка ты на !@# со своей «токсичностью»

Время на прочтение5 мин
Количество просмотров214K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →
Всего голосов 632: ↑488 и ↓144+344
Комментарии1335

Измеряем скорость кода Java правильно (используя JMH)

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

Привет, Хабр!


Это вводная статья про то, как следует делать тесты производительности на JVM языках (java, kotlin, scala и тд.). Она полезна для случая, когда требуется в цифрах показать изменение производительности от использования определенного алгоритма.


Все примеры приведены на языке kotlin и для системы сборки gradle. Исходный код проекта доступен на github.


КДВП

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии8

Эффективные личные финансы. Уровень 1

Время на прочтение8 мин
Количество просмотров205K
Я решил написать эту статью для сотрудников нашей компании, так как понял, что они очень образованные и умные люди, но не перестают беспокоиться о пенсионной реформе
эффективно обращаться с финансами их никто не научил. Как руководитель, заботящийся не только о своем благосостоянии, но и о благосостоянии своих коллег, я постарался взять на себя роль финансового наставника. А мои наставления о том, как стать финансово-эффективным вы можете прочесть под катом.


Читать дальше →
Всего голосов 55: ↑45 и ↓10+35
Комментарии119

Эффективные личные финансы. Простой способ

Время на прочтение4 мин
Количество просмотров76K
Идея написать данную статью возникла после прочтения вышедшей на днях статьи Эффективные личные финансы. Уровень 1. В ней озвучены очень правильные мысли, но в основе лежит необходимость ведения финансового учета, который нужно вести весьма кропотливо и постоянно, а анализ проводить постфактум, когда деньги уже потрачены. Ранее я дважды делал попытки вести финансы подобным образом и мотивация кончалась уже через пару месяцев.

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

Ведя бюджет описанным в статье способом можно:

  1. Ответить на вопрос «почему я неплохо зарабатываю, но в конце месяца у меня всегда ноль?»
  2. Быстро определить и устранить неэффективные траты
  3. Накопить резервный капитал
  4. Подойти вплотную к составлению капитала для инвестиций.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии88

Вопросы для собеседования бэкенд-разработчика

Время на прочтение16 мин
Количество просмотров192K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

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

В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
Читать дальше →
Всего голосов 83: ↑61 и ↓22+39
Комментарии274

Деловая переписка на английском языке: фразы и советы

Время на прочтение18 мин
Количество просмотров612K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
Читать дальше →
Всего голосов 104: ↑100 и ↓4+96
Комментарии80

Как объяснить бабушке, что такое Agile за 15 минут с картинками

Время на прочтение7 мин
Количество просмотров1.2M
«Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.»
— закон Хофштадтера

image

Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.
Всего голосов 72: ↑63 и ↓9+54
Комментарии36

Spring изнутри. Этапы инициализации контекста

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


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

Всех, кого интересует внутреннее устройство Spring, прошу под кат.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+49
Комментарии16

Как создать современную CI/CD-цепочку с помощью бесплатных облачных сервисов

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



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


Такой способ создания программного обеспечения используется в процессах Непрерывной интеграции (Continuous Integration) и Непрерывного развертывания (Continuous Deployment), или CI/CD-цепочке. В этой статье мы пройдем по всем шагам настройки такой цепочки, используя для ее построения бесплатные облачные сервисы.

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

Безопасность в веб-разработке: чек-лист

Время на прочтение5 мин
Количество просмотров20K
Светлана Шаповалова, редактор «Нетологии», адаптировала статью Michael O'Brien, в которой он составил чек-лист для веб-разработчиков, предпочитающих разрабатывать не только удобные, но и безопасные приложения.

Разработка безопасных и надежных облачных веб-приложений — очень, очень сложное дело. Если вы думаете иначе, вы либо не от мира сего, либо жизнь вас еще не проучила.

Если вы уже заразились идеей «минимально жизнеспособного продукта» (англ. MVP — minimum viable product, прим. перев.) и считаете, что за месяц можно создать одновременно полезный и безопасный продукт — подумайте дважды, прежде чем выпускать его. Просмотрев чек-лист, вы поймете, что оставляете немало уязвимостей.


Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии7

Информация

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