@prophp7

Страница 1109 из 1387
Daniel
08.06.2018
09:01:40
https://www.xaprb.com/blog/2006/04/11/bit-values-in-mysql/

Старая шкоал

Konstantin
08.06.2018
09:02:39
спасибо, почитаю)

Daniel
08.06.2018
09:07:45
На самом деле куча статей

Google
Daniel
08.06.2018
09:07:55
Если погуглить

Sergey
08.06.2018
09:16:21
вообще нормальную СУБД возьми которая умеет булы

Evgeniy
08.06.2018
09:16:58
ребят вопросик такой по ларке (у нас 4.2) но мб и для 5.Х актуально, ну или моему говно коду что тут течет по памяти https://pastebin.com/kLQ7k2AV но если я убираю update то не течет https://pastebin.com/9LHhpvg5 (по крайне мере не так быстро) в первом случае после миллиона обработанных записей память заканчивается.

Konstantin
08.06.2018
09:18:11
вообще нормальную СУБД возьми которая умеет булы
я не выбираю технологии для проекта, просто интересно стало — зачем хранить один байт, если логичней хранить один бит

Sergey
08.06.2018
09:18:30
потому что не могу структуры данных в памяти занимать не кратное степени двойки количество байт.

точнее могут но это будет не очень эффективно

а потому под копотом выравнивание

да и часто люди потом бул превращают в битовые маски) хотя это тупо

Konstantin
08.06.2018
09:19:45
ясно, сложный компьютэ-сайнс!

Sergey
08.06.2018
09:20:04
ну и повторюсь - в целом tinyint(1) потому что "а почему бы и нет", всеравно это кастыль

Konstantin
08.06.2018
09:20:14
а потому под копотом выравнивание
есть что почитать по теме?

Google
Sergey
08.06.2018
09:20:35
https://en.wikipedia.org/wiki/Data_structure_alignment

но это только к вопросу что пофигу

Ja
08.06.2018
09:20:59
всем привет! немного оффтопа в пятницу: строим сервис который работает через api с криптобиржами. с юзеров собираем их key&secret вопрос: какой бест вей для безопасного хранения и использования ключей? если ли какая-то методология хранения приватных данных? пока вижу один, не очень удачный, как по мне способ, шифровать данные, и давать юзеру его приватный ключь

Sergey
08.06.2018
09:21:54
> вопрос: какой бест вей для безопасного хранения и использования ключей? хранить только публичный ключ

приватный ключ никак не хранить

либо шифровать секретом который только пользователь знает

если ты там чето с криптобиржами мутишь - надо сделать все возможность что бы ты никак не мог воспользоваться приватным ключем без согласия пользователя.

end-to-end шифрование короч

что бы секретный ключ только на клиенте мог светиться в открытом виде

Ja
08.06.2018
09:24:42
что бы секретный ключ только на клиенте мог светиться в открытом виде
т.е., грубо говоря когда юзер хочет произвести какое-то действие со своими ключаем ему нужно ввести свой пароль

и так каждый раз

Sergey
08.06.2018
09:26:23
более того, подпись транзакции тоже на клиенте

что бы вообще никак и никогда ничего что позволит вскрыть приватный ключ не светить ни по сети ни в памяти сервера

ну а дальше думай что тебе важнее, что бы удобненько или безопасно

как никак с деньгами работаешь

Ja
08.06.2018
09:28:40
end-to-end шифрование короч
спасибо!) буду изучать

https://framework.zend.com/blog/2016-08-19-end-to-end-encryption.html получается, я храню и публичный и приватный ключь но пароль от приватного хотит только в request от юзера

Sergey
08.06.2018
09:31:34
пароль от приватного никуда не ходит

Ja
08.06.2018
09:36:49
тогда не понимаю мне жде нужно доставать пару api key&secret -- ладно, разберусь сначала в end-to-end – тогда вернусь)

Sergey
08.06.2018
09:38:36
прикол в том что бы транзакции на клиенте подписывать а не на сервере

Google
Sergey
08.06.2018
09:38:52
ну короч я не знаю требований к безопасности на твоем сервисе

Ja
08.06.2018
09:42:22
кейс один – использовать api key&secret максимально безопасно мне от юзера нужны эти данные, что бы общаться с удаленным сервисом но не хочется хранить ключи в открытом виде "транзакции на клиенте подписывать а не на сервере" – грубо говоря, телега, например, никак не имеет доступа к моему ключу, а сам ключ хранится/используется только в клиентах?

Sergey
08.06.2018
09:50:29
а с блокчейнами все проще. у тебя есть приватный ключ, у тебя есть транзакция, ты делаешь приватным ключем подпись, что бы сформировать транзакцию достаточно публичного ключа

то есть - сформировали транзакцию и отдали ее на клиент - пользователь вводит приватный ключ (или он дешифруется из того что прислали) - формируем подпись транзакции и отправляем ее на сервер - отправляем в блокчейн транзакцию подписанную

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

