• LINQ или foreach?

    Stalker_RED
    @Stalker_RED
    в последние лет 10 идет к тому, что скоро бОльшая часть программистов просто забудет про стек, кучу, оптимизацию SQL-запросов
    бОльшая часть программистов никогда и не умела в оптимизацию SQL-запросов.

    “лучше день потерять, потом за 5 минут долететь” не работает в нашей отрасли?
    Бизнес смотрит где выгода. Если он без этой схемы тратит два дня, то да, лучше потерять и долететь. Если он без этой схемы тратил 10 минут, и летал раз в месяц, то пятиминутная экономия окупится через 288 "полетов" (через 24 года). Оно ему точно надо?

    80 лет назад практический каждый водитель умел в автомеханику. А сейчас за рулем все чаще можно встретить людей, которые не могут бачок омывайки от масла отличить, например.

    Это не значит, что никому в мире не нужен хайлоад и хороший код. Просто массовому рынку это не всегда выгодно, это норма.
    Ответ написан
    Комментировать
  • LINQ или foreach?

    sim3x
    @sim3x
    Что с точки зрения економики лучше:
    - искать 12мес команду из талантливых программеров, которые за год могут не_написать проект
    - найти команду из средних и плохих разрабов и на фреймворках наклепать решение за 6 мес
    ?

    Про стоимость железа / быстродействие.
    Если ваш набор тулз не дает огромного прироста в скорости разработки, или набор сам не оптимизирует код, или набор не заставляет писать оптимальный код, то вам стоит его сменить
    И название набора не имеет никакого значения
    Ответ написан
    Комментировать
  • LINQ или foreach?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Скорость отработки запросов на LINQ существенно (в разы) ниже, чем прямой перебор коллекций, однако мы, разработчики, внедряем всякие умные Parallel LINQ или начинаем заниматься разделением потоков вместо того, чтобы не писать LINQ-запрос, а просто перебрать коллекцию

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

    однако там даже ORM-подхода нет

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

    код на LINQ и прочих “упростителях жизни” проще тестировать

    Напротив, функциональные цепочки вызовов в отладке сложнее императивного кода.

    ЗЫ Разработчику нужно обязательно:
    1. знать, как работают его "улучшайзеры" на уровне имплементации, чтобы прогнозировать сложность алгоритмов;
    2. оценивать требования по производительности для отдельных участков ПО;
    3. грамотно проектировать архитектуру, позволяющую проводить рефакторинг в изоляции;
    4. НЕ заниматься микрооптимизациями и НЕ писать велосипеды без нужды.


    Озвученный вопрос - сугубо технический. А все эти: "Воткнуть еще один сервер, они ж дешевые!" - означает факап бизнеса, который изначально сэкономил на компетентных специалистах, а теперь вынужден деньгами затыкать дыры из-за неверных технических решений. Такие конторы стоит обходить стороной, а поддерживающих идею коллег - гнать тряпками и насмехаться.
    Ответ написан
    Комментировать
  • Можно ли сделать такой запрос в базу данных MYSQL?

    Stalker_RED
    @Stalker_RED
    Да.
    Ответ написан
    Комментировать
  • Можно ли сделать такой запрос в базу данных MYSQL?

    @Tvolly
    https://www.w3schools.com/sql/func_mysql_if.asp

    IF (, , ) пробовали?
    Ответ написан
    Комментировать
  • Локальное хранение данных в ElectronJS, что лучше?

    @askhat
    Рекомендую PouchDB

    • Встраиваемая БД с поддержкой различных бекендов (SQLite, LevelDB, IndexedDB, WebSQL, LocalStorage)
    • Мастер–мастер репликация с удалённым CouchDB/PouchDB
    • Версионирование и CRDT
    • Красивенький админ интерефейс
    Ответ написан
    5 комментариев
  • Какие есть сейчас актуальные курсы по mysql и php для написания интернет магазина с нуля?

    @spaceatmoon
    А вы не думали, что вы облажаетесь? Задача из разряда "ребенку дали поиграться". Вы сейчас тешите своё самолюбие и не решаете задачу.

    Найдите CRM с работой сотрудников и не парьтесь.
    Ответ написан
    3 комментария
  • Как сделать Windows 10 безопаснее без антивируса?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Как сделать Windows 10 безопаснее без антивируса?
    Ну во первых там есть встроенный антивирус от майкрософта, который существует еще со времен Windows 7, и прекрасно работает, практически не влияя на быстродействие.

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

    Отличная система защиты это UAC - работает по принципу sudo в Linux. Он отсекает кучу проблем защищая любителей работать с правами администратора.

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

    Ну и одна из самых эффективных, простых и доступных защит - банальный бэкап системы.
    Тут следует оговорится - он защищает от утраты, и повреждения данных, но не защищает от утечки.
    Если вы не храните на ПК сверхсекретной информации, утечка которой способна нанести миллионый ущерб, то можно этой защитой и ограничится.
    Настраиваете бэкап и спокойно работаете - если вдруг словите что-то нехорошее, просто откатываетесь назад.
    Нажатие одной кнопки и за 5-10минут система откатится к точке бэкапа и вы получите работающую систему со всеми файлами.
    Причем встроенная система бэкапа идущая "из коробки" вполне конкурентоспособна и неплохо работает, поэтому можно использовать ее.

    Множество неприятностей идет из браузера и тут неплохо справляются альтернативные DNS например от Яндекса, которые просто не резольвят вредоносные сайты.
    Так же эффективен ADblock хоть он и создан немного для другого.

    Плюс немного осмотрительности - внимательно следите откуда качаете софт, следите за расширениями файлов.
    Не запускайте разнообразные файлы типа хороший_фильм.torrent.exe или скан_накладной.exe
    Если вы невнимательны - смотрите выше про UAC и политики ограниченного использования программ.
    Ответ написан
    3 комментария
  • Содержание профессии Data Scientist?

    DanilBaibak
    @DanilBaibak
    Machine Learning engineer
    Проблема не в моделях, а в данных и умении их "готовить" -
    Garbage in, garbage out
    ;)
    Ответ написан
    Комментировать
  • Как извлечь графические данные из полностью размытого изображения?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Есть такой софт. Даже на хабре писали про него.
    Довольно распространённая задача и в данном случае решается элементарно.
    С ходу вспоминается некая deBlur
    Кстати, вот и ответ по запросу "deblur habr":
    https://habr.com/post/152885/
    Почитайте ещё статьи автора:
    https://habr.com/users/yuvladimir/posts/
    Ответ написан
    5 комментариев
  • Какой подход для поиска лучше?

    qonand
    @qonand
    Software Engineer
    Лучше не изобретать велосипед и воспользоваться ElasticSearch или Sphinx
    Ответ написан
    8 комментариев
  • Как лучше запускать задачу из cron каждые 10 секунд?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    запускать каждые 10 секунд - не слишком выгодно.

    Напишите себе демона и пусть он все время работает с банальной паузой или сверкой timestamp.
    А в кроне просто периодически проверяйте запущен он или нет.
    Ответ написан
    Комментировать
  • Как загрузить прайс лист по частям?

    @Kravalg
    Раз уж 504 ошибка, это значит, что сервер не успевает за отведенное ему время отдать ответ. Это и немудренно, так как ты при получении данных сразу же их обрабатываешь. Для малого количества данных этот подход уместен, но для больших - нет в чем ты уже убедился.

    Решение, которые позволит тебе обрабатывать данные практически любых размеров:

    1) Скрипт, который принимает данные и обрабатывает их сейчас должен сохранять их(к примеру, в файл) и ставить в очередь на обработку. Теперь твой скрипт не будет улетать в 504, так как ответ будет за считанные миллисекунды.
    2) Следующим этапом будет написание скрипта, который будет получать сообщения из очереди на обработку этих данных. Если размер данных, которые ты получаешь исчисляется в сотнях мегабайтов и больше, тогда перед обработкой этих данных тебе необходимо будет их поделить на части (в случае, если хранилищем ты выберешь файлы).
    3) После того, как ты получишь данные по частям ты можешь их обрабатывать в фоновом режиме

    Я описал общий алгоритм, если не можешь выбрать конкретные технологии - пиши в комментарии, подскажу

    UPD.
    Для обработки больших файлов можно использовать генераторы - статья

    Для запуска фоновых обработчиков можно использовать cron или workers - статья
    Ответ написан
    2 комментария
  • Можете подсказать программу для бекапа (WIN)?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Из свободных - Duplicati, например. Бекапит только файлы. Умеет WebDav и тысячу других бэкендов.
    Из платных - Acronis TI, но он, вроде, только FTP умеет и больше нацелены на продажу своего облака, чем использование пользовательских внешних хранилищ. Но по SMB тоже нормально выгружает на NAS, например. Бекапит как файлы так и разделы (при желании посекторно).
    Ответ написан
    Комментировать
  • Как как получить html-код страницы для парсинга?

    oh_shi
    @oh_shi
    Если это заказ с фриланса за пачку доширака, то лучше просто откажитесь. Владельцы сильно не хотят, чтобы их парсили.
    spoiler
    Pardon Our Interruption...
    As you were browsing www.controller.com something about your browser made us think you were a bot. There are a few reasons this might happen:
    You're a power user moving through this website with super-human speed.
    You've disabled JavaScript in your web browser.
    A third-party browser plugin, such as Ghostery or NoScript, is preventing JavaScript from running. Additional information is available in this support article.
    To request an unblock, please fill out the form below and we will review it as soon as possible.
    First Name:
    Last Name:
    E-mail:
    You reached this page when attempting to access https://www.controller.com/info/site-map from 127.0.0.1 on 2018-11-30 12:58:16 UTC.
    Trace: ead57087-e556-473f-880f-707c3bfa87c1 via 449bb29d-9aa5-44ea-a964-418570a62186

    Уже при первом взгляде видно, что у них есть сверка ip c популярными vpn сервисами, несколько видов капчи, слежение за курсором, десяток кук для валидации. Откуда вы пришли, они тоже следят UserReferrer=https://toster.ru/q/583813.
    Если таки хотите попробовать это все победить, точно могу сказать, что получить 1 раз валидную куку и добавить к запросам не прокатит. Нужен headless browser, например Capybara + Poltergeist.
    Ответ написан
    2 комментария
  • Как выяснить причину 100% нагрузки на сервер VDS?

    Radjah
    @Radjah
    В любой непонятной ситуации первым делом смотри логи.

    У тебя дохрена потоков апача в состоянии running, четверь из них в D-state. К ним у тебя база данных. Всё это на двух ядрах и двух гигах оперативы. При этом своп уже забит под завязку, а оперативы свободного 300 метров под страничный кэш.
    Если ssh отвечает, то стопорни апач и посмотри логи запросов, кто-то наверняка или брутит или DDoS-ит, или владелец сайта проворонил очередную дыру в движке сайта и вовремя не обновил его. Сайт так и так висит в вечном "Ожидание ответа от сервера", так что много не потеряешь, а ресурсы на разбор проблем освободятся.
    Ответ написан
    Комментировать
  • Как выяснить причину 100% нагрузки на сервер VDS?

    VELIK505
    @VELIK505
    Руководитель департамента profitcentr.com
    apache2 грузит больше всего.
    Ответ написан
    6 комментариев
  • Какой НОРМАЛЬНЫЙ дистрибутив поставить с самыми свежими программами?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Вот больше похоже что проблем не в дистре или железе, а в том кто перед ним. Выбирать то что нужно лично вам по критериям. До свежести довести можно любой дистр. Жаловаться что что то не работает\работает не так\ глючит последнее дело и наступать оно должно после внимательно чтения тонкостей дистрибутива и конкретно вашего железа.
    Ну раз захотели свежести то самый относительно простой это арч\манжара. Для всех ситуаций есть арч вики где расписано все крайне удобно и довольно досконально. Не хочется заморачиваться тогда ставьте абсолютно любой дистрибутив хоть дебиан но ветку берите тестовую\дев или что то типа Tumbleweed как в opensuse.

    Конкретно у вас сейчас желание получить "кнопку которая делает хорошо", так не бывает. Тут все достаточно просто, если ноутбук да еще и с дискреткой то автоматом получаете геморой разной степени с дровами для видео, особенно если встройка+дискретка. Опять же если ноутбук то с огромной долей вероятности получить еще один прикол связанный с профилями питания ЦП. Хоткеи вообще отдельная тема. Темы\цвета, вы серьезно?)

    Ну и кроме того, если вы считаете себя "начинающим программистом" то ну уж точно должны уметь читать документацию а значит и понимать хотябы минимально "причина-следствие".
    Ответ написан
    2 комментария
  • Как распознать частоту звука (ноты) в C#?

    Griboks
    @Griboks Куратор тега C#
    Использовать преобразование Фурье для получения спектра записи. Затем проанализировать спектр на наличие гармоник нот.
    Ответ написан
    2 комментария