• Как записать в JSON число только с ДВУМЯ цифрами после точки?

    Оххх...

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

    То что они тебе прислали бабло в float, говорит о том, что им было на тебя насрать, а не о том, что они "как-то же смогли". Они просто ебнули и прокатило, понимаешь?

    Вот твое конкретное число лично у меня заебись работает. И два знака показывает. А на твоей машине нет. Для меня это знак что "у кого-то тоже сломается" и я стараюсь защититься от этого, чтобы такого не произошло.

    Но в свое время у меня тоже было своё число, которое я точно так же ебся и думал как обхитрить. Это не обхитряют, это делают так, чтобы хитрить не пришлось. Надежно.
  • Как записать в JSON число только с ДВУМЯ цифрами после точки?

    НОРМАЛЬНЫЙ тут только ты.
    А компьютер работает с машинными командами, регистрами, байтами и битами. И математика у компьютера построена на двоичной алгебре, которая при работе с плавающей точкой косячит (зато делает в тысячи раз быстрее чем ты, даже на калькуляторе). НОРМАЛЬНО - потому что конкретно этот пример решился. Другой может не решится. Не делай так.
    Но ты точно спустился с гор.

    Твоя проблема описанная в вопросе встречалась миллионам разработчиков. Но здесь как в фильме - существуют два типа стульев, соответствующие двум типам министров. Одни быстро приспосабливаются, а другие крутятся на месте.

    Знаешь почему фронтенду (браузеру) пофиг, как ты ему пришлешь? Потому что ты НЕ БУДЕШЬ считать на фронтенде. Ты просто отрисуешь на экране число. Корзину и доступность товара, общую сумму ты все равно будешь делать на сервере и отдавать. На клиенте ты будешь только отображать.

    А твои "нормальные интернет магазины" писали им фрилансеры за тыщу рублей и поэтому им было похуй на требования качества, потому что бизнес всегда хочет дешево, а затирает, что хочет охуенно. И вот есть люди которые за свой счет делают здорово, а есть те, которым вообще наплевать что получится. Всё.
  • Как записать в JSON число только с ДВУМЯ цифрами после точки?

    Надим Закиров, мне не надо его отдать в браузер так, потому что когда тот, кому я его присылаю, это СЧИТАЕТ, он будет (но это не точно) бороться с той же проблемой что и ты сейчас и скажет, что я дибил, что так ему отослал. Ты не просто не хочешь решить проблему, ты хочешь поднасрать фронтендеру.

    Тебе нужно понять такую вещь - данные преобразовываются в ЧИСЛА только если тебе нужно с ними что-то делать. Потому что строка с числом при выводе на экран будет числом без кавычек. Точно так же строку с числом можно превращать в Number в браузере написав либо JSON.parse(value) либо 0+value. Типы данных в языках программирования нужны не для красоты, а чтобы их использовать КОГДА ЭТО НУЖНО.

    Если бы компьютер умел всё делать в строках - всё было бы в строках. Но т.к. есть способы быстрее (ограниченного применения) то существуют числа.
  • Как записать в JSON число только с ДВУМЯ цифрами после точки?

    Если ты хочешь сознательно сделать срань чтобы доказать другу что "так можно", вот так напиши:
    $json = "{price:" . $value . "}"
    но ты делаешь дичь.
  • Как записать в JSON число только с ДВУМЯ цифрами после точки?

    Блять. Ты когда делаешь "в json" - ты выполняешь операцию "подготовить для хранения или передачи". Ты думаешь, что ты закрыл вопрос ХРАНЕНИЯ, но ты делаешь ХРАНЕНИЕ, а рассчитываешь, что это будет НЕ ХРАНЕНИЕ.

    При ПЕРЕДАЧЕ данных - флоаты приводятся либо к строке, либо к инту. Иначе при считывании ты рискуешь получить такой же трындец но уже на принимающей машине. Принимающая машина читает СТРОКУ и ЕСЛИ позволяет задача - работает с float. Но ЛУЧШЕ не работать с float, а работать с этой строкой и привыкнуть к этому.

    После деления ты либо выбросил дробные знаки (округлением или просто отрезал до точки) и послал. На принимающей машине считал и работаешь. Не нужно "хранить в json float", не нужно!
  • Как записать в JSON число только с ДВУМЯ цифрами после точки?

    Ты ничерта не понял из того что тебе сказали.

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

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

    Программисты избегают int потому, что он имеет предел в 4 миллиарда, а float потому что он периодически выкидывает такой пиздец. Но если всегда использовать строки, то математические операции тяжелее и занимают больше времени, поэтому на мелких числах (и счетчиках) и там где точность не важна - это допускается и рекомендуется, потому что работает очень быстро. Ты работаешь с баблом, у тебя числа меньше миллиардов, но тебе нужна точность. Если бы ты работал с Зимбабве, то там инфляция такая, что перевод в доллары достигал бы 8-10 знаков, и тебе бы даже integer не подошел для твоей задачи.

    Ты делаешь задачу плохо.
  • Как правильно получить данные через getUpdates?

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

    и почему в цикле стоит проверка на пустоту callback_query тоже, причем там не вызов, там обращение к свойству, которое магически наверное действие под капотом вызывает, все это помножить на previous() который есть не всегда, и еще с редиректами в конце, это... как вы сами это читаете не понимаю.

    на листике напишите 1-2-3-4-5 что должно произойти и где. спасибо
  • Как грамотно реализовать пагинацию через класс?

    Дмитрий, в вашей либе в композере как раз фронтенд и сделан. Я не тот фронтенд который "фреймворк", я про тот фронтенд, который "верстка". Генератором создавать в цикле страницы оттолкнувшись от чисел полюбому придется. К сожалению, СУБД делать тоже.
  • Как грамотно реализовать пагинацию через класс?

    Дмитрий, ваше решение хорошее, как мне кажется. Пагинатор все-таки по большей части генерирует страницы из ничего по переданным в него параметрам. А дальше эти параметры уже идут в получение данных, где пишется "пагинация на СУБД". В любом случае пагинация состоит из фронта и бека, где бек "откуда-то берет данные одной страницы", а фронт "рисует их так будто они просто есть".
  • Как грамотно реализовать пагинацию через класс?

    Дмитрий, на мой взгляд, он сможет сдать задачу если пойдет этим путем. Иначе она займет сильно больше времени, хотя и он получит сильно больше опыта. Если он в состоянии сбросить оплату этого опыта на заказчика этого - прошу. Но безопаснее для его работы - тонким слоем размазать это по разным заказчикам (или по разным задачам), то есть "сдвинуть проблему на позже", что совершенно бредово с точки зрения здравого смысла, но НЕОБХОДИМО с точки зрения бизнеса. Сделают ведь дибилом, если будет долго сидеть. Они должны ощутить (у разных бизнес-гениев кроме ощущений в голове и нет ничего, они по жизни идут не "не работает - попробуй снова", а "не работает - найди дибила у кого работает") пиздец неверного решения чтобы дать ему больше времени.
  • Как грамотно реализовать пагинацию через класс?

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

    ThunderCat, понял, извините.
    Насчет солидов и другого я уже сказал. Вы верно их понимаете. Но он еще не готов. Сначала он должен понять вообще что можно прокидывать через конструктор сколько угодно много функционала, а не делать всегда extends.
  • Как грамотно реализовать пагинацию через класс?

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

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

    Выбирая капитал вы ускоряете те события, что сейчас вы можете видеть во всех новостях. Люди (нихрена не понимающе и оттого безнадежно проигрывающие тем, кому повезло всплыть) сами записываются в армию и идут умирать. Так вот пока что они идут КУДА-ТО, а через какое-то время запишут в армию всех. Не просто законом, а по квартирам пойдет армия дибилоидов (не от рождения, а обученных дибилоидов, пригожин уже сказал "или зк или ваших детей", это не оговорочка, это тестирование реакции), которым пофиг кем ты себя в мире считаешь, и которые именем православия и родины будут расстреливать на месте, потому что ВОТ ОНИ ТО ВСПЛЫЛИ (их всплытие будет заключаться в том, что у них есть автомат, а у тебя нет), а не МЫ в этом "бесполезном" программировании. Потому что сверху идет мода на "выебываться", а не "уметь". Всего одна точка, которую можно поменять только большим количеством согласных людей, и эти люди сейчас воспитывают друг друга в режиме "я тебе не друг, выплывешь - будешь лучше". Это неизбежно ведет к войне. Я это четыре года назад говорил, кричали что я долбоеб. Ну дык как, долбоеб? Я и сам знаю.
  • Как грамотно реализовать пагинацию через класс?

    Дмитрий, прошу вас вспомнить ваш путь в программировании, и представить себя на месте человека, который едва прочитал слово класс. И вы ему говорите про SOLID.

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

    Солид не "требуют", в него "учат". То есть человек написал класс, ему подсказывают что "при желании здесь можно разбить вот так" и хвалят, тогда запоминает. А если требовать - он остается у разбитого корыта, а стегающий - при заказах и зарплате. Так сказать капитализм или социализм.
  • CQRS/ES (или это EventDriven вообще) - Кто поможет разобраться с терминами?

    gzhegow
    @gzhegow Автор вопроса
    Но сам вопрос "помогите взлететь в EDD" открыт))
  • CQRS/ES (или это EventDriven вообще) - Кто поможет разобраться с терминами?

    gzhegow
    @gzhegow Автор вопроса
    Нашел ролик
    https://www.youtube.com/watch?v=xbUkzr1dRlQ

    Здесь описано что я назвал EDD как ES и в этом ошибся. Проще говоря ES это про хранение истории операций, а не про управление приложением распределенно через EventBus.

    В таком случае EDD это то о чем я спрашивал
  • CQRS/ES (или это EventDriven вообще) - Кто поможет разобраться с терминами?

    gzhegow
    @gzhegow Автор вопроса
    В общем обзор понятен, только я не понял особенностей проектирования event/eventhandler, чтобы в них разобраться. Именно многошаговые задачи. Параллельность позже, но сначала бы понять как ивенты которые просто валят в общую кучу способны управлять заданиями, которые имеют четкий порядок 1-2-3-4

    Мне понятно, что такое CQRS, что с помощью запросов мы просим у апи данные, которые могут быть заранее заготовлены или лежать где угодно в нескольких местах. Тогда как с помощью команд мы меняем что-то в системе. А когда это переходит на уровень одних только ивентов - я тону, тону в организации как делать цепочки.