Психи

Apr. 4th, 2014 04:18 pm
metaclass: (Default)
[personal profile] metaclass
http://people.onliner.by/2014/04/04/metro-29/
86400 - количество секунд в день. Разработчики умудрились как-то вычесть его из оставшегося на проездном количества поездок.
"Ошиблись полем".
Сразу видно олдскульных любителей Си и ассемблерных прошивок, мастеров байтоебства, которые никогда тестированием не заморачиваются, с первого раза все правильно делают.

Date: 2014-04-04 01:38 pm (UTC)
From: [identity profile] trueblacker.livejournal.com
респект

Date: 2014-04-04 01:44 pm (UTC)
From: [identity profile] trueblacker.livejournal.com
если я правильно понимаю, то есть проездные с числом поездок, а есть со сроком действия
видимо, ридер принял карточку за другую и вместо того чтобы списать поездку, списал прошедшие сутки
видимо, они в одном поле хранятся

Date: 2014-04-04 01:45 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Да причем тут ассемблерные прошивки, я встречал совершенно несишных людей, которые дату в базе в юникстайме держали, потому что привыкли руки к топорам.

Date: 2014-04-04 02:36 pm (UTC)
From: [identity profile] kranov.livejournal.com
юникс тай это фигня. Вот например процессинг smartvista фирмы БПЦ, мало того что дату и время хранит в двух разных полях типа number, и дата хранится 20140404 а время 193230, но 00:00:01 у них хранится в виде 1, а 01:01:00 это 10100.

