• Зачем использовать свою АТС, если есть облачная?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Зачем свой почтовый сервер - ведь есть же облачный...
    Зачем своя AD - ведь есть же облачная...
    Зачем своя 1C - ведь есть же облачная...

    А потом приходит лесник Microsoft и говорит "баста, карапузики, кончилися облака" (как это было недавно, ничего правда не кончилось, но перепугались все знатно). И ты сидишь такой, грустный-грустный, справа от тебя директор, слева главбух - и ты понимаешь, что выйти отсюда ты сможешь разве что в виде мелко покрошенного фарша...
    Ответ написан
    3 комментария
  • Standalone Система задач для одного разработчика?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    redmine
    Ответ написан
    Комментировать
  • Как указать относительный путь к fopen("output", 'w+') или запустить его иначе через терминал?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Забыть такое слово относительный путь и всегда указывать абсолютный.

    В качестве костыля, для пути "в папке со скриптом" использовать магическую константу __DIR__

    fopen(__DIR__."/output", 'w+');
    Ответ написан
    Комментировать
  • Можно однозначно определить, что пользователь является владельцем организации?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Автоматически и гарантией 100% - никак.

    Можно запросить квалифицированную ЭЦП (по сути дела сертификат, выданный неким госцентром) - но нет закона, обязующего меня ее иметь.
    Можно запросить письмо с адреса @nichego.net (если идет регистрация от имени конторы "OOO Ничего Нет") - но с этого домена может написать кто угодно, а вовсе не соПственник :)
    Ответ написан
    2 комментария
  • Как себя направлять в обучении, почему через 4 года опыта работы я все еще плохо программирую?

    PageAuditRU
    @PageAuditRU
    Senior SEO Анализатор
    Вам на работе нужен ментор и код-ревьюер.

    ПС: я тридцать лет программирую. И каждый раз, когда пересматриваю свой код, написанный год назад, восклицаю, что за отстой тут написан - либо можно проще написать, либо понятнее, либо вообще код не должен работать.
    Ответ написан
    Комментировать
  • Как и для чего используется php://input?

    @granty
    Данные и так передаются по POST (или GET), но есть нюансы их обработки на стороне сервера.

    1. POST и GET данные в виде parameter=value&param2=val2 автоматически обрабатываются сервером и заполняются глобальные массивы $_POST/$_GET/$_REQUEST:
    $_POST['parameter'] = value;
    $_POST['param2'] = val2;

    GET-параметры при этом ещё и автоматически декодируются по urldecode().
    Через php://input можно получить "сырые" необработанные данные.

    2. Методом POST можно прислать, например, объект JSON, указав 'Content-type: application/json; charset=utf-8'. При этом массив-обёртка $_POST будет пуста, тк не присылается Имя_Параметра, а присылается только Значение_Параметра, и сервер не обрабатывает такие данные автоматически.
    Получить такие данные можно только через php://input, так как глобальные массивы $_POST/$_GET будут пустыми.
    Ответ написан
    Комментировать
  • Как управлеять несколькими Raspberry pi подключенные к разным роутерам по ssh (или другим способом)?

    @Karpion
    Ботоводы-вирусописатели используют примерно такую схему:
    1. После заражения компьютера вирус связывается с IRC-сервером или типа того. Вам вместо "заражения" надо "легально инсталлировать программу".
    2. Вирус "слушает" чат. Все команды, которые приходят в чат - либо выполняются встроенным интерпретатором, либо передаются внешнему интерпретатору (например, shell'у).
    3. Управляющая машина (у Вас - ноутбук) подключается к тому же IRC-серверу и отправляет в чат команды.
    Типа всё. IRC-сервер можно запускать на ноутбуке.

    Преимущества этой схемы в том, что не надо настраивать "взаимную видимость" малинок, городить VPN, etc. Всё отлично работает при минимальных телодвижениях.

    Учтите, что при разрыве соединения с IRC-сервером - малинки должны восстанавливать его сами. Но если сервер плотно выключился - не надо долбиться иуда ежесекундно, надо сделать разумный интервал типа "при разрыве сервера сделать три попытки подряд, а если не удалось - то каждые десять секунд".
    Выключиться может не только сервер, но и роутер. И конкретный канал может "лечь".

    Учтите, что возможна ситуация, когда малинки рассинхронизировались - одни получили команду, другие пропустили. На этот случай я могу предложить иной алгоритм:
    1. Есть сервер - файловый, FTP, Web, RSync, etc. На ноутбуке или на чём-то ещё.
    2. На сервер выкладывается некий файл, в котром написано "как должно быть" - например, "сейчас крутим такое-то видео".
    3. Малинки считывают этот файл. Если текущее состояние какое нужно - ждём. Если есть отличия - запускаем/останавливаем нужные программы.
    Отдельный вопрос - надо ли крутить видео синхронно.
    Ответ написан
    Комментировать
  • Какой блок питания выбрать для nas?

    Francyz
    @Francyz
    Photographer & SysAdmin
    Все упирается в ваш корпус, влезет обычный ставьте его.
    У меня небольшой SFX от корсаров. Для меня была важна тишина, поэтому я выбирал полу-пассив, и вентилятор на БП почти не крутится, т.к. нет сильной нагрузки и он не греется. Берите из проверенных марок: Корсары, Сисоники или Бикваеты - на что хватит бюджета.
    Ответ написан
    4 комментария
  • Что нужно почитать, для базовых знаний маркетинга?

    prrrrrrr
    @prrrrrrr
    Верстаю сразу на PHP.
    прочитав статью на хабре, где парень потратил 40к $ и с отличной идеей для проекта, и уже даже готовым проектом, не смог его монетизировать и продвинуть.

    если тыкать пальцем в небо, можно и 100к потратить и безрезультатно, а можно потратить 1 000, и нормально продвинутся.

    я поспрашивав банально своих знакомых, 9/10 ответили мне, что не станут платить за это.

    могли бы и все 10 так ответить. вам нужно определить целевую аудиторию.

    Что необходимо прочитать, прежде чем пытаться создать бизнес продукт?

    в данном случае нет волшебной палочки. это как перефразировать: «где в фотошопе находится кнопка "сделать классно"?».

    Вам нужно:
    Определиться с целевой аудиторией и её сегментами
    Провести исследование конкурентов
    Проработать ЦА
    Составить уникальное торговое предложение и позиционирование
    Определится с форматами работы
    Составить портрет идеального клиента
    Упаковать продукт по смыслам через боли и потребности людей
    Разобрать основы визуальной упаковки продукта
    Составить базовую/продвинутую продуктовую линейку
    ну и т.п.

    Чтобы с меньшей вероятностью упасть лицом в грязь, и не допускать таких базовых ошибок, какую допустил я?

    самый лучший вариант - обратиться к специалистам.
    Ответ написан
    Комментировать
  • Отправка максимально большого количества писем через собственный сервер. Чем и как?

    @neol
    Exim по умолчанию пытается отправить письмо сразу, как его получает и ваш скрипт ждёт завершения этого процесса. Соответственно, если у вас скрипт на PHP и вы не озаботились его распараллеливанием, то всё будет крайне печально. Но если добавить в конфиг exim параметр queue_only, то письмо будет попадать в очередь отправки и отсылаться потом.

    А чтобы очередь обрабатывалась пободрее понадобится уменьшить время между отправлением очереди ( для debian задаётся переменной QUEUEINTERVAL в /etc/default/exim4 ) и, вероятно, указать количество обработчиков очереди (queue_run_max в конфиге exim, по умолчанию 5).
    Ответ написан
    1 комментарий
  • Как скрыть в ошибке PDO вывод данных от базы данных?

    Melkij
    @Melkij
    PostgreSQL DBA
    Если вы показываете стектрейс пользователю - то это ваша ошибка независимо от того какие данные там видны. Ошибки кода вы должны логировать себе, а пользователю показывать красивую страницу 500.

    PDO при подключении даёт не ошибку, а генерирует исключение. Именно для того чтобы его было легко перехватить, как и любое исключение, и обработать.
    Ответ написан
    Комментировать
  • Какая есть платежная система без ИП?

    Sanes
    @Sanes
    Любые регулярные операции легко всплывают. Особенно частные переводы. Если это не пару раз в день и не каждый день.
    Robokassa вроде с частниками работает. Ну и Яндекс Деньги.
    Ответ написан
    Комментировать
  • Обязан ли человек предоставлять пароли от собственного ноутбука следственным органам?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    но если чисто в рамках законодательства,

    Какой страны законодательства? России? Соединенного Королевства? Австралии может быть? Или, не к ночи будь помянуты - США? У всех по-разному, вообще-то. В UK вон можно и за белый шум увидеть небо в клеточку... (причем статья довольно старая)
    Ответ написан
    Комментировать
  • Обьясните кто то про регистры в Ассемблере?

    @Mercury13
    Программист на «си с крестами» и не только
    У меня нет линукса, чтобы проверить, но, кажется, программа в корне неверна. Вы используете 32-битное соглашение вызова на 64-битной машине.
    https://www.informatik.htw-dresden.de/~beck/ASM/sy...
    https://blog.rchapman.org/posts/Linux_System_Call_...

    Откуда 32-битный вызов на x64 — дайте пруфлинк, может, в вашем линуксе так и есть.

    Регистры — это маленькие и очень быстрые ячейки памяти, встроенные в процессор. Их ограниченное количество, и у них конкретные чётко зафиксированные названия.

    Часто для работы с данными малых разрядностей и совместимости с ранним кодом процессор даёт доступ и к половинкам регистров. Так, нижняя половина регистра rax — eax, нижняя четверть — ax, половины ax (соответственно восьмушки rax) называются al и ah. Сами понимаете: когда процессор был 16 бит, регистр назывался ax = al + ah. Сделали 32 бита — стал eax. Сделали 64 бита — стал rax.

    Для вызова системных функций Linux используется такое соглашение вызова. Все функции висят на прерывании 0x80, rax — название функции, остальные параметры рассовываются по регистрам.

    Насчёт int, char, double. Знаковость (signed/unsigned) определяется инструкциями ассемблера (например, ja = jump if above для unsigned, jg = jump if greater для signed). Длина — задействованным куском регистра (rax = long long, eax = int/long, ax = short, al = char). С дробными числами работает отдельный блок процессора, т.н. сопроцессор, со своими регистрами (в первых x86 он был отдельной микросхемой, существовавшей не во всех компьютерах, отсюда название).
    Ответ написан
    4 комментария
  • Что нужно знать чтобы сделать простой робот пылесос?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Кратко: динамика газов, физика твёрдых тел, электростатика, электротехника, микроконтроллеры, основы проектирования автоматических систем и блоков управления (+программирование логики работы).
    Ответ написан
    Комментировать
  • Собственные проекты. Стоит ли доводить до идеала?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не совсем понятно, какую цель вы преследуете. Исходя из вашего слова "профитнее" (т.е. по-русски "выгоднее") её можно трактовать по-разному.

    1) Если вы рассматриваете свои игры, как дополнительные пункты в резюме разработчика игр, и выгода для вас означает профессиональный рост и потенциальную зарплату у работодателя, то нужно не вылизывать игру до идеала, а повышать KPI. То есть нужно обращать на те моменты, которые приносят прибыль, а которые не приносят - забить. Однако к программированию это имеет мало отношения, это больше маркетинг, психология, геймдизайн, и вот это вот всё. Одному человеку это, как правило, не под силу. Но если вдруг хотя бы одна из ваших игр будет иметь коммерческий успех, пусть даже вы будете лишь одним из ее разработчиков внутри небольшой команды, то это считается серьезным достижением при устройстве на работу и имеет реально солидный вес, какую бы более узкую специальность вы ни выбрали.

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

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

    4) Наконец, если вы хотите заниматься буквально саморазвитием, то есть повышать качество кода и снижать количество багов в нем, то нужно заморочиться конкретно на этом. Опять же, игры здесь ни при чем. Нужно наводить порядок в голове, приучать себя к хорошему оформлению кода и т.д. Опыт, конечно, тоже идет в плюс, но тупо опыта не достаточно. А точных рецептов здесь нет. Начать можно даже с гугления наивной фразы "как писать код без ошибок", а дальше как пойдет, это долгий путь. Но сразу скажу, что это имеет мало отношения к коммерческой выгоде. То есть даже если вы участвуете в ААА-проекте, где отсутствие багов критично, никто не пустит ваш код в продакшн сразу после написания. Ошибаются все, даже профи.

    P.S. На уровне джуна можно быть только помощником. То есть хорошо зная лишь теорию, получать замечания от более опытных товарищей, которые отвечают за успех. Хотя деление это довольно условно. Пет-проекты могут как способствовать росту, так и просто отнимать время, смотря что и как качать.
    Ответ написан
    Комментировать
  • Как интегрировать программу на сайт?

    @2bllk
    Ну если, к примеру, взять консольную утилиту ffmpeg, которая занимается конвертированием аудио- и видеозаписей, то ее можно будет вызывать с помощью специальных функций в серверных ЯП. Например, в php я смогу вызвать ffmpeg и получить ответ в переменную $answer таким образом:
    $answer = shell_exec("./ffmeg -param1 -param2");
    Можно теперь получать от пользователя на сайте видеозапись (или аудиозапись), параметры (кодек, формат, битрейт и т.д.) и конвертировать полученный файл.
    По своей сути web-сервер — это удаленный компьютер, почти такой же, как и Ваш.
    Насчет программ, которые завязаны на графическом интерфейсе — я не знаю, что предложить.
    Ответ написан
    2 комментария
  • Как правильно скрыть сайт от ПС во время наполнения?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    - В robots.txt запрещаем индексацию
    - Добавляем в шапку noindex
    - Отключаем карту сайта
    - Закрываем доступ для неавторизованных посетителей, чтобы только админы и редактора могли ходить по сайту, для всех остальных одна страница-заглушка "coming soon"
    - Когда сайт готов к публикации - открываем карту сайта, разрешаем индексирование, подключаемся к Google / Yandex Webmaster Tools, сабмиттим сайт в очередь на индексацию.
    Ответ написан
    Комментировать
  • Чем отрубать напругу?

    @Newbie2
    Ну пускатель можно поставить. Катушку питать от "потребителя", внутри поставить шунтируемую кнопку.

    p.s. если нагрузка небольшая, можно просто автомат на 1 ампер поставить в шкафу и всё. При попытке подключить нагрузку больше 220 Ватт он отрубится. Можно поставить реле тока, которое будет отрубать нагрузку при превышении тока (если у вас подключена нагрузка большая, то решение не имеет смысла).

    Пускатель ещё можно вот так подключить:
    5db3033345ae8805895047.png
    Ответ написан
    2 комментария
  • Как распознать картинку с камеры на javascript и найти её в базе?

    @rPman
    Потому что задача не такая простая как хотелось бы, да, перцептивное хеширование и opencl верное направление, но ваша проблема именно в том что вы работаете с камерой а не типличными условиям и готовыми картинками.

    Камера - это повороты и перспективные искажения, проблемы с неравномерной яркостью и мерцанием освещения, инертностью матрицы и глюки алгоритмов пост обработки в смартфонах.

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