Pull to refresh
-1
0
Send message

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

Reading time7 min
Views84K

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

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

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

Reading time3 min
Views19K


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

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

Reading time9 min
Views18K

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


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


Читать дальше →
Total votes 35: ↑33 and ↓2+36
Comments30

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

Reading time14 min
Views69K

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


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



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


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

Total votes 89: ↑89 and ↓0+89
Comments383

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

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

Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments2

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

Reading time12 min
Views204K

Дисклеймер:


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

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

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

Reading time2 min
Views1.4M

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

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

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

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

Reading time10 min
Views9.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 от которых мы отказываться не хотим, так как они по-прежнему хороший вариант для начинающих, но и не хотим, чтоб они просто «грели воздух».
Total votes 21: ↑19 and ↓2+17
Comments580

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

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

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

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

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

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

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

Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments36

Information

Rating
Does not participate
Registered
Activity