и я вот переписывал (ускорял) запрос (dt >= SYSDATE - (5/(24*60))

было
      t.udate >= TO_NUMBER(to_char(SYSDATE - (10/(24*60)), 'YYYYMMDD')) and
      to_date(t.udate||':'||lpad(t.time,6,'0'),'YYYYMMDD:HH24MISS')> SYSDATE-(10/(24*60));
622  consistent gets


мой вариант
               (
                       (t.udate > TO_NUMBER(to_char(SYSDATE - (5/(24*60)), 'YYYYMMDD')))
                    or (
                          t.udate = TO_NUMBER(to_char(SYSDATE-(5/(24*60)), 'YYYYMMDD')) and
                          t.time  > TO_NUMBER(to_char(SYSDATE-(5/(24*60)), 'hh24miss'))
                       )
                 );
148  consistent gets


Edited Date: 2014-04-04 02:59 pm (UTC)

Date: 2014-04-04 03:23 pm (UTC)
From: [identity profile] orleanz.livejournal.com
а что плохого в хранении даты в юникстайме? если например нужно часто считать дельты между разными значениями, разве это не самый оптимальный способ хранения?

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

Date: 2014-04-04 03:40 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
а что плохого в хранении даты в юникстайме? если например нужно часто считать дельты между разными значениями, разве это не самый оптимальный способ хранения?
Боюсь, я вас не понял.

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

Date: 2014-04-04 05:33 pm (UTC)
From: [identity profile] prepor.livejournal.com
Есть яп не умеющий переводить даты в юникстаймстемп? вы так и не сказали, чем же это плохо, хотя вот нашелся один явно интересующийся, а вот и второй подоспел.

Date: 2014-04-04 09:13 pm (UTC)
From: [identity profile] orleanz.livejournal.com
ну так у вас написано - "а я видел, как (один раз) дату хранили в юникстайме". я к тому что ИНОГДА это совершенно не проблема. надеюсь вы знаете разницу между "иногда" и "всегда".

Date: 2014-04-07 11:45 am (UTC)
From: [identity profile] astarsan.livejournal.com
Если у вас клиенты в разных timezones (иначе бы вопрос не был актуален вообще).
То понятие платежи за сегодня для клиентов в разных timezones оно разное (с т.з. unixtime).
И разбивка платежей по календарным дням тоже разная (и вот это уже писать на unixtime c учетом timezones занятие ОЧЕНЬ так себе... скажу как человек который на это напарывался много раз).
И браузеру на откуп это не отдашь.
Проблема то не с отображением времени с учетом timezones а с КОРРЕКТНОЙ выборкой данных с учетом этих самых разных timezones и их свойств.

Date: 2014-04-09 05:30 pm (UTC)
From: [identity profile] andrew shadura (from livejournal.com)
Как раз в случае клиентов в разных часовых поясах UNIX time (при условии отсутствия дат до 1970 или точности выше секунды) — наилучший выбор.

Date: 2014-04-04 07:30 pm (UTC)
From: [identity profile] osdm.livejournal.com
Любая нормальная база данных умеет специальный тип для хранения даты-времени и умеет легко считать разницу между разными значениями этого типа и имеет кучу сервисных функций для работы с таким типом. Любой нормальный клиент к БД умеет переводить такой тип в тот формат, который принят в соответствующем клиентском языке программирования. Ни про какой юникстайм программеру, проектирующему БД, знать вообще не нужно.

Date: 2014-04-04 04:51 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
А чем тебе так не нравится база в юникстайме?
Не, ну понятно, что оно не соответствует никакому времени, но пересчёт в wall clock в общем нормальный.

Date: 2014-04-04 06:38 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
У меня брат 68 года.

Date: 2014-04-04 06:55 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Стремаешься отрицательных чисел?

Date: 2014-04-04 07:37 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Это какая-то совсем самодельщина непонятно во имя чего.

Date: 2014-04-04 08:40 pm (UTC)
From: [identity profile] orleanz.livejournal.com
" непонятно во имя чего.

во имя простоты и надежности - что при проектировании сложных систем имеет адски важное значение.

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

Date: 2014-04-05 07:31 am (UTC)
From: [identity profile] plumqqz.livejournal.com
С братом колхозим, с дедом (1896) делаем специально для него int64_t. Знаете, мне и без этого есть чем заняться.

Date: 2014-04-05 07:47 am (UTC)
From: [identity profile] berezovsky.livejournal.com
СПАСИБО ДЕДУ ЗА КВАРТИРУ

Date: 2014-04-05 08:43 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Ура-а-а!!

Date: 2014-04-07 10:36 am (UTC)
From: [identity profile] levgem.livejournal.com
что плохого в держании даты в юникстайме?

Date: 2014-04-07 10:50 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Смотрите выше.

Date: 2014-04-07 10:51 am (UTC)
From: [identity profile] levgem.livejournal.com
вы к тому, что при отсутствии типизации на уровне БД могут появляться такие проблемы из-за недотестированности кода?

Date: 2014-04-07 10:54 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Я к тому, что иметь особый ни с чем толком не совместимый тип для дат с 1970 года с точностью в секунду, и другой тип для дат не только с 1970 года и с разной точностью очевидный идиотизм.

Date: 2014-04-04 01:55 pm (UTC)
From: [identity profile] az-from-belarus.livejournal.com
По внешнему виду той хрени, которую понавесили в транспорте, создалось впечатление, что кто-то получил откатец.
Неуклеже и бестолково. По принципу - все будет выполнять те же функции, что и раньше, но на новой "прогрессивной" элементной базе.
Снабдить дырокол часами и струйным принтером, и протянуть к нему еще десяток метров проводки - круто. Ассоциации - говорят бывают унитазы, которые умеют музыку играть.

Date: 2014-04-04 02:25 pm (UTC)
From: [identity profile] altmind.livejournal.com
у меня ощущение, что IBA скорее по дурости и глупости взялось автоматизировать КУП.
ни денег, ни славы. а возможно еще и под внимание кгк попадут.

Date: 2014-04-04 02:41 pm (UTC)
From: [identity profile] ingaret.livejournal.com
вы абсолютно правы, кроме одного - не уверен я, что принтере там не матричный.

Date: 2014-04-04 02:48 pm (UTC)
From: [identity profile] skif-by.livejournal.com
Вроде бы матричный, кстати.

Date: 2014-04-04 02:50 pm (UTC)
From: [identity profile] ingaret.livejournal.com
Вот и мне так показалось.

Date: 2014-04-04 02:52 pm (UTC)
From: [identity profile] skif-by.livejournal.com
"Рисунок" характерный для матричного, от воды не плывёт (проверил только что - на столе как раз талончик пробитый завалялся). Ну и звук вроде бы характерный, хотя я давно не ездил, могу заблуждаться.
Edited Date: 2014-04-04 03:04 pm (UTC)

Date: 2014-04-04 06:36 pm (UTC)
From: [identity profile] az-from-belarus.livejournal.com
Слишком тихий звук для матричника.
Чернила жидкие - влажным пальцем размазываются и плывут.
Кстати игольчатые матричники в данных условиях - не очень хорошо. Ибо температуры могут быть плохие, конденсаты, примерзание иголок... и т.п.
Но не в принтере дело.
Не видно толковой и сильной концепциии. Потому в конечном итоге выходит вот такой уродец. Очень похоже на ситуацию, когда в ТЗ натыкали всяческих обмылков идеек и чьих-то невнятных хотелок. Ну и получили в результате.

Date: 2014-04-04 02:28 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
А вот интересно, как будут списываться поездки.
Прикладываешь - списалось.
Подходит контролёр, говорит:
- Приложите.
- Я уже прикладывала, опять спишется.
- Не спишется, компьютер учитывает.
То есть надо учитывать, что если в течение достаточно короткого периода прикладывается к тому же самому, то это всё одна поездка. Интересно, как такое реализовывается. Можно считать совпадение с предыдущим транспортным средством в течение достаточно короткого периода времени, как-то так.

Date: 2014-04-04 02:28 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
Это я про троллейбусы, не про метро.

Date: 2014-04-04 02:34 pm (UTC)
From: [personal profile] leotsarev
Не знаю как там у вас.
У нас (в Питере) так.
У транспорта есть такое понятие «рейс».
Пока он едет, ты сунулся проездным — списалось.
Сунулся еще раз — повторное предъявление, не списалось.
На конечной кондуктор или водитель пробивают через валидатор свою спецкарточку. Рейс кончается.
Сунулся третий раз — списалось.

Date: 2014-04-04 02:41 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
Ну, да, сложно представить, что в пределах рейса будут бесплатно кататься.
А правда, что в Питере заставляют всех через переднюю дверь заходить?

Date: 2014-04-04 03:28 pm (UTC)
From: [personal profile] leotsarev
Только на безкондукторных маршрутах. Большинство (включая все популярные) — кондукторные.

Date: 2014-04-04 03:28 pm (UTC)
From: [personal profile] leotsarev
И не входить, а выходить (хоть по правилам и входить).

Date: 2014-04-04 03:47 pm (UTC)
From: [identity profile] nicka-startcev.livejournal.com
нет. неправда.

но по вечерам (после 22-00) иногда транспорт ходит без кондуктора. тогда вЫход только в переднюю дверь, где водитель валидирует.

Date: 2014-04-05 09:01 am (UTC)
From: [identity profile] nivanych.livejournal.com
В Москве немало, где так.

Date: 2014-04-04 02:43 pm (UTC)
From: [identity profile] swamp-agr.livejournal.com
Некоторые водители, исполняющие функцию кондуктора, в пригородах тупо забивают. В результате можно дважды с разницей в шесть часов одну поездку прокатать.

Date: 2014-04-04 02:47 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
Во, для такого надо эвристики "достаточно малого" промежутка времени.

Date: 2014-04-04 03:06 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Скорее уж это мастера явы и яваскрипта попытались запрограммировать контроллер

Date: 2014-04-04 03:13 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
>мастера явы и яваскрипта

По моему опыту, это совсем разные люди.

Date: 2014-04-04 03:26 pm (UTC)
From: [identity profile] orleanz.livejournal.com
не только разные. веб-люди обычно и не пытаются переходить в ембеддед, потому что скучно им там, по сравнению с. А вот в обратном направлении частенько переходят.

Date: 2014-04-04 04:54 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Если проездной с магнитной полосой -- то, возможно, он не с той скоростью прокатился.

Date: 2014-04-04 05:13 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Mifare Plus там, вроде бы.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 11th, 2025 11:58 am
Powered by Dreamwidth Studios