все нормальные блокчейн клиенты юзают подпись на клиенте. Ибо это безопасно более-менее

Evgeniy
08.06.2018
10:03:10
попробуй это DB::disableQueryLog();
да попробую, забыл его добавить и запускал еще как вариант если он не поможет буду делать отдельный statment на update

ну и судя по всему там может каждый раз внутри генерируется statment и течет

ну и 3 вариант $builder = DB::table(); а уже внутри цикла юзать этот $builder это тоже мой косяк)

хотя 3 вариант не подойдет будут новые statment генериться, ладно поковыряю еще, но похоже надо на pdo делать

F01134H
08.06.2018
10:29:33
можно ли в пхп узнать (флюент интерфейс), что метод исполняется последним в цепочке?

Evgeniy
08.06.2018
10:31:54
возможно http://php.net/manual/en/function.debug-backtrace.php

но ну его, ты скорей всего что то не так делаешь

F01134H
08.06.2018
10:33:43
наверное да

это ж я

Sergey
08.06.2018
10:37:12
возможно http://php.net/manual/en/function.debug-backtrace.php
найти место где вызывают, а потом через php-parser попробовать по AST выяснить вызывается ли кто-то дальше)

лучше не делать таких API

Google
Nurik
08.06.2018
10:38:20
можно ли в пхп узнать (флюент интерфейс), что метод исполняется последним в цепочке?
Да, я тоже задавался таким вопросом. Используй завершающие методы, по контракту, ну чисто для унификации.

Evgeniy
08.06.2018
10:38:36
обычный builder

F01134H
08.06.2018
10:38:41
у меня просто есть класс "Process", который запускает процесс и позволяет писать\читать из него. Нужно что бы по окончанию работы - процесс закрывался

Evgeniy
08.06.2018
10:38:41
делайте и не парьте голову

F01134H
08.06.2018
10:38:52
постоянно unset делать - такое себе

Evgeniy
08.06.2018
10:39:10
ну так закрой его по окончанию работы

F01134H
08.06.2018
10:39:20
постоянно закрывать его предопределенным методом - можно забыть, что он там есть

Evgeniy
08.06.2018
10:39:23
не сам же Process себя закрывать должен (метод у него должен быть но запускать тот кто им рулит)

и сделай абстрактный метод который из того метода стартует

сейчас покажу

F01134H
08.06.2018
10:40:39
у меня проблема закрытия, а не старта)

Evgeniy
08.06.2018
10:41:16
ты стартани его так чтобы он гарантированно закрылся

для этого надо изменить запуск

https://pastebin.com/irqfexT7

вот совсем на коленке

некоторые вещи можно спрятать за protected

или на интерфейсах сделать

в payload аргументом $process приходит и тут читаешь пишешь и тд

Google
Evgeniy
08.06.2018
10:45:37
все это еще надо в try обернуть но это мелочи

F01134H
08.06.2018
10:51:11
понял, спасибо

Dmitry
08.06.2018
10:55:31
передавай каллбек, который будет читать и писать... по окончанию - закрываешь

F01134H
08.06.2018
11:28:51
спс, хорошая идея)

Хм, вот у меня получилось что то типа: $proc = new Process(); $process->execute(function($io) { $io->write(...); }); А как в пхп на уровне класса этот самый $io передать в метод?

магический метод?

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

Maksim
08.06.2018
11:43:33
какого класса?) много раз перечитал, не понял чё сделать-то хочешь(

Dmitry
08.06.2018
12:09:51
Поделитесь опытом: есть таблица на 25 млн записей и как-то не хочется лишний раз в нее залезать с агрегирующими запросами. Вот думаю сделать отдельную таблицу, куда писать UPSERT'ы, но уже агрегированные по дням и работать с ней. Или есть еще варианты?

Виктор
08.06.2018
12:10:56
Партиционировать, если выборка производится только по части данных

Dmitry
08.06.2018
12:15:13
Квартальные партиции есть, но в них залазиет более 5 млн записей

Виктор
08.06.2018
12:19:45
В таком случае сводная таблица, как сами и написали

Alexander
08.06.2018
12:54:37
Подскажите, а с помощью какой библиотеки сейчас парсят DOM, что-нибудь современное интересует

Dmitry
08.06.2018
12:56:36
https://symfony.com/doc/current/components/dom_crawler.html

Alexander
08.06.2018
12:57:12
F01134H
08.06.2018
14:34:22
По какой причине socket_read() может выполняться вечно?

socket_write при этом работает норм

ладно, с этим разобрался. Теперь другая проблема. Запускаю процесс в режиме демона. Процесс забивает порт, который далее дергает скрипт. Так вот, если завершить скрипт вручную, процесс останется висеть в системе. Как это можно побороть?

или это уже чисто линуховские вопросы

Страница 1109 из 1387