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

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

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

Защита Linux-сервера. Что сделать в первую очередь

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

Habib M’henni / Wikimedia Commons, CC BY-SA

В наше время поднять сервер на хостинге — дело пары минут и нескольких щелчков мыши. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета как невинная девушка на рокерской дискотеке. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Читать дальше →
Всего голосов 50: ↑43 и ↓7+52
Комментарии100

Как сделать nginx безопасным

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


TL;DR: абсолютно устойчивых систем не существует, поэтому ответ — никак. Но можно значительно упростить себе жизнь с помощью Docker-контейнера bunkerized-nginx. О том, чем он отличается от стандартного образа nginx и что интересного умеет, поговорим под катом.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+34
Комментарии24

Как мы нарисовали на карте несколько тысяч интерактивных объектов без вреда для перформанса

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

Привет, меня зовут Дарья, и я Frontend-разработчик юнита Гео в Авито. Хочу поделиться опытом того, как мы сделали на вебе новый поиск по карте, заменив кластеры более удобным решением и сняв ограничение на количество отображаемых объектов.


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


Читать дальше →
Всего голосов 35: ↑33 и ↓2+36
Комментарии30

Огнестрельный DIY: история и перспективы 3D-печатного оружия

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

В 2013 году Коди Уилсон напечатал на 3D-принтере первый пластиковый пистолет, способный стрелять боевыми патронами.


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



Посмотрим, как изменилась ситуация вокруг 3D-печатного оружия за 7 лет. Спойлер: она стала только острее.


Под катом: 30 минут чтения, 9 пластиковых пушек, 7 видео, 3 научных исследования, 1 метаанализ и тема для эпичного холивара. Но ни одной инструкции или файла для печати. Извините, товарищ майор.

Всего голосов 89: ↑89 и ↓0+89
Комментарии383

Установка or-tools с SCIP и GLPK в виртуальное окружение Python 3.7 на Linux

Время на прочтение3 мин
Количество просмотров2.9K
Решил я поучаствовать в соревновании и понадобилось для него использовать пакеты для решения задач оптимизации. Выбрал гугловский инструмент or-tools, который представляет из себя интерфейс для разных решателей (или решал? solverов?). Он содержит в себе несколько инструментов оптимизации, но создателями заявляется поддержка нескольких внешних пакетом, в том числе коммерческих Gurobi и CPLEX. Однако люди мы небогатые, и использовать будем бесплатные SCIP и GLPK (от отечественного разработчика, между прочим). На моё удивление ни одной инструкции о том, как заставить всё это великолепие работать в виртуальном окружении питона, на просторах как нашего, так и англоязычного сегментов интернета я не нашёл и пришлось немного повозиться. Для тех, кто очень спешит, читайте сразу тут, остальным предлагаю познакомиться с сомнительного качества моей графоманией, описывающей перипетии установки гугловского софта. Да, забыл сразу сказать, что устанавливалось всё в Manjaro Linux.

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

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

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

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 155: ↑150 и ↓5+191
Комментарии342

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

Поможем разработчикам: преимущества и недостатки сloud, предоставим 1000 облачных серверов в Нидерландах и США бесплатно

Время на прочтение10 мин
Количество просмотров9.8K
Как и у любого крупного хостинг-провайдера у нас есть простаивающие инфраструктурные мощности, причём в довольно большом количестве. 3 года назад мы анонсировали услугу облачных виртуальных серверов в Нидерландах и США, которая была разработана нашим партнёром, компанией LeaseWeb, в надежде получить часть пользователей набиравшего уже тогда популярность Digital Ocean. Мы, как партнёр, решили поучаствовать в этом проекте и купили довольно большую часть облачной инфраструктуры, настолько большую, что решили первую 1000 облачных серверов отдать по заниженой цене (дешевле себестоимости). Сегодня мы хотим пойти ещё дальше, рассмотреть все достоинства и недостатки и предложить такое же количество облачных серверов:

1 vCPU / 1GB RAM / 40GB SSD / 1 Gbps 4TB
2 vCPU / 2GB RAM / 60GB SSD / 1 Gbps 6TB

БЕСПЛАТНО для разработчиков с Habrahabr, на срок до востребования (это могут быть месяцы и даже год), но почему?

Облачные VPS стали хорошим вариантом на пути к выделенному серверу, до момента пока мы не анонсировали VPS (KVM) c выделенными накопителями, превзошедшие выделенные серверы начального уровня по производительности, а по цене оказавшиеся дешевле старших тарифов облачных VPS, однако содержащие больше ресурсов и плюшек — удобную панель управления, возможность монтирования собственного образа, возможность получить Windows на пол года бесплатно. В данный момент мы предлагаем 30% скидку для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас, промо-код доступен в статье: вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? Доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4 RAM. Большинство клиентов уже перешло на эти решения и в данный момент у нас переизбыток VPS от которых мы отказываться не хотим, так как они по-прежнему хороший вариант для начинающих, но и не хотим, чтоб они просто «грели воздух».
Всего голосов 21: ↑19 и ↓2+17
Комментарии580

Многопоточный сервер на C# за 15 минут

Время на прочтение11 мин
Количество просмотров333K
C# довольно простой и гибкий язык. Вместе с .NET поставляется довольно много уже готовых классов, что делает его еще проще. Настолько, что вполне можно написать простой многопоточный HTTP-сервер для отдачи статического содержимого всего за 15 минут. Можно было бы использовать уже готовый класс HttpListener и управиться еще быстрее, но цель этой статьи — показать, как вообще можно сделать нечто подобное в C#.
Читать дальше →
Всего голосов 94: ↑77 и ↓17+60
Комментарии72

Пример написания функциональных требований к Enterprise-системе

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

Целью нашей разработки было создание с нуля учетной системы для одной из крупных российских компаний. Система была призвана заменить текущую, написанную в конце 90-х. В результате были реализованы платформа и один из бизнес-модулей. В реализованной части было порядка 120 объектов, 180 таблиц, около 30 печатных форм.

Хочу оговориться, что подход, описанный ниже, не универсален для написания любого ПО. Он подходит для систем уровня предприятия, которые строятся на основе объектно-ориентированного подхода: учетных, CRM-, ERP-систем, систем документооборота и т.п.

Вся документация на наш программный продукт состояла из следующих разделов:
  • Общая часть
    • Список терминов и определений
    • Описание бизнес-ролей
  • Требования
    • Бизнес-требования
    • Общие сценарии
    • Сценарии использования
    • Алгоритмы и проверки
    • Системные требования
    • Нефункциональные требования
    • Требования к интеграции
    • Требования к пользовательскому интерфейсу
  • Реализация
  • Тестирование
  • Руководства
  • Управление

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии36

Информация

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