Pull to refresh
-1
0.3

User

Send message

25+ сервисов, которых боятся ваши конкуренты

Reading time9 min
Views77K

Врага надо знать в лицо. А в digital-маркетинге нужно знать, какую тактику он применяет и какие результаты получает. Анализ конкурентов полезен на любом этапе развития бизнеса. Если вы только начинаете (или планируете) продвижение в интернете, вы можете узнать:

Читать далее

Хаки при работе с большим числом мелких файлов

Reading time7 min
Views45K
Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



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

Поэтому делюсь нашим опытом, может кому и пригодится.
Читать дальше →

Ронго-ронго: нерасшифрованная письменность острова Пасхи

Reading time8 min
Views26K

Изобретатели


Письменность — один из столпов, на которых стоит современная цивилизация. Хотя мы и воспринимаем её как естественную часть нашей повседневной жизни, когда-то она была изобретена. Такое случалось всего несколько раз, в статье речь пойдет как раз про один из таких случаев — письменность острова Пасхи, также называемого Рапа Нуи. Это маленький уединенный остров длиной 24 километра, до ближайшего населенного острова плыть от него 1600 километров по прямой. Полинезийские мореходы попали туда примерно в 1200 году, а европейцам он стал известен в 1722. Европейцев впечатлили сотни каменных статуй, созданных островитянами, до 10 метров высотой и до 80 тонн веса каждая. Этим Рапа Нуи отличался ото всех прочих полинезийских островов, на которых если и делали каменные статуи, то весьма скромных размеров. Несмотря на это, европейцы обращались с местным населением как с дикарями: ловили их и продавали в рабство, захватили их землю, превратили весь остров в пастбище и, наконец, выживших обратили в христианство, запрещав говорить на родном языке и воспроизводить местную культуру.

Открытие


В 1864 году миссионер Эйро сделал удивительной открытие: чуть ли не в каждой хижине хранились небольшие дощечки, покрытые мелкой резьбой, которые как будто бы можно было читать до того, пока все грамотные островитяне не умерли в рабстве. Мы точно не знаем, что именно произошло, по-видимому, Эйро объявил таблички запретными, препятствующими попаданию в рай и призвал их сжигать. Помимо христианства Эйро привез на остров туберкулёз, эпидемия которого за несколько лет выкосила четверть населения. После его смерти в 1868 другой священник, пришедший на смену Эйро, всё же решил рассказать о табличках начальству. Епископ Жоссан на Таити тут же понял, каково значение находки, но к тому моменту осталось всего две дюжины артефактов с надписями. Так мир узнал про ронго-ронго — письменность острова Пасхи.
Читать дальше →

(Не)очевидный OSINT в Twitter

Reading time7 min
Views8.3K


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

Немаловажно и то, что для эффективной работы с массивом данных из Twitter не обязательно обрабатывать каждый твит вручную, либо же бросаться в другую крайность — подключаться к API и самому писать софт. Хотя стандартный интерфейс сервиса не дает нам почти ничего в плане поисковых инструментов или инструментов фильтрации, при этом Twitter поддерживает огромное множество поисковых запросов и правил, о которых нигде толком в стандартном веб-интерфейсе или приложении не упоминается. Именно с использования этих запросов и стоит начать.
Читать дальше →

Законы программирования

Reading time20 min
Views60K

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


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


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

Что такое Spring Framework? От внедрения зависимостей до Web MVC

Reading time41 min
Views566K


Вы можете использовать это руководство для различных целей:


  • Чтобы понять, что такое Spring Framework
  • Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC
  • Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов)

Примечание: Статья ~ 9000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже. И даже на компьютере ешь читай этого слона по одному кусочку за раз :-)


Содержание


  • Введение
  • Основы внедрения зависимостей
  • Контейнер Spring IOC / Dependency Injection
  • Spring AOP (Аспектно-ориентированное программирование) и прокси
  • Управление ресурсами Spring
  • Spring Web MVC
  • Дополнительные модули Spring Framework
  • Spring Framework: часто задаваемые вопросы
  • Заключение
Читать дальше →

Aсинхронный PHP

Reading time14 min
Views55K
Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переписывать на чем-то побыстрее.

Параллельно велась разработка библиотеки ReactPHP с применением концепции Event Loop для обработки сигналов от ОС и представления результатов для асинхронных операций. Развитие идеи ReactPHP — AMPHP. Эта библиотека использует тот же Event Loop, но поддерживает корутины, в отличие от ReactPHP. Они позволяют писать асинхронный код, который выглядит как синхронный. Возможно, это самый актуальный фреймворк для разработки асинхронных приложений на PHP.



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

