• Аналог Ansible без yaml?

    opium
    @opium
    Просто люблю качественно работать
    Да нет альтернативы, же5 этого плотно сидел на паппете, с ансиблом стало все сильно проще
    Посчитайте бест практис, переменные и прочее, я в последний год делал большой рефакторинг своих плейбуков по ним и избавился от большей части вещей которые мне не нравилось, что то конечно осталось но не так много
    Ответ написан
    Комментировать
  • Как вы боретесь со слабой типизацией и зачем ее придумали?

    И самое главное: кто придумал слабую типизацию?

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

    Динамическую типизацию придумали для того, чтобы было легче писать обобщённые алгоритмы и мета-алгоритмы, в дин. языке для обобщения кода не нужны ухищрения типа дженериков (TypeScript, C# и много чего ещё) или шаблонов/макросов (C++). В ОО-языках часто доступны и другие удобства, например смена интерфейса объекта в зависимости от его состояния (т.к. решение о возможности вызова метода/свойства объект может принимать сам).

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

    Как вы пишете код на жс?

    Мы не пишем код на JS, мы пишем код на TypeScript. Да, такие сейчас странные времена, когда язык со статической типизацией компилится в язык с динамической, т.к. исполнять на клиенте (в браузере) больше нечего пока.

    Он же не должен быть напичкан parseInt() и !== undefined.

    Не должен. Если писать на голом JS, можно а) использовать JSDoc для аннотаций о типах, и работать с типами на уровне документации и договорённостей; б) писать алгоритмы в максимально обобщенной манере, и требовать по возможности не конкретных типов данных, а значений, над которыми допустимы нужные вам операции; в) покрывать код тестами, что и спасает в динамических языках.

    Чем больше проект, тем важнее статическая типизация, это нормально. JS - это язык который популярен по техническим причинам и по стечению обстоятельств, а не потому что он этого заслуживает (имхо). Очень неглупые дяди и тёти не стали бы тратить годы своего времени и кучу денег на разработку TypeScript и Flow, если бы это было ненужно.
    Ответ написан
    1 комментарий
  • Падает бот из-за ошибки HTTPSConnectionPool(host='api.telegram.org', port=443): Read timed out. (read timeout=30).Как пофиксить?

    @Fixid
    Используйте прокси
    Ответ написан
    Комментировать
  • Какие есть распределенные master-less файловые хранилища?

    @W1z4rd
    Можно глянуть https://minio.io/ а-ля свой приватный S3, нет мастера, работает на чтения при потере половины узлов и на запись, если потеряно на один меньше половины, умеет хилиться. Может хоть один узел, но алгоритмы отказоустойчивости начинают работать с 4х узлов. Возможно, это совсем не то, что вы имели в виду.
    Ответ написан
    3 комментария
  • Приложение для распознавания чеков от терминалов

    @gmit
    Мы умеем распознавать чеки на русском на android, в т.ч. и длинные, и даже с автоматической разбивкой на категории, если товар знакомый. И все это внутри приложения по управлению семейным бюджетом / домашней бухгалтерией: www.finpix.com
    Ответ написан
    Комментировать
  • Хочу сделать свой дистрибутив linux на основе существующего?

    @dinegnet
    Хочу на основе данного дистрибутива сделать свою версию, с самым последним ядром и софтом. Что мне для этого нужно? Вырезать из дистрибутива упоминания слова "Porteus"


    То есть ты уже решил все проблемы по созданию собственного самобытного дистрибутива?
    Он у тебя уже уникальный и достоин собственного имени?
    И дело за малым осталось? Переименовать?

    Есть подробная инструкция уже.
    Ищи по фразе BolgenOS
    lurkmore.to/%D0%94%D0%B5%D0%BD%D0%B8%D1%81_%D0%9F%...
    lurkmore.co/%D0%94%D0%B5%D0%BD%D0%B8%D1%81_%D0%9F%...
    Ответ написан
    Комментировать
  • На каком языке будет быстрее парсить?

    @g00dv1n
    Go
    Ответ написан
    Комментировать
  • Как сравнить бесконечность?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Это смотря что понимать под словом "сравнить". Если хотите узнать, где больше элементов - в A или A-1, при этом A это действительно "ряд" (бесконечная последовательность), то их всегда одинаково. Если хотите узнать, в каком ряду элементы больше, то надо сравнить соответствующие коробки и посмотреть, в какой значение больше - в A или в A-1. Каких элементов больше, те и победят.
    Например, если A=1,2,3,4,..., то A-1=2,3,4,5,... и A-1 > A во всех индексах. Если A=1/1,1/2,1/3,..., то A-1 < A. Если же ряд более хитрый, например, 1,-2,3,-4,..., то для определения каких индексов больше, надо воспользоваться таким объектом, как неглавный ультрафильтр - отличная штука, но, к сожалению, некоструктивная. В результате появляется объект, являющийся простейшим вариантом гипердействительных чисел, открывающих путь к нестандартному анализу.
    Ответ написан
    Комментировать
  • Как сравнить бесконечность?

    tsarevfs
    @tsarevfs
    C++ developer
    В случае с бесконечным рядом коробок мы имеем счетное множество. Это значит что коробки можно пронумеровать натуральными числами (пусть для простоты у ряда коробок есть начало, и он уходит бесконечно в право |1| |2| |3| |4| ... |n| ...) Пронумеровать означает построить взаимно однозначное соответствие между коробками и числами (биекцию). Если можно построить биекцию для двух множеств, то они являются равномощными.

    Если убрать одну из коробок, то на всех коробках справа от нее можно заменить число с i на i-1. Получаем, что все коробки пронумерованы, и мощность множества без 1 коробки осталась прежней.

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

    И да, все же бывают бесконечности "больше" чем счетные. Можно доказать, что точки на отрезке [0, 1) нельзя пронумеровать (отдельный вопрос -- что такое точки на отрезке, см. 2 гл.). Мощность множества точек на отрезке совпадает с мощностью множества точек на прямой, на плоскости или в кубике. Такую мощность называют континуумом. Теоретически можно построить и множества больших мощностей.
    Ответ написан
    Комментировать
  • Как сравнить бесконечность?

    Бесконечность всегда больше чего либо а минус бесконечность всегда меньше, две бесконечности сравнивать некорректно, если бы бесконечность была типом (типа true или false например infinity) то логически infinity = infinity но фактически в них может быть разное количество значений так что infinity != infinity короче это как на ноль делить нельзя ))
    Ответ написан
    Комментировать
  • Какой правильный подход при записи в закрытый канал в Go?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    В Go нет возможности проверить состояние канала при записи в него. Закрытие канала со стороны получателя довольно редкий случай, скорее всего логику приложения можно переделать без этого.
    Ответ написан
    4 комментария
  • При запуске консольной программы написанной на go терминал Windows сразу закрывается?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Открывайте сначала терминал, уже в нем свою программу. А не запускайте ее в консольном режиме.
    Ответ написан
    1 комментарий
  • Надо ли добавлять в кеш роутинг?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    зайдите в документацию по выбранному раутеру:

    A compressing dynamic trie (radix tree) structure is used for efficient matching.


    То есть эта штука на основе этих правил строит дерево, которое будет лежать в памяти до тех пор, пока у вас живет приложение.

    В PHP кэш необходим, так как PHP приложение умирает после каждого запроса и если бы небыло кэша, то разбор этого добра происходил бы на каждый запрос.
    Ответ написан
    3 комментария
  • Почему я могу создать map со своим классом без перегрузки operator

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Why works map with my class without define operator

    Почему английский писать, не знать который?
    Ответ написан
    Комментировать
  • Как автоматически посчитать людей в вагоне метро при помощи видеокамеры?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Даром не нужно таких извращений. Вагон прекрасно знает, сколько в нем народу - у него "весы" есть на каждой тележке. Вычитаем тару вагона из показаний весов, делим на 75 - 80 и получаем количество человек.
    Ответ написан
    6 комментариев
  • Программно воспроизвести звук в микрофон, как?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    в системе не старше windows 7 есть записывающее устройство "стерео микшер", когда оно включено любой звук который воспроизводит любая программа будет отправляться в этот "микрофон", но в игре нужно его выбрать в качестве записывающего устройства, если его выбрать нельзя то только механически, из выхода на колонки воткнуть переходником в микрофон, но громкость на минимум нужно чтобы ничего не спалить
    Ответ написан
    Комментировать
  • Как перейти с Windows на Linux для работы с C++?

    GavriKos
    @GavriKos
    1) GUI под линукс можно делать, например, на Qt. Соответственно IDE - QtCreator. Еще вариант - wxWidgets.
    2) Возможные IDE - QtCreator, Code::Blocks, Eclipse, CLion. Ну на самом деле их больше, но эти - более friendly при переходе с винды.
    3) Забудьте о Unity и C# под линуксом. По крайней мере пока что. Сейчас c# - в полном смысле работает только на винде. IDE для c# - VisualStudio :-)
    4) По производительности настроеный линукс лучше ненастроенного виндовс. Это 100%. Но первое время вы потеряете в удобстве. Я лично так и не смог перейти с VisualStudio на линуксовые IDE и не нашел для себя удобного аналога TotalCommander. Плюс сразу забывайте о фотошопе, если вам это важно. Есть конечно gimp, но он полностью не заменит фотошоп.
    5) Игры под линуксом можно разрабатывать скорее только на всяких SDL и прочих низкоуровневых openGL движках. Никаких Unity, Marmalade и прочего. Разрабатывать под web - можно спокойно под линуксом. Standalone-приложения - тоже, на Qt.

    Вроде постарался по максимуму ответить :-)
    Ответ написан
    4 комментария
  • SWIFT Алгоритм поиска различий в текстах?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Библиотека от гугла Google diff-match-patch.
    Вас интересует diff.
    Ответ написан
    Комментировать
  • Почему inline функция класса C++ медленнее обычной inline функции?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вопрос, почему первый вариант (sum(v1,v2,v3)) медленнее чем второй (direct_sum(v1,v2,v3)) примерно на 10%?

    Потому что вы не показали ни опций компилятора, полной програмы, ни способа измерения времени.
    Откомпилировав оба примера с вашими опциями я получил идентичный ассемблерный код для цикла вычислений.
    Ответ написан
    6 комментариев