bash.im ithappens.me zadolba.li

Базы данных

13415

Приблизительно равно

Буква «Ё»? Далась.

Расскажите про «никакой разницы» тому самому Семёну Ёлкину, если его имя или фамилию один из таких вот «специалистов» внёс в документ без точек над буквой «Ё». Проблемы с этим документом будут исключительно во всех государственных и коммерческих учреждениях.

Код буквы «Ё» в русской кодировке был уже доступен с появлением кодировки CP866, которая уже в середине 90-х годов массово и повсеместно шагала по стране. За 20 лет, прошедшие с тех пор, можно было уже или переписать старые программы или написать новые, для нормальной обработки слов и имён собственных русского языка с буквой «Ё».

Чтобы было понятней, какая это «мелочь», расскажу небольшую историю про своё обучение программированию. Классе эдак в 10-м я осваивал Паскаль в популярной тогда среде Turbo Pascal 7. И была у меня привычка давать индексным переменным имена i, j, k… и далее по алфавиту. Однажды мне пришлось часа эдак полтора отлаживать программу на несчастные 70 строк из-за того, что я перепутал местами i и j. Это для меня буквы похожи и «мелочь же, ничего страшного». А у компьютера это разные буквы, и его не колышут проблемы школьника, не сразу заметившего графическую разницу похожих символов.

В общем и целом, пожелаю всем тем «программистам», которые считают, что буква «Ё» не нужна, и вполне заменяется буквой «Е», чтобы однажды во всех вхождениях их имён и фамилий в базах данных официальных учреждений возникла неопределимая по контрольной сумме ошибка. Например, при простом XOR-сложении и хранении в однобайтовой кодировке, простая фамилия Сидоров с точки зрения контрольной суммы будет вполне эквивалентна чему-то странному Тздоров.

Ну, а что? Для компьютера это же «мелочь» — главное, что суммы совпали.

13413

Володя, меть!

Эта история про неупругую деформацию личности под турбулентными потоками обращений пользователей-подписчиков со своими проблемами вселенского порядка, с одной стороны, и менеджмента, который льёт поток задач, с другой. А ваш покорный слуга — посерединке, вертится и тает, как обмылочек.

Наша контора собирает данные со своих подписчиков, чтобы потом их же, эти данные, перепродать другим таким же подписчикам. Если пользователь только пользуется общей базой, но не кладёт ничего в «копилочку», то каждый запрос начинает стоить на два порядка дороже. Посему всяческими способами он старается уменьшить количество запросов и иногда пытается отмазаться от уже сделанных.

Вот тут наступает время удивительных историй про деревянных операторов, их клиентов, которые отказываются платить и многое многое другое. В принципе, для давних и исправно платящих партнёров предусмотрена «пометка» единичных запросов бесплатными. Делается это на форме с джаваскриптом, в котором, стоит поставить галочку в чекбоксе, эта пометка сразу же летит в базу. Процесс этот называется «пометить бесплатным». Поток данных большой, между сотрудниками давно сложился свой внутренний жаргон.

Итак, переписка:

Клиент: Сегодня нами был сделан ошибочный запрос. Просьба учесть.

Менеджер: Володя, меть. Агент.

Я: Готово, пометил. Гав!

Так и живём. А сегодня это увидел технический директор…

13412

Мелочь, а неприятно

Далась вам эта буква «Ё»!

Казалось бы, со времен первой русификации компьютеров, когда никакими «ё» еще и не пахло, прошло уже много лет. Люди годами писали и читали без этой буквы и, несмотря на наличие в языке слов типа «еж» или «теленок» — никто всерьёз не путался. Как-то обходились.

Даже когда её добавили в раскладку — продолжали писать «е» вместо «ё». Выходит, не так уж она и нужна была?

Но вот пришла мода на «особость», и началось: то один выпендрится и начнёт в своём блоге везде и всюду пихать «ё», то другой яростно возмущается, что кто-то смеет её не использовать, то устраивают некие кампании в поддержку забытой буквы. Да на кой чёрт?

Кстати, ревнителям чистоты языка неплохо бы вспомнить, что совсем недавно по историческим меркам слово «чорт» писалось вот так, через «о» — и никого это не смущало. Как и слово «чорный», например.

А знаменитый падонкафский сленг добавил также словоформы типа «йож» — это если кому надо непременно звучание отобразить. Но прошло и это — пишут «черт» и «еж». И что? Ну и что?

А если кто беспокоится о потомках, которые не будут знать, как правильно произносится слово «теленок» — вы уверены, что это будет кого-то волновать, кроме историков-лингвистов? Вас лично волнует произношение слов типа «одесую» или «ошую»? А правила употребления «иже», «ниже», «имать», «егда»?

Зато сколько сейчас проблем у тех, кого в старых программах провели по базам в госучреждениях, скажем, как «СЕМЕН ЕЛКИН», а теперь новые ценители старины вносят запись как «Семён Ёлкин», из-за чего бездуховный компьютер начинает воспринимать это как две абсолютно разные записи, а программисты ломают голову, как научить программу понимать, что вот в этом случае Е = Ё, а вот в этом — на самом деле Е ≠ Ё.

И всё — из-за сущей ерунды.

13357

Померяем умы линейкой

С лёгким ужасом прочитал историю про разжалованного в чтецы. Невольно вспоминается анекдот, когда один новый русский называет другого глупцом, так как за углом можно было купить ту же вещь дороже и иметь больше понтов. Когда же люди в IT хвалятся неэффективностью своего решения и меряются количеством потраченного времени…

Попросил меня друг однажды помочь. Он программист-самоучка. Делает базу на Access с навороченными скриптами на Visual Basic в свободное время. А на основной работе она помогает сэкономить многие недели тупого заполнения бумаг.

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

Смотрю я — а это всё надо, просто чтобы накладывать на таблицу рамку в виде отдельного рисунка для печати отчёта, причём в скрипте как раз вычисляется, где какая линия. И это работает! Только вот универсальности не хватает, иногда промахивается… И ведь друг уверен, что другого способа нет.

Проблема решилась не за шесть часов, а за две минуты. Нашарил я мышью нужное меню, включил рамку, отключил скрипт — и вот он, профит.

Настоящий программист/админ/IT-специалист чем отличается? Он, прежде чем кидаться в лоб с клавиатурой наперевес, глянет, нет ли готового или встроенного подходящего решения.

А на Android давно есть программа для повышения громкости выше максимума. Так-то.