• Как организовать быстрый поиск по 78 млн строк?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    • Clickhouse,
    • Sphinx/Manticore search
    • Reindexer
    • грамотный Сишник/Растщик/Гофер
    Ответ написан
    Комментировать
  • Как самостоятельно оценивать объем работы и стоимость разработки?

    @vitaly_il1
    DevOps Consulting
    С ценой все просто - берем зарплату, делим на 190 часов, умножаем на 1.4 - получаем цену часа.

    Оценить время - непросто. Надо
    1) описать проект - что заказчик получит на выходе
    2) разбить проект на задачи, под-задачи, и так далее, пока не дойдем до задач, которые мы умеем оценить по времени.
    Если проект не определен, то ес-но, оценить по времени не получится, и остается работать по времени (что я лично и делаю).
    Ответ написан
    7 комментариев
  • Как найти хаб в сети, если не знаешь где он?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Комп, который висит на этом хабе уже вычислил ?
    Можно попробывать узнать длину кабеля. Прибором
    61c461ae68fb9579584598.png
    Или если материнка умеет
    61c461cebddf8621395283.png
    61c461f20378a050542066.png

    Потом все равно по кабель каналам отслеживать где он примерно находится.

    Скорее всего за фальш потолок положил.
    Ответ написан
    4 комментария
  • Как найти хаб в сети, если не знаешь где он?

    @iddqda
    network engineer, netdevops
    вытащить патчкорды из тех двух компов, и дернуть за них посильнее
    Ответ написан
    1 комментарий
  • Как прописать в договоре на создание сайта, что таким подобным проектом мы заниматься не будем?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    То есть наработав крутой и востребованный опыт, вы хотите перекрыть себе возможность его использовать. Вам платят столько, что можете больше не работать до конца жизни? Очень странный пункт в договоре, я бы посоветовал избегать такого заказчика. По существу вопроса максимально полно описывайте каждый момент из тз, чтобы всегда можно было сказать что есть отличие в новом проекте исчитать его таким же не получится.
    Ответ написан
    2 комментария
  • Легаси-монстр. Как побеждаете?

    @RidgeA
    Немного банальностей:
    1. Бизнес не даст ресурсов на переписывание проекта с 0: время и большие риски
    2. Бизнесу как правило все-равно какое говно там крутится, лишь бы деньги приносило.
    3. Если более-менее адекватное руководство - нужно донести идею постепенного рефакторинга кода по мере необходимости в процессе фикса багов и разработки новых фич и тем самым аргументировать что на разработку новых фич/фикс багов нужно больше времени.

    Как я бы делал:
    1. Тесты на существующие функции (если возможно, видел методы в контроллерах с мешаниной вызовов методов моделей, созданием DTO и сохранением их через репозиторий, прямых http-запросов и запросов в бд на 1000+ строк, покрыть такое тестами - невозможно)
    2. Составить план рефакторинга, где отметить что и где надо сделать, коротко, в основном для команды разработчиков.
    3. Постепенно рефакторить старый код по мере взаимодействия с ним.
    4. Новый код - писать сразу правильно, для взаимодействия со старым кодом где нет возможности/времени его переделать - делать какие-то адаптеры, что бы не распространять токсичный код.
    5. Как оперативная мера защиты от SQL иньекций можно поставить что-то вроде этого https://github.com/nbs-system/naxsi
    6. Мониторинг кода, который не используется - pinba.org , по мере обнаружения такого кода - удалять безвозвратно (в крайнем случае есть VCS, я надеюсь). Начать с более высокоуровнего кода - контроллеры, напримерю. Плюс IDE в этом могут помочь и grep.
    7. Как вариант - новые фичи можно пилить в отдельном проекте (v2), крутить оба и постепенно переходить на новый, со временем старый (v1) выкинуть (и начать делать новый - v3 :-) )
    Ответ написан
    3 комментария
  • Как убеждать клиентов оплачивать ТЗ (или оценку проекта) и нужно ли это делать?

    MANAB
    @MANAB
    Разрабатываю на C#: Web, Desktop, Gamedev
    Делай ресерч бесплатно, но перед тем как сказать оценку и стоимость добавь к оценке стоимость ресерча, размазанную по тбудущим таскам. + умножь на коэффициент, т.к. не каждый проект получаешь. Тогда и убеждать не надо и бесплатно не работаешь.
    Ответ написан
    Комментировать
  • Какой лучше всего использовать шаблонизатор ExpressJS + NodeJS?

    notiv-nt
    @notiv-nt
    Как ваше ничего? Да, моё тоже
    ejs-mate тот же ejs, только с layout

    pug дрянь
    сначало кажется что "вау без скобок" а потом понимаешь что это шляпа бесполезная
    Ответ написан
    1 комментарий
  • Как правильно работать с кодом в опенсорсе?

    DollyPapper
    @DollyPapper
    А в чем сложность? Лицензия апачи не накладывает ограничения никакого на изменение исходного кода. Согласно лицензии вы должны проинформировать в исходнике о том, что данный код заимствован из такого-то проекта.
    Ответ написан
    4 комментария
  • Почему нельзя хранить важные данные в localStorage и вообще, JWT чем-то опаснее cookie?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Важные данные обычно никогда не хранятся на клиенте, они передаются, используются и удаляются.

    Есть ли какие-то ситуации, когда использование httpOnly сессионной куки нас защищает, а вот использование localStorage и sessionStorage уязвимо?

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

    Теперь про токены. Токены в теории лучше всего держать не в localStorage, а в sessionStorage. Это хранилище переживает перезагрузки страниц и не расшарено между табами. Т.е. при открытии того же самого адреса в новом табе будет созданая новая сессия. Хранилище очищается при закрытии браузера и таба. Но это жутко неудобно, каждый раз логиниться. Поэтому здравая логика говорит об использовании localStorage, хотя если вы совсем отбитый, то можете хранить токен в сессионой куке.

    Если вы прочли те статьи внимательно, то можно понять, что преимущества сессионных кук нивелируются неудобством их использования.
    JWT Токены предназначены для микросервисной архитектуры. Т.е. у вас есть некоторый центр аутентификации, который выдает вам токен. Токен этот подписан относительно стойкой криптографией и постоянно ротируется.
    Этот токен передается другим микросервисам, которые могут его верифицировать через публичные ключи (JWKS).
    Т.е. если вы хотите, вы можете строить свои сервисы так, что они доверяют не только вашему центру аутентификации, но и гуглу с амазоном через OpenID. Есть ситуации, например когда вы хотите разрешить доступ к сервису сотрудникам другой компании. Например, когда такая компания огромна (десятки тысяч сотрудников). Они аутенфицируются у себя, а вы проверяете, что токен выпущен сервисом данной компании. Это не так сложно реализовать.
    Реализация авторизации лежит на плечах каждого микросервиса и напрямую завязана на бизнес-логику. Как правило это некий внутренний микросервис, который интегрирован c middleware микросервиса.
    Ответ написан
    5 комментариев
  • Существует ли библиотека для трансляции php кода в node.js?

    neuotq
    @neuotq
    Прокрастинация
    Технически сам язык конечно же можно перевести в другой, я думаю даже простенькие функции будут работать.
    НО! Дальше будет куча но. Обычной трансляцией не обоёдешься, так как много подводных камней и особенностей самого API PHP, принципов работы многих встроенных библиотек, хаков, костылей и просто приёмов которые используют люди в своих проектах и тп.
    В таком огромном и сложном проекте как Wordpress этого всего просто нереальное количество.
    Вы же понимаете часто даже код больших проектов, в рамках одного языка(любого) тяжело переводить с версии на новую версию. А тут на другой язык/платформу исполнения кода.
    Это в любом случае ручной труд, а автоматический транслятор вам только будет помогать переводить конкретные конструкции, а так огромное количество ручного труда для каждого файла/класса/функций и тп.
    Технически это возможно, но займёт огромное количество человека-часов, легче с нуля написать.
    Второй вариант найти решение с условной виртуальной машиной, которая исполняет php код внутри js окружения. Были когда-то подобные пакеты, но спроса нет и всё заглохло. Это тоже трудоёмкий процесс, нужно бежать и развивать свою такую штуку.
    Поэтому сегодня есть только условные прокси на node.js, которые запускают php скрипты на php(тем или иным способом, но исполняет их именно php).
    Поэтому мы приходим к технологии WebAssembly, там есть например проект wasmer, с помощью которого можно запускать wasmer-php. Но снова таки, это не трансляция кода, а просто запуск php в среде браузера, js тут уже чисто для управления и запуска самого wasmer...
    Ответ написан
    Комментировать
  • Как строить карьеру senior разработчику?

    1) Написание эффективного кода и кругозор - не есть критически навык для сениора. Большое количество людей получает этот навык в той или иной степени.

    2) Знание отрасли и её специфики, и как под эту специфику писать код - куда более важный навык, который и оплачивается за хорошие деньги. Если эта отрасль обширная и денежная (большой спрос на программистов и большие возможности у компаний - то мы получаем бинго). Поэтому так много банковских программистов остается в финтехе, ибо они понимают, что им платят "выше рынка", не за написание кода, а за знание специфики финтеха. Тоже самое верно для телекома, логистики, недвижки, медицины, чат-серверов и так далее.

    3) Если хотите быть востребованным сениором, которого все хотят и зовут к себе, надо выбирать именно такие отрасли.
    Ответ написан
    Комментировать
  • Какая CMS лучше и проще всего для сайта Знакомств?

    zooks
    @zooks
    Frontend
    October CMS на базе Laravel.
    Ответ написан
    Комментировать
  • Допустим хочу создать порно сайт. Где мне хранить видео?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Гуглите "абузоустойчивый хостинг" / "bulletproof hosting".
    Как вариант - выделенные сервера в странах где это легально, например те же Нидерланды.

    Не применительно к специфике Вашего вопроса: раздача видео может быть ОЧЕНЬ дорого с точки зрения трафика даже на небольшом количестве посетителей.
    Вообще я бы не рискнул делать собственный видеохостинг без хорошего понимания технологий и масштабов затрат, если это не учебный проект конечно.

    Хранить на своей машине - это что-то из области бреда даже с точки зрения технологии, не говоря про другие риски.
    Трансляция FullHD видео занимает ~8-12Мбит/сек, т.е уже 10 одновременных посетителей забьют стандартный домашний 100Мбит канал напрочь.
    Ответ написан
    2 комментария
  • /deletethis/deletethis?

    @mkone112
    Начинающий питонист.
    Я честно пытался прочитать эту дичь, но в ней слишком много бреда. Если тебя интересует самый выгодный вариант, то это поступление в нормальный вуз(обычно на город таких 2.5) и работа ~ со второго курса. А так - ты даже гуглить не научился, сомневаюсь что ты осилишь ... э ... что-либо.
    Ответ написан
    3 комментария
  • /deletethis/deletethis?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нужно умение самостоятельно искать и анализировать информацию. Здесь этот вопрос задают еженедельно.
    Ответ написан
    1 комментарий
  • Почему много людей в IT недовольны своей работы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В ИТ, как и везде, есть люди, которых в специальность занесло случайно, и просто нытики. Первые страдают потому, что находятся не на своём месте, занимаются неподъёмной для них работой и не могут достичь успеха. Вторые потому, что не страдать просто не могут.
    Ответ написан
    4 комментария
  • Могу ли я использовать персонажей мультиков в своей игре?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Теоретически, проблем не должно быть.
    Но всё зависит от уровня прорисовки твоих персонажей и того уровня, когда у юристов MyLittlePony начнёт пригорать от твоих творений.
    Ещё это будет зависеть от уровня раскрутки твоего приложения. Если выйдет на высокий уровень, то будь готов к проблемам.
    Без конкретных картинок на вопрос ответить невозможно.
    Ответ написан
    Комментировать