Как стать автором
Обновить
10
0

Пользователь

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

Cron — лучшие практики

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

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

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

Интернет проект security.txt — знакомство с еще одним .well-known файлом

Время на прочтение1 мин
Количество просмотров14K
Основная идея проекта — формализация взаимодействия между внутренней ИБ и внешними исследователями, давая четкое указание как и куда направлять информацию об уязвимостях или проблемах безопасности. Формализация взаимодействия — серьезная проблема, не все сайты имеют программы bug bounty, или даже просто указывают контакты специалистов по безопасности. А попытки достучаться через службу поддержки и твиттер зачастую заканчиваются уверениями что «Все так и должно быть», и последующим игнорированием.

Конечно, это будет работать только если компания, размещающая информацию в security.txt, готова проверять и своевременно реагировать на информацию, полученную через этот канал.


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

Как найти плагиат в контестах по программированию

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

Многие (особенно в постсоветских странах) относятся к списыванию довольно беззаботно. Ученики в школах, студенты в университетах, а затем и специалисты в своей работе заимствуют чужие идеи и решения, не чувствуя вины за обман. Между тем плагиат — это не безобидное «подумаешь, списал», а серьезная проблема, которая ведет к мошенничеству и коррупции [1, 2]. 

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

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии15

Какие вопросы задать работодателю на собеседовании?

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

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

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

Читать далее
Всего голосов 22: ↑20 и ↓2+22
Комментарии18

Безопасность веб-приложений

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

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

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии7

Техника для проверки подлинности денег

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

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

Рассмотрим подробно, как защищены современные валюты, как происходит проверка подлинности (валидация) и что за аппаратура для этого применяется.
Читать дальше →
Всего голосов 362: ↑361 и ↓1+360
Комментарии143

План самостоятельного обучения DDD, CQRS, EventSourcing

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

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD
Всего голосов 32: ↑31 и ↓1+34
Комментарии4

Как IT-специалисту развивать софт-скиллы, и зачем это вообще нужно

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

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

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

Как обычно, истина где-то посередине. Меня зовут Дмитрий Петренко, я из Московского кредитного банка, и именно на примере МКБ я хочу немного рассказать про развитие айтишных софт-скиллов. Мы занимаем второе место в списке банков с частным капиталом, у нас более 5 000 сотрудников, 700+ штатных IT-специалистов и множество IT-аутсорса. Так что компетенции в плане общения и совместного выполнения задач в нашем случае — штука важная.

Читать далее
Всего голосов 19: ↑15 и ↓4+20
Комментарии38

Переводы всех статей Пола Грэма на всех языках (210+)

Время на прочтение7 мин
Количество просмотров32K
image
(иллюстрация Asya_Dyu)

Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ.

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

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

Сейчас около 2 миллиардов человек могут прочитать эссе Пола Грэма. Моя задумка в том, что если перевести его эссе на топ-20 языков, то это даст возможность еще 2 миллиардам людей случайно наткнуться на перевод на родном языке (как это было у меня) и встать на путь стартапера.

Читать лучше в оригинале, но путь к оригиналу иногда бывает (только) через перевод.
Читать дальше →
Всего голосов 28: ↑21 и ↓7+18
Комментарии15

Как мы ускоряли комментарии Хабра

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

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

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

Этому есть несколько причин. Во-первых, Хабр стал одностраничным приложением (SPA, Single Page Application) на Vue, то есть теперь переходы между страницами рисуются на клиенте с помощью JS вместо классического серверного рендеринга (Server-Side Rendering, SSR). Такие SPA-страницы отображаются быстрее на современных устройствах, но на старых девайсах могут тормозить.

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

В октябре мы постепенно выкатывали на часть пользователей обновлённую версию комментариев, над которой трудились последние полгода. Наши новые комментарии должны рендериться быстрее и доставлять удовольствие всем, а не только обладателям топовых MacBook Pro c M1 Max.

Давайте посмотрим, как работали комментарии полгода назад, до того, как мы начали работу по оптимизации.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+79
Комментарии147

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

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

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

Читать далее
Всего голосов 109: ↑109 и ↓0+109
Комментарии27

Антиплагиат исходного кода: гибридный подход с использованием парсера ANTLR

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

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

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

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

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


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Всего голосов 139: ↑119 и ↓20+126
Комментарии247

Тестируем собственную батарейку для Django с pytest и tox

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

Итак, у нас есть идея потрясающей и всем необходимой батарейки для Django. После того, как мы написали весь код мы готовы релизнуть нашу батарейку в PyPI. Однако перед этим мы должны разобраться с несколькими моментами.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии2

Запросы в PostgreSQL: 7. Сортировка и слияние

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

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии6

Запросы в PostgreSQL: 6. Хеширование

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

В предыдущих статьях я рассказал про этапы выполнения запросов, про статистику, про два основных вида доступа к данным — последовательное сканирование и индексное сканирование, — и перешел к способам соединения.

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

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

Сравнение подходов к реализации распределенных транзакций для микросервисов

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

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии9

Первые шаги в aiohttp, часть 2: подключаем базу данных к приложению

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

Привет!

В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.

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

Если вам интересно асинхронное программирование, приходите к нам на курс в KTS, где мы гораздо подробнее разберем эту тему.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии12

Какую СУБД выбрать и почему? (Статья 1)

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

Первая часть в серии статей про СУБД, в которых будут представлены простые и понятные критерии, на основе которых можно будет получить подсказку, какую СУБД выбрать для своего проекта.

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

Читать далее
Всего голосов 45: ↑33 и ↓12+28
Комментарии39

Опасные «вкусняшки». Ядовитые лесные ягоды. Памятка для детей и взрослых

Время на прочтение14 мин
Количество просмотров89K
Почитали читатели мои статьи про ядовитые растения и внезапно озаботились дикорастущими ягодами. Ведь ухватить растение желающих намного меньше, чем попробовать незнакомую ягоду яркой расцветки. Я решил отреагировать, и представить вашему вниманию шорт-лист ядовитых лесных ягод (исчерпывающий?). По всем вопросам, в т.ч. с фотографиями незнакомых растений — обращаться в тг-канал LAB-66

Красна ягодкА, да на вкус горькА
Всего голосов 47: ↑42 и ↓5+51
Комментарии142

Информация

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