Как стать автором
Обновить
15
0
Александр Панкратов @xtrime

Web разработчик

Отправить сообщение
Скорее всего этот «русскоязычный человек» и помогал мне фиксить Lets Encrypt :)
Да, с юр лицами все сложнее. Но сейчас у юр лиц есть возможность оформить карту привязанную к счету. Технически оплата по ним выглядит, как оплата обычной картой.
С точки зрения бухгалтерии, вероятно, ее придется провести за счет чистой прибыли (т.е заплатить с нее налог на прибыль). Но это все равно дешевле, чем платить подоходный + взносы с прибавки к зарплате.

Но можно и не деньги отправлять, а выделять время разработки на написание кода в используемых репозиториях.

Было бы желание, а варианты всегда найдутся.
Поэтому отправляю им донаты. И всем советую, если продукт нравится :)

У них, кстати, не один разработчик, а команда. В том числе есть и русскоговорящие ребята из СНГ.
В vesta комиты есть, но последний релиз был 1,5 года назад.

Весной решил мигрировать на новый сервер и захотелось начать сразу с свежей ubuntu 20.04. Но оказалось, что у весты нет поддержки 20.04: forum.vestacp.com/viewtopic.php?t=19841 Возможно, ее нет до сих пор.

Hestia на 20.04 установилась в виде беты, которую через месяц обновил до stable. Мигрировать было не сложно, все на привычных местах. Темплейты для конфигов nginx подошли с минимальными доработками.

Очень понравилась поддержка у hestia. Через issue на гитхабе оперативно отвечают на вопросы и быстро принимаю Pull Request.

Я не силен в администрировании и у меня были проблемы с LetsEncrypt. Один из разработчиков выяснил, что у меня был неправильно сконфигурирован DNS для ipv6 из-за чего домены не валидировались при наступлении срока продления сертификатов. За пару дней решили мой вопрос. Такое не у всякого платного продукта встретишь…

сериализировать юзер инпут — зло


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

Ну теоретически в свой username/имя можно попробовать запихнуть какую то вредоносную строку и тогда другой аккаунт в madelineProto сериализует эту строку в базу. Но опять же, как эксплуатировать это?
По поводу unset и прочих встроенных методов. У меня была надежда на то, что unset схематично работает так:

function unset($key) {
    return $this->offsetUnset($key);
}


По факту оказалось так:

function unset($key) {
    $this->offsetUnset($key);
}

Хоть пост и старый, но отмечусь.

[карма 7 / голосов 56]

Оставил два коммента:
habr.com/post/496798/#comment_21490678
habr.com/post/496798/#comment_21490634

Карма упала с +10 до -9 :(

Но с другой стороны это мотивировало потратить несколько дней, что бы написать два поста, которые давно планировал :)
За две недели получилось восстановить карму с -9 до +8.
Интересно. На маке у меня не возникает проблем с линкованием папок внутрь контейнера, но вот оверхед из-за виртуализации достигает 50-60% по CPU. Т.е. 100% загрузки ядра в докере превращаются в 160% в mac os. Ну и потребление памяти, конечно.

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

Пару раз продавал через local bitcoins. Но там были небольшие суммы, до 40 тыс руб. за одну транзакцию через сбер онлайн. Больше ради интереса, чем из необходимости.

Что то мне подсказывает что большинство как раз только скупают и копят…
Да, тоже так думаю :)

Вот просветите, хочу продать битков на 10к долларов, как именно мне это сделать?

Варианты (по возрастанию сложности и убыванию комиссий):
  1. Воспользоваться обменником и получить перевод на карту/счет. Лучше использовать агрегаторы обменников, что бы найти надежный и с хорошим курсом
  2. localbitcoins и получить на карту, банковским переводом или наличными (для совсем параноиков)
  3. оформить криптокарту в какой нибудь платежной системе, типа advcash и платить ей.
  4. Вывод через платежную систему себе на карту
  5. Вывод с биржи на карту


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

А как мне банку доказать что деньги белые?

Вот это самый интересный вопрос :) Недавно приняли закон о цифровых активах: www.rbc.ru/crypto/news/5f16c6379a794732b6dd31e7. Так что теперь продавать и покупать биток можно, он является имуществом с точки зрения законодательства РФ. Насколько банк устроит объяснение, что вы продали в обменнике валюту из собственных сбережений не могу судить, но скорее всего все зависит от наличия белой ЗП и ее размера.

