Задать вопрос
  • Как лимитировать трафик с определенной страны в Nginx?

    @dodo512
    limit_req_zone
    В качестве ключа можно использовать текст, переменные и их комбинации.
    Запросы с пустым значением ключа не учитываются.

    С помощью map новой переменной присваивать либо пустую строку либо $binary_remote_addr.

    limit_req_zone $bad_locale zone=zh_limit:10m rate=10r/s;
    
    map $cookie_locale $bad_locale {
        default     "";
        "zh"        $binary_remote_addr;
    }

    Дальше использовать limit_req zone=zh_limit как обычно. Ограничивать будеть только тех кто с нужной кукой.

    Ещё вариант $http_accept_language если нужно проверять содержимое заголовка Accept-Language.
    map $http_accept_language $bad_locale {
    default     "";
    ~^zh        $binary_remote_addr;
    }
    Ответ написан
    3 комментария
  • GitHub, GitLab или BitBucket?

    Я рекомендую Gitlab
    - Можно хостить весь Gitlab у себя. Вначале это может показаться лишним, но многие работодатели так делают, поэтому навыки по работе с Gitlab пригодятся.
    - Отличный CI. Как по мне, гораздо лучше чем Github actions
    - Проекты в Gitlab можно спокойно и очень просто синхронизировать с тем же самым Github прямо из интерфейса Gitlab, таким образом мы получаем преимущества обеих систем.

    bitbucket всё, забудьте о нём.
    Ответ написан
    7 комментариев
  • Как лечится кризис начинающего программиста?

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

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

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

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

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

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

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
    11 комментариев
  • Настройкии IIS 10 на высокую производительность?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если вам нужна производительность, то следует выкинуть IIS в топку и использовать стандартный nginx на debian/centos. А если у вас в приложении нет жесткой привязки к винде, то и винду можете выкинуть в топку и использовать линукс в качестве сервера для вашего приложения.
    Ответ написан
    3 комментария
  • Как реализовать просмотр изображения?

    @rPman
    System.Drawing
    Загружаешь классом Image, превращает в битмап (не сжатый набор пикселов) с помощью Bitmap, у него есть метод bitmap.Clone в парметрах указываешь прямоугольную область (стороны параллельны осям) ну и обратно сохраняешь тут же bitmap.Save или отобразить как фон любого элемента UI или канвас

    Для различных трансформаций изображения есть Graphics, там есть к примеру поворот на произвольный угол с помощью RotateTransform
    Ответ написан
    1 комментарий
  • Возможно ли задать подсказку в phpstorme для возвращаемого типа?

    @Vitsliputsli
    Это не просто подсказки, это контроль типов. То, что зная какой тип возвращается Шторм может подсказать варианты это побочное удобство. Основное же должно быть то, что конкретная переменная имеет определенный тип, а значит не нужны дополнительные проверки и методы будут лаконичны и конкретны. У вас пока, то ли объект, то ли массив, то есть каждый раз нужно проверять что это. Лучше бы сделать объект-коллекцию.
    Чтобы указать Шторму, что в конкретной переменной лежит только этот тип используется хинт, типа такого:
    /** @var User $user */
    но разумеется, он должен быть только в том коде где в $user лежит обязательно объект класса User и ни что иное.
    Ответ написан
    1 комментарий
  • Как можно защититься от подобных ситуаций?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    У Google есть форма, через которую можно жаловаться на подобные сайты. При большом количестве жалоб, сайт удаляют из выдачи, как это было с qaru.site.
    Ответ написан
    2 комментария
  • Какие БД используют крупнейшие торговые сети для хранения заказов?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Какие БД используют крупнейшие торговые сети для хранения заказов?

    В Магнит и X5 используются PostgreSQL, Greenplum и Clickhouse. В Эльдорадо во времена моей работы был Oracle и MS SQL Server, сейчас наверняка на PostgreSQL переехали.

    Также, я думаю, что множество магазинов могут быть обслуживаться отдельными кластерами, чтобы работа всей сети не остановилась, если какая та БД выйдет из строя?

    Опять же не знаю, как сейчас, но 13 лет назад у Эльдорадо была довольно устойчивая иерархическая инфраструктура. Часть сервисов жила в двух ЦОДах, часть в серверных региональных офисов, часть на серверах магазинов, плюс кассы какое-то время могли продолжать работать вообще самостоятельно.
    Ответ написан
    Комментировать
  • Какие БД используют крупнейшие торговые сети для хранения заказов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я полагаю, что такие магазины сохраняют всё, например в postgres или greenplum, а затем передают в аналитические базы (или пишут параллельно), типа в кликхаус или oracle?


    XX век прошел под флагом реляционных СУБД. Вокруг них строились все системы.
    Для любой банковской системы БД - абсолютная царица дизайна. Именно от нее шло
    техническое задание. От базы а не от Хибернейта и синтетических таблиц как щас.
    Таблицы любили. Вокруг них строили красивые теории. Модели. EAV. Подгоняли
    аппарат алгебры (Эдгар Кодд со своими формочками).

    В появлением NoSQL и стриминговых систем - пришлось всем признать что реляционка
    исчерпала возможность линейного роста. У Майкла Стоунбрейкера есть статья где
    он меряет БД под нагрузкой и доказывает что треть ресурсов CPU просто сгорает
    в блокировках и защелках и прочих механизмах синхронизации.

    Какой софт использует розничная торговля - сложно сказать. Там будет десяток систем которые
    работают просто всместе как Grid. Например сообщения от кассовых аппаратов и платежных
    систем могут в первую очередь падать в JMS/MQ систему. А уже потом процесситься и ложиться в
    БД операционного дня. И по проишествии периода - сливаться Warehouse и в BigData
    Есть еще вариант что в аналитику сразу попадают данные со стриминга. Я такое видел.
    И это не последняя часть стека. Аналитика в свою очередь является источником для всяких
    BI, витрин данных. ОЛАП-кубиков и прочее что любят смотреть и показывать на презентациях.
    С красивой инфографикой.

    Что использует Магнит - чорт его знает. Это можно поискать по всяким конференциям. Но само
    знание или название продуктов вам ни о чем не скажет. Если они используют допустим
    Kafka+Clickhouse - из этого не следует что вам это пригодится.

    Были странные архитектурные решения. Uber например пытался выжать максимальные мощности
    из Postgres и не смог. Перешел на MySQL. Видимо им было достаточно MyISAM и брали лишь
    только те фичи что надо.

    Facebook строил Rocksdb (Key-Value) с очень сильной оптимизацией по диску. Там уже было
    не R+Tree а другой тип дерева. Тоже видимо у конторы так "пригорело" что им надо было
    штучную NoSQL делать.

    СБЕР по слухам строил на Apache Ignite прослойку между Ораклом и клиентами потому что Оракл
    не справлялся с нагрузками. Впрочем я не могу это нигде доказать. Просто слышал в разговорах
    архитекторов. И это очень штучное и очень деликатоное решение. Другим оно может вообще не подойдет.
    Нужно много думать о механике инвалидации кешей.

    Хедж фонд BridgeWater строит свои хранилища ассетов на базе Amazon S3. Реально эти ребята пихают
    в С3 все что можно. И в этом есть своя стратегия. S3 стоит дешево. И масштабируется. Дешевле чем DBMS.

    Также, я думаю, что множество магазинов могут быть обслуживаться отдельными кластерами, чтобы работа всей сети не остановилась, если какая та БД выйдет из строя?

    Эту задачу тоже можно решать на разных уровнях. Мне нравится решение от Cassandra. Там все
    таблицы имеют 1-2 реплики. И убить всю систему в целом в принципе невозможно пока последний
    датацентр стоит. Но Кассандра платит за это отказом от consistency и вообще она считается не-реляционкой.
    Хотя базовый диалект SQL поддерживает. Фактически она - умный NoSQL c хорошим сетевым протоколом
    обхода сбоев и конфликтов. Кажется Netflix ее активно использует.

    Вобщем можно дизайнить системы по разному усиливая одни части и ослабляя другие.
    Это как тот треугольник дешево-медленно-дорого но в углах стоят разные качества. Например
    CAP-свойства систем. Или приоритеты. Тебе что важно. Быстро записать в БД платеж? Но при этом
    чтение оперативных данных потребует лагов. Или наоборот писать медленно зато чтоб все по ящичкам
    и по коробочкам лежало да и еще в разных копиях и вариациях.
    Ответ написан
    10 комментариев
  • Стоили тратить время на WordPress?

    kasheibess
    @kasheibess
    веб уже не тот
    WP всего лишь инструмент. Посмотрите на сайт puzzle-english.com Очень достойный сайт. Там WP +React. Такой сайт стоит явно больше 1000 рублей. Лично я использую WP в своих проектах из-за удобной админки и простого API. Посмотрите сайт https://sayes.ru он тоже на WP.
    Если на WordPress можно делать быстро простые сайты-это не значит, что нельзя делать сложные и за дорого.
    Ответ написан
    Комментировать
  • Стоили тратить время на WordPress?

    @weart
    У меня средний ценник на сайты на вп 1000-1500 долларов. Знаю проекты за несколько миллионов на нем. Но без отличного знания html/css/нативного js и фреймоворков/php, а также умения дизайнить в фотошопе/скетче/иллюстраторе и сотни смежных моментов вы будете делать сайты за 1000 рублей.

    Вордпресс всего лишь инструмент, с которым 90% людей не умеют обращаться.
    Ответ написан
    Комментировать
  • Стоили тратить время на WordPress?

    radist2s
    @radist2s
    Back-end и front-end разработчик
    WordPress, как уже заметили выше, лишь инструмент. Для меня WP это лишь админка. Раньше для создания интерфейса админки нужно было использовать плагины вроде Advanced Custom Fields. Сегодня развивается система блоков для редактора, которые, кстати, пишутся на React. Как рисовать клиентскую часть по сути не важно. Можно использовать классический паттерн: только php. В таком случае обратите внимание на тему-боилерплейт Sage, а так же на окружение для WP "Bedrock". С ним можно будет коппозером устанавливать плагины и темы, и сам WP тоже.
    По поводу сайтов за 1000 рублей вы зря. Я делаю свои проекты исключительно на WordPress, но у меня и специфика проектов особенная, там вообще не важно на чем, нужна удобная админка для контента. Знания WP никак не влияют на зарплату, влияют только ваши реальные знания в разработке в целом.
    Ответ написан
    Комментировать
  • Зачем нужен HTML если есть WordPress?

    а еще есть конструкторы сайтов, вроде wix, там даже чайник сделает сайт, и вордпресс не нужен, и HTML со всеми приблудами, только мышкой орудуй и все.
    Ответ написан
    Комментировать
  • Зачем нужен HTML если есть WordPress?

    Stalker_RED
    @Stalker_RED
    Представим вместо вас новичка автомеханика:

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

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

    Посмотри на яндекс-маркет или на гуглокарты. Посмотри на вконтактик или на тостер, на котором ты этот вопрос задал. Сможешь повторить это на вордпрессе? Вот затем и учат, чтобы уметь делать что-то отличающееся от блогов на вордпрессе.
    Ответ написан
    2 комментария
  • Чем frontend разработчик занят на реальных проектах?

    @Giperoglif
    Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД
    - это важно для фронтенда знать, что такое просто есть) явно вас не тем загружают.
    Ответ написан
    2 комментария
  • Чем frontend разработчик занят на реальных проектах?

    С резким ростом популярности React Server Components и Next.js в последнее время происходит некий сдвиг в понимании, что такое фронтенд.
    BFF уже почти становится неотъемлемой частью "фронтенда", и становится обременительно разделять браузер и сервер на разные команды.
    На Западе, вообще, уже очень давно и макетами, и вёрсткой, и анимациями очень часто занимается один человек - дизайнер, фронтендеры занимаются связкой браузер + BFF, а бэкендеры занимаются более сложной бизнес-логикой.
    К тому же, джуниорам зачастую дают те задачи, которыми сами не хотят заниматься, и на что нет времени. Т.е. это что-то занудное, работа с legacy, передвижение кнопки на 5px влево и т.д. Крайне редко джуниорам дают интересные творческие задачи. Не факт, что вам на новом месте не дадут такие же неинтересные задачи.
    Вы можете либо молча сильно стараться в надежде, что вам потом дадут что-то интересное, заметив ваше рвение, либо, лучше всего, пообщаться по-человечески с коллегами и начальством, объяснив, что вы рветесь в бой, а вас в тылу держат. Попросите рассказать об их планах на ваш счёт.
    Не исключено, что у вас как раз хорошо получается "Настройка тестов, CI/CD, OLAP CUBE, оптимизация запросов к БД", и поэтому вам эти задачи и дают)
    В общем, человеческое общение с коллегами очень часто решает проблемы.
    Если же вы к ним придёте с открытой душой, а вас токсично отошьют, вот тогда подумайте о смене работы.
    Ответ написан
    7 комментариев
  • У меня не получается спарсить ссылку на фото с сайта, help?

    @rPman
    Не нужно ничего там парсить, сайт предоставляет официальный механизм для автоматизации - rss
    https://new-science.ru/search/%D0%B3%D0%BB%D0%BE%D...
    <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
            xmlns:content="http://purl.org/rss/1.0/modules/content/"
            xmlns:wfw="http://wellformedweb.org/CommentAPI/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:atom="http://www.w3.org/2005/Atom"
            xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
            xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
            >
    
    <channel>
            <title>Вы искали глобальное потепление | New-Science.ru</title>
            <atom:link href="https://new-science.ru/search/%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5+%D0%BF%D0%BE%D1%82%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5/feed/rss2/" rel="self" type="applica
    tion/rss+xml" />
            <link>https://new-science.ru</link>
            <description>Актуальные новости научных открытий, высоких технологий, электроники и космоса.</description>
            <lastBuildDate>Sat, 05 Apr 2025 17:04:46 +0000</lastBuildDate>
            <language>ru-RU</language>
            <sy:updatePeriod>
            hourly  </sy:updatePeriod>
            <sy:updateFrequency>
            1       </sy:updateFrequency>
            <generator>https://wordpress.org/?v=6.7.2</generator>
    
    <image>
            <url>https://new-science.ru/wp-content/uploads/2019/08/favicon.png</url>
            <title>Вы искали глобальное потепление | New-Science.ru</title>
            <link>https://new-science.ru</link>
            <width>32</width>
            <height>32</height>
    </image>
    ...
                    <item>
                    <title>Атмосферные реки мигрируют к полюсам, изменяя климат планеты</title>
                    <link>https://new-science.ru/atmosfernye-reki-migrirujut-k-poljusam-izmenyaya-klimat-planety/</link>
    
                    <dc:creator><![CDATA[New-Science.ru]]></dc:creator>
                    <pubDate>Wed, 27 Nov 2024 07:20:47 +0000</pubDate>
                                    <category><![CDATA[Природа]]></category>
                    <guid isPermaLink="false">https://new-science.ru/?p=47504</guid>
    
                                            <description><![CDATA[<img width="1200" height="525" src="https://new-science.ru/wp-content/uploads/2024/11/865-6.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" st
    yle="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" loading="lazy" srcset="https://new-science.ru/wp-content/uploads/2024/11/865-6.jpg 1200w, https://new-scienc
    e.ru/wp-content/uploads/2024/11/865-6-768x336.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" />Атмосферные реки, мощные потоки водяного пара, взвешенного в атмосфере, уже несколько десятилетий движутся
    неожиданным образом, изменяя характер осадков и климат в глобальном масштабе. Что такое атмосферная река? Атмосферные реки — это огромные потоки водяного пара, которые циркулируют в атмосфере и переносят количеств
    о влаги, сравнимое с крупнейшими реками на Земле, такими как Миссисипи. Эти небесные реки &#8230;]]></description>
    
    
    
                            </item>
            </channel>
    </rss>
    Ответ написан
    Комментировать
  • Почему i? Почему переменную, используемую в циклах, обычно называют именно i?

    @alexalexes
    index. А вообще, индексы элементов массива пришли из математики - i, j, k для первых трех измерений.
    Просто, первыми компухтеры оседлали математики, отсюда и традиция в циклах использовать эти буквы.
    Ответ написан
    2 комментария
  • Как эту задачу решить по другому?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Очевидно не перебирать все варианты, а решить систему уравнений:
    import numpy as np
    
    A = np.array([[5, 3], [3, 3]])
    B = np.array([46.2, 31.5])
    
    # Решаем систему уравнений
    x, y = np.linalg.solve(A, B)
    print(round(x, 2), round(y, 2))
    Ответ написан
    Комментировать
  • Имеют ли право органы проверять софт на ноутбуках, если сотрудник заявляет, что это его личный ноутбук?

    @Dimenko
    Также нарушением будет использование программ для нужд бизнеса, если они лицензированы для конечного пользователя.
    Ответ написан
    2 комментария