Alex Chernyshev @alex0x08
Немного понимаю в компьютерах
Information
- Rating
- 38-th
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity
Specialization
Fullstack Developer, Chief Technology Officer (CTO)
Lead
Java
Java Spring Framework
Java EE
Scala
C++
C
Software development
Вот ссылка на вендовую сборку, архив 26мб. Exe-файл действительно меньше мегабайта, но ресурсы не упакованы, как и внешние библиотеки.
Спасибо поправил линк на другую версию. Но думаю что это все же косяк Ютуба, поскольку в прошлом году все нормально было.
Набор координат треугольников, загружаемый из файла. Типа такого.
На ЛОРе это тоже заметили, но автор оригинальной статьи честно писал что получил ассемблерный код декомпиляцией из Си и затем уже чистил. Я так тоже делал, когда пробовал портировать под FreeBSD, могу сказать что ассемблерных листингов получается чудовищное количество даже для пустого окна.
Так что совсем уж обвинять автора в криворукости я бы не стал.
Программисты C++ начинают отсчет сразу с мегабайтов, все что меньше — погрешность (ц)
Конечно же ничем, но враги зачем‑то придумали какие‑то дурацкие права пользователя и протоколы — ересь сплошная да порнография. Милонова на них нет!
Да что вы говорите! Быть такого не может!
Это случайно не Socket-A на картинке? AC97 это же 2003й год где-то?
Угу, до тех пор пока не было большой нагрузки на CPU, например из-за запуска компиляции или просмотра фильма.
В статье вообще-то все в Unicode и не про кодировки вообще, но продолжайте ) Молодежь должна знать истоки )
Полагаю гадать дальше почему такое произошло не будем? Тогда расскажу как описанная проблема обнаружилась, так сказать "в назидание".
Кириллическое «c» попав в имя Java‑класса успешно прошло через компиляцию, загрузку этого класса в рантайме и разбор парсером метаданных Hibernate — никто и нигде даже warning не показал.
Затем отработала генерация схемы данных — в СУБД Postgres успешно создалась таблица с кириллическим «c» в имени, вместе со всеми foreign key и sequence.
Затем началась эксплуатация и все очень даже неплохо работало.
Так вот обнаружилось это только когда схему данных базы попытались развернуть на новом сервере, где не был юникод по-умолчанию. Через пять лет.
Это обратная сторона знаменитого «Unicode everywhere» — да, с технической точки зрения кириллические символы что в именах классов что в именах таблиц в базе теперь полностью легальны и поддерживаются.
Но только о похожести кириллических и латинских букв вам не скажет ни Java ни Hibernate ни база данных.
Значит своей реализации у вас нет, но мою покритиковать вы не постеснялись, я правильно понял?
Ну попробуйте как-нибудь задать такой вопрос, расскажете потом о результатах.
Есть еще одна особенность европейских языков: из-за того что носителей каждого конкретного языка мало а самих языков много, у них регулярно бывает что народ таскает тексты через Ctrl-C Ctrl-V, видит общие латинские буквы и думает что скопировалось и вставилось правильно.
Визуально отличить какой‑нибудь шведский от датского не так просто, а большая часть букв у обоих — из латыни.
Видел такое регулярно, особенно если вводом занимался какой-нибудь местный индус, которых там очень много.
С польским полагаю все тоже самое.
Представляете теперь каково Яндексу c его поисковиком? )
А ведь есть еще сленг и просто опечатки — та же история с «c» это чаще всего просто опечатка когда забыли раскладку переключить.
Выше по переписке я уже отмечал что надо делать в случае контекста и смешивания языков в одном предложении. Код все же дан в качестве примера а не руководства к действию.
Покажите свою?
Если ваша компания называется Google - возможно, если нет то такой задачей вы скорее отпугнете.
Да да, как раз характерный пример )
Теперь спросите коллег как они это пишут и почему — в 99% случаях будет «как встроенная в браузер проверка орфорграфии скажет».
На самом деле это куда более редкая проблема, поскольку такие символы обычному пользователю ввести с клавиатуры сложно.
Ну и ключевая-то проблема в похожих символах это требование контекста:
В такой фразе уже нельзя «в лоб» заменить все латинские С на кириллические — затрется латиница в словах Mercedes и CLK и (например) сломается полнотекстовый поиск.
Тут нужна сложная логика определения принадлежности соседних букв — если рядом стоящие символы — из кириллицы, тогда заменяем.
Разумеется я читал Джоэла и даже когда-то настраивал KOI8-R в юниксах )
Есть один важный момент, о котором рожденный в США Джоэл не говорит, просто потому что это не может придти ему в голову:
Если вы купите клавиатуру в самом США, на ней будут буквы только английского алфавита, как и 30 лет назад.
Так что у самого Джоэла никогда не было всех этих заморочек с кодировками, не было и не могло быть проблем с вводом адресов, чтением смс и так далее по списку.
Поэтому несмотря на все его знания о юникоде, изложенные в статье, типичный пользователь из США не испытывал, не испытывает и не будет испытывать всего спектра проблем с мультиязычным вводом.
У большинства высокообразованных людей (из тех с кем я лично был знаком) есть одна неприятная особенность: они думают, что все остальные люди образованы не меньше них.
Выйти за рамки такого мышления и попытаться взглянуть на мир глазами
идиотанеобразованного человека — дорогого стоит.То что вы пишете, подразумевает наличие у вас как профильного образования так и определенного опыта, иначе понимание факта что «бывают разные буквы, которые выглядят одинаково» возникнуть не могло.
У условной девочки‑студентки, которая вбивает записи в базу на пол‑ставки, (внезапно) нет вашего опыта, зато есть клавиша «C» на клавиатуре и переключатель раскладки, про который она временами забывает.
Такие девочки и мальчики не закончатся вообще никогда, поэтому в данных вводимых пользователем всегда будут подобные ошибки.
Вот чтобы исправление подобных ошибок не приводило к нервным срывам и разбитым предметам мебели — как раз и была написала эта статья. Написана специально максимально доступным языком, чтобы поняли даже самые современные разработчики. Даже на Node.js.
Ре‑использование латинских букв в европейских языках дает еще один интересный эффект для их конечных пользователей: у них не бывает полностью нечитаемого текста — той самой «абракадабры» или символов «???» так знакомой отечественным пользователям.
Что я и хотел показать в статье.
Этот список надо отправлять каждому, кто считает что «нейросеть скоро заменит программистов», для осознания реальности.