Я один раз попадал под выборочную проверку по 115-ФЗ. Но благо в Рокетбанке тогда была очень крутая техподдержка и они человеческим языком в чате написали, каких документов им будет достаточно.
Я предоставил сканы трудового договора (у меня белая ЗП) и написал в чат, что переводы физ лицам/от физ лиц, это займы друзьям в простой устной форме (чистая правда, друг машину покупал). У банка вопросов не возникло, вернули максимальные лимиты через несколько дней. Самое интересное, что про перевод 9 тыс евро мне на счет из-за рубежа банк не спросил во время проверки :)

Виртуалки сразу отбросил — ноут не очень радовался соседям внутри:) Докер поджирал заметно ресурсы


Я не пользуюсь windows при разработке, но кажется, что докер через WSL2 должен работать с минимальным оверхедом, и потреблять столько же, как обычный дистрибьютив? docs.docker.com/docker-for-windows/wsl
Не пробовали такой вариант?
Касательно yield все так. Но в процессе написания решил не усложнять этот момент деталями (возможно зря). Благодарю за развернутый коммент, вставлю на него ссылку в посте.
а доступ к бд осуществляется практически всегда по PK
Да, доступ всегда по primary за исключением полного перебора.
учитывая что у вас далеко не самая высокая нагрузка…
MadelineProto у меня крутится на публичном демо tg.i-c-a.su, как часть TelegramApiServer. В рамках одного процесса amphp loop обслуживает еще и amphp/http_server. Не хайлоад, конечно, но 10 одновременных запросов может придти легко. Лишние задержки сильно скажутся на времени ответа.
Кроме того, инстансов madelineProto может быть много внутри одного процесса. И в фоне они постоянно получают апдейты из telegram, которые тоже могут требовать дступа к бд.
Первые версии обновления действительно были частично блокирующими, но решил не «экономить на спичках» во время такого большого pull request.

а еще лучше — взяли бы что-то более ориентированное на key-value, тот же редис
Выбранная архитектура не завязана на конкретную бд. Написать адаптер для redis дело пары часов, и драйвер асинхронный есть. Мне привычнее было начать с mysql. Кроме того, mysql более распространен на shared и бесплатных хостингах. А пользователи активно их используют для madeline.

а попытки использования его не as is преврящаются в вот такие костыли
А что имеется ввиду под использовать, как есть? Не использовать на аккаунтах с большим количеством данных? Или купить vps с 16 gb ram специально под нее? :)
Чувство вины ни при чем, обычное кармадрочерство :)
Без нее грустно…

А вашу карму где так потрепало? Или это целенаправленное движение к ачивке тролль?
Токенов без майнинга полно. Самые популярные XRP и USDT. Но они не дают ничего нового. Мне кажется, что не настоящие криптовалюты. Компания или лица владеющие ими могут влиять на блокчейн, бесконечно эмитировать токены, блокировать кошельки и тд. Этакий центробанк в миниатюре.

Красота алгоритма ProofOfWork — в решении задачи о византийских генералах. Все пользователи сети BTC не доверяют друг другу, но благодаря майнингу они могут доверять самой сети.

Есть алгоритм ProfOfStake. Его планируют внедрить в сети Etherium 2.0. Это еще более изящное решение, чем ProofOfWork. Это одновременно и децентрализация и отсутствие майнинга и огромная пропускная способность. Но техническая реализация крайне сложна. Код разрабатывают уже годы. И еще предстоят годы разработки.

Пока майнинг единственное настоящее децентрализованное решение. Но все поменяется в ближайшие несколько лет.

Деньги — стоят ровно столько, сколько стоит доверие людей

Вы абсолютно правы. Лично я больше доверяю биткоину и эфиру, чем рублям. Поэтому считаю, что хранить сбережения надо в крипте.

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

Можно хранить деньги в валюте, но опять же нужно доверять банковской системе.

