• Как указать относительный путь к fopen("output", 'w+') или запустить его иначе через терминал?

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

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

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

    CityCat4
    @CityCat4
    Если я чешу в затылке - не беда!
    Автоматически и гарантией 100% - никак.

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

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

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

    gbg
    @gbg
    Баянист. Тамада. Услуги.
    Пуск -> завершение работы -> выключить компьютер
    Ответ написан
  • Как и для чего используется 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 от корсаров. Для меня была важна тишина, поэтому я выбирал полу-пассив, и вентилятор на БП почти не крутится, т.к. нет сильной нагрузки и он не греется. Берите из проверенных марок: Корсары, Сисоники или Бикваеты - на что хватит бюджета.
    Ответ написан
  • Что нужно почитать, для базовых знаний маркетинга?

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

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

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

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

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

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

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

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

    самый лучший вариант - обратиться к специалистам.
    Ответ написан
  • Хочу написать что-нибудь интересное. Где найти команду?

    @FanatPHP
    Чебуратор тега PHP
    Нигде.
    Прими факт, что это не твоё.
    У тебя просто нет тех качеств, которые позволяют поднять работающий проект.
    И тем более наивно искать их на стороне. Если кто-то ими обладает, то ты-то ему не нужен.

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

    Вместо игрового портала (которых как грязи а баней) лучше прислушайся к себе и найди тему, которая близка именно тебе. Которая тебе интересна не потому что модно, а потому что будит какие-то струны в душе. И тихонько пили её сам. Со временем она сможет вылиться во что-то серьезное.

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

    Слово стартап в наше время обладает магической аурой для молодежи. И совсем неокрепшие умы на полном серьезе считают, что достаточно только встать, сказать "хочу стартап, где мне найти единомылшенников?", как тут же набегут преданные сотрудники, готовые работать за еду, бескорыстные изобретатели, придумывающие для тебя идеи, и щедрые инвесторы, чтобы оплачивать весь этот праздник жизни.
    Увы, реальность несколько отличается от этих фантазий.
    Ответ написан
  • Отправка максимально большого количества писем через собственный сервер. Чем и как?

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

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

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

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

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

    CityCat4
    @CityCat4
    Если я чешу в затылке - не беда!
    но если чисто в рамках законодательства,

    Какой страны законодательства? России? Соединенного Королевства? Австралии может быть? Или, не к ночи будь помянуты - США? У всех по-разному, вообще-то. В 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 он был отдельной микросхемой, существовавшей не во всех компьютерах, отсюда название).
    Ответ написан
  • Что нужно знать чтобы сделать простой робот пылесос?

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

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

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

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

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

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

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

    Правильно:

    Общение идет между ботом и чат-сервером (на node.js/go)
    По окончанию чата (либо по тайм-ауту), чат-сервер записывает всю инфу в базу.
    И уже какое-то бизнес-приложение (на православных symfony/django/spring) - общается в базу, вытягивает данные и как-то с ними работает.

    Ну и естественно, между этим всем идут межсервисные сообщения (эвенты), которые оповещают об изменение статуса чата.

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

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