Об этом и поговорит Антон Шабовта (zloyusr) — разработчик в компании Onliner. Опыт больше 10 лет: начинал с десктопных приложений на С/С++, а потом перешел в веб-разработку на PHP. «Домашние» проекты пишет на C# и Python 3, а в PHP экспериментирует с DDD, CQRS, Event Sourcing, Async Multitasking.

70 вопросов по JavaScript для подготовки к собеседованию

Reading time43 min
Views998K
Доброго времени суток, друзья!

Надеюсь, эта статья будет полезна как начинающим разработчикам, так и опытным.

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

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

Итак, поехали.
Читать дальше →

И снова капча или nginx тоже умеет вышивать

Reading time9 min
Views9.3K

Введение


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


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

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

Подделка серверных запросов, эксплуатация Blind SSRF

Reading time7 min
Views10K
Есть такая штука, называется SSRF. Про нее написано немало, но все же, я расскажу тебе вкратце.

Допустим, ты заходишь на сайт, заполняешь профиль и доходишь до пункта “загрузить аватарку”. А у тебя выбор — загрузить файл или указать ссылку.
Читать дальше →

Зачем ограничивать наследование с помощью final?

Reading time45 min
Views40K

Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией.


Гибкость – это конечно полезная черта дизайна. Однако при выборе архитектуры нас интересуют в первую очередь сопровождаемость, тестируемость, читабельность кода, повторное использование модулей. Так вот с этими критериями хорошего дизайна у наследования тоже проблемы. «И что же теперь, не использовать наследование вообще?» – спросите Вы.


Давайте посмотрим на то, как сильная зависимость между классами через наследование может сделать архитектуру вашей системы чрезмерно жесткой и хрупкой. И зачем использовать одно из самых загадочных и неуловимых в коде ключевых слов – final. Сформулированные идеи демонстрируются на простом сквозном примере. В конце статьи приведены приемы и инструменты для удобной работы с final классами.


Проблема хрупкого базового класса


Проблема хрупкого базового класса

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

В Германии стоимость поездки на электромобиле может быть выше, чем на дизельном авто

Reading time4 min
Views38K


В Германии постепенно растет недовольство в сообществе любителей электромобилей, связанное с сильным ростом цен на электроэнергию на зарядных станциях. В зависимости от поставщика услуг и условий контракта цена на быстрых зарядных станциях постоянного тока, особенно актуальных для тех, кто много ездит, может колебаться от 39 до 89 центов за кВт*ч электроэнергии. Как следствие — при определенных условиях стоимость поездки на электромобиле получается выше, чем на дизельном. К сожалению, пока улучшений не предвидится.
Читать дальше →

А компетентен ли советчик? Проблемы рекомендации «не изобретай велосипед»

Reading time3 min
Views11K

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


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


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


Упустить из виду этот принцип, все равно, что признаться в собственной неспособности решать прикладные задачи.


Рассмотрим несколько случаев.


image
Источник

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

Современный PHP без фреймворков

Reading time13 min
Views92K


У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать пакеты, написанные разработчиками нескольких фреймворков. Я всецело уважаю инновации в этой сфере.

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

Массивы, указатели и другие квантовые явления вокруг нас

Reading time6 min
Views30K
Не хочу говорить, что мы все живем в матрице, но для имитации соседей подозрительно используется один и тот же звук катающегося шара.



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

Как я сделал AI для выявления фейковых новостей с точностью в 95% и чуть не рехнулся

Reading time6 min
Views55K
Краткий пересказ: мы сделали программу, определяющую надежность новостей с точностью 95% (на валидационной выборке) при помощи машинного обучения и технологий обработки естественного языка. Скачать ее можно здесь. В условиях реальной действительности точность может оказаться несколько ниже, особенно по прошествии некоторого времени, так как каноны написания новостных статей будут меняться.

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



С этим можно поспорить, но, на мой взгляд, самый сложный этап в создании собственной модели машинного обучения — сбор материалов для обучения. Когда я обучал модель для распознавания лиц, мне пришлось несколько дней собирать фотографии каждого из игроков лиги НБА в сезоне 2017/2018. Теперь же я и не подозревал, что мне придется провести погруженным в этот процесс несколько мучительных месяцев и столкнуться с очень неприятными и жуткими вещами, которые люди пытаются выдать за настоящие новости и надежную информацию.
Читать дальше →

Конструирование сайта, защищенного от блокировок

Reading time4 min
Views22K

Привет всем! В связи с ростом блокировок, в том числе необоснованных, сайтов со стороны государства, вашему вниманию предлагается описание идеи, а также прототип настроек сайта, защищенного от блокировок по конкретному пути и доменному имени. Идеи по защите от блокировок:


  • со звездочкой
  • по адресу IP

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

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

Information

Rating
3,364-th
Registered
Activity