А что мне с ними потом делать?
С каждым годом ликвидность только растет. Сейчас не проблема конвертировать крипту в фиат и получить на карту деньги. Есть даже специальные карты с привязкой к криптовалютному кошельку.
Поделюсь своим опытом. Покупал зимой 2018 года Antminer S9. К тому моменту модель выпускалась больше года, но они только стали появляться в рознице. До этого — под заказ.

Цена, на тот момент, была около 120 тыс. руб. Доходность от 500 руб/сутки в 2018 до 100 руб./сут. в 2020. При этом стоимость электричества при цене 5 руб./квт*час — около 180 руб./сутки.

За два года я отдал за электричество 131 тыс. руб. Без учета роста курса я бы заработал где то 219 тыс. руб. Но фактически получилось существенно больше, так как курс вырос, а BTC я не продавал.

Выводы. Майнить на асиках может быть выгодно если не продавать BTC и/или если электричество очень дешевое. Например, в Сибири на площадках у электростанций можно по 1-2 руб/квт.*ч найти.
И очень важно купить асик, как можно раньше после релиза, что бы он был актуальным хотя бы 1-2 года. Но покупка на старте занятие сложное и рискованное.

С технической точки зрения S9 очень надежная модель. Мне за два года пришлось только 1 раз поменять вентиляторы. Заказывал на ali, 2 х 1000 руб. А в остальном: включил и забыл. Про новые модели этого сказать нельзя, слышал негативные отзывы про надежность и качество.

Мне больше понравилось майнить на видеокартах. Проще купить, доход стабильнее, и даже через 3 года можно легко продать за 30-40% от первоначальной стоимости. Но конечно собирать риги и обслуживать их труднее, чем купить и включить асик.
Одна транзакция в сети биткоин стоит примерно от 1 до 4 долларов.
www.buybitcoinworldwide.com/fee-calculator
Срок от 10 минут до нескольких часов.

Перевод SWIFT стоит от $0,75 до $20 и занимает несколько дней: www.sberbank.ru/ru/person/remittance/beznal_int

Получается, что даже при таких расходах энергии BTC пока эффективнее классической банковской системы.

В одном только банке UBS работает 66'888 человек. Можно ли про сотрудников банковской сферы сказать: «народ тратит вычислительные мощности и электричество впустую»?
bitmain один из крупнейших майнеров в мире:
cointelegraph.com/news/bitmain-launches-worlds-largest-crypto-mining-facility-in-texas

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

Слышал, что большая часть оборудования сначала работает на собственных фермах некоторое время. Только потом отправляется покупателям.
В том то и дело, что я даже чистый контейнер поднимал и opcache_reset(); делал. И всегда даже первый запуск работает в 2 раза быстрее с enable_cli=1.

Сейчас тестирую реальные приложения. Результаты получаются разные.

Команда из проекта на работе (время работы самого скрипта, время запуска не учитывается):
#Прогоны со стандартным конфигом: 
4.059s,4.113s, 4.166s, 4.022s, 4.021s 

#Прогоны с opcache.enable_cli=1:
4.089s, 3.978s, 3.947s, 3.86s, 3.838s, 3.736s


opensource проект, парсинг dom дерева (без учета получения данных по сети): github.com/xtrime-ru/ICA/blob/master/app/Parsers/HtmlParser.php#L19

#Прогоны со стандартным конфигом: 
0.038s, 0.04s, 

#Прогоны с opcache.enable_cli=1:
0.058s, 0.057s


То есть в одном проекте получили ускорение на 200 мс., а во втором случае замедление на эти же 200 мс…

В итоге, как и пишут в умных книжках, надо всегда тестить для конкретных приложений.
У вас opcache.enable_cli включен? При работе bench.php есть прибавка в скорости?

В реальных приложениях все обычно в IO упирается. Но в одном проекте есть парочка «толстых» скриптов, попробую потестить сколько enable_cli дает прибавки в скорости там.
Плохая идея использовать в продакшене php -S, так как он однопоточный, то есть обрабатывает только один запрос одновременно.

Допустим мы вызываем какую нибудь долгую операцию, типа такой:
<?php

sleep(100);
echo 'test' . PHP_EOL;


В следующие 100 секунд наш контейнер не будет обрабатывать другие запросы, даже если они моментальные.

Nginx и apache решают эту проблему с помощью воркеров. Даже если один воркер блокируется, то остальные продолжат отвечать на запросы.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность