Задать вопрос
  • Как научить телеграм бота отвечать на стикеры?

    @rPman
    у telegram.Message есть поле sticker, проверяй по его наличию у каждого сообщения, при наличии смотри либо по id либо по имени сетпака
    Ответ написан
    Комментировать
  • Какие есть подставки для телефона для разработчика?

    @rPman
    Можно приобрести hdmi wireless/miracast донгл, и подключить телефон к монитору/телевизору (кстати последние часто имеют встроенную поддержку), а с помощью простого usb otg переходника подключить мышку (или даже usb хаб и в догонку и клавиатуру), тогда с телефоном можно будет работать как с буквально обычным компьютером.

    p.s. осторожно работа с мышкой не то же самое что работа с интерфейсом пальцами (свайпы и тем более щепки), точнее этот момент в своем приложении рекомендую тестировать дополнительно. Плюс мышкой очень легко попасть в маленький элемент, когда как пальцем сложно. В любом случае тестировать юзабилити придется на телефоне.
    Ответ написан
    Комментировать
  • С помощью каких команд в cygwin можно создать директории?

    @rPman
    причем тут cygwin?

    cygwin это фактически полноценный linux, скомпилированный под windows (т.е. приложения windows но собранные из исходников linux, которые и не думали поддерживаться разработчиками)

    Поэтому вопрос наверное должен быть как в linux так сделать?
    Например в bash можно так:
    mkdir -p Projects/Project_1/{directory_1,directory_2,directory_3}
    mkdir -p Projects/Project_1/directory_1/{sub_dir_1,sub_dir_2}
    mkdir -p Projects/Project_1/directory_3/sub_dir3
    Ответ написан
    Комментировать
  • Можно ли написать try-catch один раз?

    @rPman
    Написать можно но смысла в этом практически нет, а вреда полно

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

    Если try catch будут не единственными, то корневой имеет смысл чтобы отлавливать 'все остальные' ошибки и отправлять их в свой собственный лог (чтобы их поправить само собой)... ну кому как удобно
    Ответ написан
  • Как из формы вписать в таблицу какие-либо данные и чтобы они сохранялись при обновлении страницы(без использования PHP)?

    @rPman
    Под php подразумевается сервер бакэнд, а то можно на другом языке написать, например на javascript node.

    Хранитиь в localStorage браузера, само собой в этом случае данные будут доступны только локально, с другой машины нет.

    Если нужно чтобы еще и сторонние машины подгружали те же данные, да еще и в режиме онлайн мониторинга изменений, то активный сервер нужен без вариантов, можно воспользоваться готовыми облачными хранилищами такими как у amazon или google cloud, но в этом случае авторизация так же быть методами облака (либо ключи доступа будут доступны клиентам)
    Ответ написан
    Комментировать
  • Где взять дешевый 'статический белый ip'?

    @rPman
    lowendstock, lowendhost
    google: cheap vps

    Статический белый ip начинается с 10 евро в год, т.е. дешевле бакса не найти ну и гарантий на ip может не оказаться, сегодня он один через пол года другой.

    p.s. Кстати сохранность ip адреса не будет гарантировать и дороже хостеры, точнее пока договор действует, наверное можно найти варианты... но уж точно не дешево. Поэтому если нужен один и тот же ip адрес на протяжении нескольких месяцев-лет, то скорее всего только локальный провайдер.

    Чую подвох, что это за лицензия, что привязывается к ip адресу, из какого они века?
    А вот если не привязываться к конкретике, то любой серый ip адрес (меняется в худшем раз в сутки), но не NAT - вполне есть практически у каждого интернет провайдера, возможно достаточно просто правильно настроить роутер?
    Ответ написан
    2 комментария
  • Как подключить диск с файлами к виртуальной машине ESXi через sata?

    @rPman
    На сколько я знаю, в win10 (когда то в win7 я спокойно подключал виртуалке) системный диск так не подключить, а если диск не используется, то сначала его нужно перевести в состояние offline (в оснастке управление дисками нажать на диске правую кнопку и выбрать offline/вне сети)

    p.s. кажется при использовании qemu/kvm можно эмулировать диск, подключив только физический раздел, а симулированный mbr и прочее сохранить в файле.
    Ответ написан
    Комментировать
  • Как убрать постоянный chkdsk после загрузки windows 10?

    @rPman
    Скорее всего причина постоянного чекдиск в механизме ускорения запуска windows 10 - fast boot, который основан на hibernate, операционная система вместо завершения работы делает logout (закрывает пользовательские процессы) а затем сбрасывает оперативную память на диск в hiberfil.sys, а при следующем включениии вместо запуска ос просто загружает память обратно.

    Проблема в том что система не размонтирует диски в этот момент (логично, файлы то открыты у программ) плюс возможно зайдя в windows 7 диски меняются когда windows 10 этого не ожидает. И главное, windows 10 помечает диски при гибернации как - требующие проверки, windows 7 это видит и проверяет.

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

    @rPman
    Вообще то это должен быть it архитектор, который должен определить все необходимое, и даже составлять прогнозы развития систему на будущее, особенно если инет подробного ТЗ.

    Что в вашем проекте главнее? что задает тон разработки, бакэнд или фронтэнд? Если бакэнд по сути прослойка к базе данных, то пусть за api отвечает фронтэндер, ведь для его удобства его разрабатываете, если же у приложения сложная бизнеслогика и сложное использование и несколько клиентов, то скорее всего тон разработки api должен задавать бакэндер.

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

    @rPman
    Лимиты нужны везде, чтобы было сложнее устроить dDOS, заливая огромные файлы, растрачивая ресурсы сервера в ноль (бывает часто что разработчики плохо отслеживают ошибки окончания места на диске, что ломает работу сервера, вплоть до поломки базы данных, особенно когда велосипеды)
    Ответ написан
    Комментировать
  • Как это убрать хотя в виде поисковика выбран гугл?

    @rPman
    отключить все расширения, а видно их не мало, если проблема исчезнет, включать по одному до тех пор пока проблема не вернется.

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

    @rPman
    не из памяти а из автозапуска

    Лучшее приложение что существует (не пользуйтесь мусором) - официальное от майкрософта sysinternals autoruns (считаю заговором что пакет этих приложений от sysinternails купленный майкрософтом не установлен в виндоус по умолчанию, это может быть так только из недобрых побуждений).

    Достаточно в закладке logons удалить все не нужное (там обычно только пара приложений - миксер от драйвера, и возможно тебе может понадобиться утилита от производителя драйвера видеокарты)

    Есть еще системные службы и задачи task scheduler, там тоже много что можно отключить.
    На win10 можно сэкономить порядка 200мб практически не затрагивая функционал, а если поковырять серьезнее то и еще пару тройку сотен, но тогда начнут страдать системные приложения, (я видел кастрированную установку windows server, работающую на 512мб, без проводника, там вообще ничего не запускалось - тупо консоль, правда для запуска самых обычных приложений требовало что то до установить докачать и т.п. но в результате стоимость месяца аренды была 300р что для windows рекорд)
    Ответ написан
    Комментировать
  • Как оживить диск?

    @rPman
    Правая кнопка мыши на Мой компьютер, выбрать Управление, выбрать Управление дисками, там создать/пересоздать раздел (возможно понадобится инициализация, в общем смотри что там написано будет на диске)
    Ответ написан
  • Можно ли с помощью платных прокси зарегистрировать много гугл аккаунтов для получения дисков?

    @rPman
    Гугл прекрасно знает, какие аккаунты созданы через прокси на пустом по истории 'рабочем месте', и может потребовать идентификации через мобильный телефон.

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

    @rPman
    Для начала нужно понять, железная это проблема или программная.
    необходимо подключить клавиатуру к другому компьютеру, на котором нет такой проблемы или подключить к твоему компьютеру чужую клавиатуру, которая не глючит, так же можно загрузиться в какую-нибудь другую установку ос (например livecd хоть winpe хоть linux ubuntu, можно записать на usb, рекомендую unetbootin там все в пару кликов)
    Ответ написан
    Комментировать
  • Как сохранить/передать файлы куки через iframe на сайт сделанный на tilda?

    @rPman
    куки и локалсторадж это данные, которые сохраняются привязанные к доменному имени, с которого открывалась страница (или iframe), т.е. писать и читать браузерные куки можно только с одного и того же домена.

    Т.е. сайт на localhost добавив в iframe другой сайт не сможет никак добраться до кук. Потому что иначе это была бы огромная дыра в безопасности.

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

    @rPman
    Избавляйся от ... where fld like '%...%' это самые плохие по скорости запросы, хотя не всегда это возможно без увеличения размера базы, вообще полнотекстовый поиск можно отдавать на откуп стороннему приложению (это может расширить возможности фильтрации), считай это еще одной формой индекса, хотя лучше данные по другому хранить. Я встречал ситуации когда в varchar хранили значения справочника из десятка значений, но делали по нему like %% что грузило базу прилично, когда как сделать простой комбобокс на порядок эффективнее и удобнее - поиск по подстроке лучше по справочнику делать на клиенте.

    Без индексов скорее всего никуда, если в запросе идет фильтрация по полю, то если не создать на него индекс, этот запрос и будет создавать нагрузку

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

    Частный случай прогноза, не делать select ... limit ... на каждую страницу, а при смене фильтра запрашивать весь диапазон, но только идентификаторы, сохранив их либо в таблице на сервере либо на бакэенде, генерирующим запросы вида select ... id in (...), последнее если количество записей не больше тысяч. Кстати именно постраничная навигация с прогруженным списком id самая шустрая

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

    Некоторые фильтрации данных возможно эффективнее делать на клиенте, как бы это странно не звучало, но клиент по скорости работы может даже превосходить сервер, так почему бы часть данных не хранить в принципе на нем и не фильтровать там же, но это зависит от особенности данных, гонять и хранить гигабайты клиенту не удобно (особенно если это браузер). Это может сильно усложнить алгоритм пагинации, но подумай, так ли человеку нужно знать какой номер строки у него сейчас, обычно достаточно понимать общий прогресс (сколько примерно до конца списка и сколько данных в принципе).

    p.s. диск на сервере hdd или ssd? если не хватает денег на большой ssd, настрой маленький ssd как кеш к медленному hdd (linux bcache), даже когда данные полностью не влезают в кеш, это дает заметный прирост, потому что hdd начинает менее случайно двигаться, плюс добавляется буферизация записи (данные записываются на ssd и лежат там пока hdd не освободится), так же дает эффект ускорения записи вынос журнала файловой системы (если ext4) на ssd (требуется пара гигабайт от силы).

    Осторожно, если высокие требования к надежности хранения, кеширующий ssd в режиме записи лучше пусть будет хотя бы raid1, так как иначе при смерти ssd починить данные, размазанные по диску и кешу будет очень сложно. Для кеша только для чтения это не так критично (при смерти ssd сервер просто упадет, не убивая данные).

    Но мне больше нравится резервирование на лету (настроить онлайн репликацию, пусть и на слабый, бакап сервер)
    Ответ написан
    1 комментарий
  • Стоит ли покупать новичку флешку для покупки биткоина?

    @rPman
    Для доступа к монетам необходимо хранить информацию - приватный ключ (а точнее список всех приватных ключей, на которые будут получения монет в т.ч. сдачи при тратах меньше полной суммы)

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

    Один из самых удобных с точки зрения использования механизмов brain wallet (не путать с одноименным сервисом) - автогенерация приватных ключей и адресов на основе сид ключа (в виде сид фразы из 12 английских слов), который достаточно сохранить/записать или даже запомнить наизусть или даже придумать самому (осторожно, все комбинации придуманных фраз или частей текстов проверяются и монеты воруются в тот же миг как они появляются на счете - т.е. безопасно можно использовать только случайно сгенерированые сид фразы). Достоинство и недостаток подхода - одна сид фраза позволит получить доступ к монетам на всех адресах в будущем, сгенгерированных на ее основе, т.е. бакап не нужно будет обновлять при использовании кошелька (когда как при использовании bitcoin core это делать нужно). Старейший, самый удобный и функциональный bitcoin кошелек с этой функцией это - electrum (opensource, python), в 4 версии добавили lightning network. Для использования достаточно брать надежное оборудование (без жучков), загружаться с livecd какой-нибудь ubuntu и из нее запускать кошелек, указав сид фразу.

    Флешка - один из самых худших способов хранения, к примеру если положить флешку без ее использования то через несколько лет она может потерять сохраненные данные (утекание разряда). То же самое можно наверное и с другими носителями, так или иначе долгий срок пассивного хранения сопряжен с разными рисками.

    Данные можно сохранить, записав их на бумаге или даже выгравировав на металлической/стеклянной пластинке, при наличии прямых рук и оборудования qr-код можно нацарапать вручную (сид - это 128битное число) или самым дешевым 3d принтером/гравером (надеюсь не нужно объяснять что доверять печать третьему лицу означает доверие ему этой сид фразы?). Да эту информацию можно предварительно зашифровать паролем, а сам пароль запоминать, но это будет то же самое что запомнить сам сид.

    Самое надежное это не пассивное хранение информации с паролем на нескольких носителях и сервисах онлайн хранения с постоянным контролем (например раз в месяц), таким образом и пароль легко запомнить и защититься от потери/поломки
    Ответ написан
    Комментировать
  • Как проверить биткоин адрес на реальность?

    @rPman
    тот на котором были любые транзакции
    очень сложное условие, для этого нужно сканировать блокчейн

    Можно это делать самому (bitcoin core так делать не умеет, можно сделать индекс на транзакции или контролировать указанный список, при добавлении адресов потребуется пересканировать блокчейн, иногда мне кажется это такое тонкое издевательство разработчиков) либо взять готовый клиент, например btcd там есть опция создания индекса --addrindex и будет соответствующий rpc запрос

    p.s. если бы было требование положительного баланса, для bitcoin core есть утилита дампа списка UTXO (не потраченные выходы) но это разовая операция, занимает некоторое время и готовит (на текущий момент) 5-гб csv файл.
    Ответ написан
    5 комментариев
  • Почему не устанавливается Windows 10 с флешки?

    @rPman
    Удостоверься что проблема именно в биосе а не неправильно созданная флешка, идет ли загрузка с нее если физически выключить диски?

    Перебирай usb порты, так как старые материнки могли по разному работать с разными своими же контроллерами в момент загрузки, скорее всего лучше использовать порты позади компьютера а не впереди, лучше не использовать порт сверху, рядом с pc2 портом для клавиатуры/мыши, мне рассказывали что там может оказаться usb1, сам не встречал но не лишено логики (эти порты для мышек и клавиатур)

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

    Можно попытаться создать флешку не с помощью windows download tool а с помощью посекторного копирования образа iso - windd, это имеет смысл если в биосе есть пункт меню загрузки с usb cdrom, так же можно по перебирать разные типы загрузки usb hdd, usb fdd (да да я такие видел) и т.п.

    Не использовать флешки больше 8 гигабайт, это странно но старые компьютеры часто не хотят с 16 и выше флешек грузить windows (при этом грузят linux).

    Можно не лезть в сам биос а использовать меню загрузки, обычно оно по кнопке F8/F11/F12 вызывается, смотри стартовое окно загрузки компьютера (можно отключить логотип в биосе), иногда оно дает больше информации и контроля

    * проверь наличие в биосе пункта efi (uefi) загрузчика, и включи его, в 99% случаев это может помочь (для работы этого режима обычно достаточно чтобы флешка в принципе определялась и ее формат был fat/fat32, а бут сектор нет)

    * наоборот для legacy же загрузки, это для случая когда загрузка начинается, но в момент установки уже в сетапе система не видит флешки и просит вставить cdrom, можно создать второй раздел или использовать дополнительный hdd диск, и скопировать на него прямо в корень содержимое iso (если его считать как архив), в этом случае сетап найдет все файлы самостоятельно и продолжит установку с диска.

    Еще экзотический способ - загрузиться с livecd ubuntu (я ни разу не видел чтобы нельзя было загрузить linux, можно поперебирать разные usb загрузчики, например unetbootin), установить virtualbox или qemu/kvm и используя системный диск целиком как диск виртуальной машины, запустить начало установки из виртуалки (самый первый процесс копирования файлов до первой перезагрузки), но продолжить установку после этой перезагурзки уже с реальной машины, перезагрузив ubuntu и вынув флешку.

    Этот способ подразумевает только legacy режим загрузки (виртуалки не умеют нормально uefi и не имеют доступа к редактированию меню загрузки), так же виртуальные машины имеют инструменты по защите MBR таблицы и загрузчика от виртуальной машины, записывая изменения в отдельный файл, но на сколько я знаю это не опция по умолчанию. Так как внутри виртуалки 'железо' стандартное и отлаженное на ура, а так же cdrom там 'настоящий' - установщик без проблем загрузится.
    Ответ написан
    1 комментарий