- 1
- 2
- 3
- 4
- 5
- 6
<script>
var x = [];
var y = [];
x = [<?php foreach ($chart as $word => $f) echo "'$word', " ?>];
y = [<?php foreach ($chart as $f) echo "$f, " ?>];
</script>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
<script>
var x = [];
var y = [];
x = [<?php foreach ($chart as $word => $f) echo "'$word', " ?>];
y = [<?php foreach ($chart as $f) echo "$f, " ?>];
</script>
JS
inkanus-gray 26.05.2016 00:11 # 0
Хотя этот вариант тоже с душком.
И да, я надеюсь, что данные отфильтрованы и не содержат кавычек, запятых и прочих разделителей.
guesto 26.05.2016 01:54 # +2
inkanus-gray 26.05.2016 12:10 # +5
bormand 26.05.2016 18:37 # +6
gost 26.05.2016 20:24 # +8
guesto 26.05.2016 21:09 # +1
1024-- 26.05.2016 21:22 # +4
guesto 26.05.2016 21:23 # +3
у себя помещал!
inkanus-gray 26.05.2016 21:25 # +9
guesto 26.05.2016 21:26 # +1
1024-- 26.05.2016 21:31 # +2
guesto 26.05.2016 21:32 # +4
roman-kashitsyn 26.05.2016 22:52 # +1
Что такое "компилируемый" язык? Что мешает иметь интерпретатор языка, у которого уже есть компилятор? Вы таки не видели интерпретатор сишечки? Как жить без ghci?
bot 27.05.2016 02:09 # +2
guesto 27.05.2016 03:01 # 0
chtulhu 27.05.2016 08:03 # +1
gost 26.05.2016 21:36 # +2
guesto 26.05.2016 21:37 # +3
3_14dar 27.05.2016 02:12 # −2
3_14dar 26.05.2016 21:38 # +1
3_14dar 26.05.2016 21:38 # +1
guesto 26.05.2016 21:41 # +5
3_14dar 26.05.2016 23:11 # +1
2. Много ты питонов уже написал?
3_14dar 27.05.2016 00:38 # 0
bormand 26.05.2016 21:42 # +1
guesto 26.05.2016 21:42 # +6
всё что нужно программисту в новом, 1975м году
bormand 26.05.2016 21:45 # 0
guesto 26.05.2016 21:46 # 0
bormand 26.05.2016 21:54 # +3
Вот это как раз терпимо.
> консистентная
Ага... strncpy и strncat ахуенно согласованы - одна добавляет нолик, вторая - нет. С этими ноликами и n-функциями там вообще шалаш из костылей и изоленты... Ну и всякие strcat'ы возвращают бесполезный указатель на начало вместо няшного указателя на конец. Таймштамп можно сконвертить в локал и утц структуру, а обратно - только из локала...
3_14dar 26.05.2016 21:56 # +1
bormand 26.05.2016 21:59 # +2
guesto 26.05.2016 22:07 # +4
--а они сами пидарасы что нарушили стандарт
--да? ты это скажешь юзерам, у которых софт упадет?
bormand 26.05.2016 22:08 # 0
inkanus-gray 26.05.2016 22:21 # 0
http://avva.livejournal.com/2323823.html
В роли пидарасов компания Adobe, у которой очередная версия Flash-плеера рухнула.
3_14dar 26.05.2016 22:34 # 0
memmove - копирует память, проверяет пересечение
Только сишкомудак мог такое придумать.
guesto 26.05.2016 22:36 # 0
Ты угадай например чем StringBuilder от StringBuffer отличается (это джава)
3_14dar 26.05.2016 22:39 # 0
3_14dar 26.05.2016 22:53 # 0
inkanus-gray 26.05.2016 23:27 # 0
Что?
https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
Flash Player Download Center • Mac OS X 10.6+ (Intel processor)
• Windows XP, Windows Vista, Windows 7, Windows 8.1, Windows 10
• Windows Server 2008
• Red Hat 5.6+
• Open SUSE 11.3+
• Ubuntu 10.04+
Flash Player 11.2.202.223 ̃• Solaris x86 and Sparc
Flash Player 10.1.102.64 • Mac OS X 10.4+ (Power PC processor)
Flash Player 11.1.102.55 • Windows 2000
Flash Player 10.3.183.90 • Mac OS X 10.5
Flash Player 9 • Mac OS X 10.1-10.3
• Windows 98, Windows ME
• Red Hat 3&4
• Novell SUSE 9.x or 10.1
Flash Player 7 • Mac Classic (9 and earlier)
• Windows 95, Windows NT
• Red Hat Enterprise Linux WS v.3 & Red Hat Linux 9
• Sun Java Desktop System 1.0
Даже для помойного ведра (< 4.4) есть официальный.
3_14dar 26.05.2016 23:49 # 0
>помойного ведра (< 4.4)
Ыыыыы :) Запомню.
Ты тут http://govnokod.ru/20055#comment329122 совсем слился?
inkanus-gray 27.05.2016 00:38 # 0
Разработчики из Adobe решили, что недокументированное поведение memcpy будет сохраняться во всех версиях glibc, поэтому использовали memcpy вместо memmove. Т. е. использовали UB на всю катушку.
3_14dar 27.05.2016 01:12 # +1
>29 сентября 2010 года. Пользователь "JCHuynh" открывает новый баг на сайте Федоры о том, что 64-битный флэш-плагин от Adobe перестал нормально проигрывать mp3-файлы, выдает все время какой-то треск вместо правильного звука. Adobe предоставляет два плагина для Линукса, но "официальный" 32-битный морально устарел и работает на 64-битных системах куда хуже "неофициального" 64-битного - этот последний как раз и начал барахлить.
Вообще действительно, нахуй менять поведение чтобы получить уникальное в зависимости от платформы/положения звезд? Это же раздолье для УБ.
inkanus-gray 27.05.2016 16:39 # 0
wvxvw 29.05.2016 08:08 # 0
Разница между официальными версиями и Square в том, что для официальных версий существует поддержка и пока официально не заявлено, что версия больше не поддерживается, для нее будут бекпортить критические патчи. (Поддержка заключается в том, что баги исправляют). Ну и любую поддерживаемую версию можно скачать (т.е. Адоб будет хостить ее по специальному адрессу). Square версий больше нигде не осталось на сколько я могу судить, проект продержался около полугода, после чего его закрыли.
3_14dar 26.05.2016 23:12 # +1
3_14dar 26.05.2016 22:12 # 0
bormand 26.05.2016 22:13 # 0
bormand 26.05.2016 22:01 # 0
guesto 26.05.2016 22:07 # 0
тот же питон
3_14dar 26.05.2016 22:13 # 0
guesto 26.05.2016 22:16 # 0
3_14dar 26.05.2016 22:26 # −1
guesto 26.05.2016 22:28 # 0
Позволь мне процытироваць:
Combining Python 3 str/bytes with Python 2 unicode/str
So what happens when we somehow combine a Python 3 str/bytes with a Python 2 str/bytes/unicode? Let's think about it.
The future module by Ed Schofield forbids py3bytes + py2unicode, but supports other combinations and upcasts them to their Python 3 version. So, for instance, py3str + py2unicode -> py3str. This is a consequence of the way it tries to make Python 2 string literals work a bit like they're Python 3 unicode literals. There is a big drawback to this approach; a Python 3 bytes is not fully compatible with APIs that expect a Python 2 str, and a library that tried to use this approach would suffer API breakage. See this issue for more information on that.
I think since we have the magical power to change the interpreter, we can do better. We can make real Python 3 string literals exist in Python 2 using __future3__.
I think we need these rules:
py3str + py2unicode -> py3str
py3str + py2str: UnicodeError
py3bytes + py2unicode: TypeError
py3bytes + py2str: TypeError
http://blog.startifact.com/posts/the-call-of-python-28.html
3_14dar 26.05.2016 22:30 # 0
guesto 26.05.2016 22:37 # 0
у тебя существует несколько видов строк и совершенно нет никакого знания о том, какой тип строки ожидает функция
3_14dar 26.05.2016 22:39 # 0
guesto 26.05.2016 22:42 # +1
развели зоопаркбля
хорошо сделано в жабе и c# где все строки изначально были юникодные
3_14dar 26.05.2016 22:46 # 0
>в апидоке у тебя не будет написано ожидает функция bytes или str (для второго пайтона)
Если это реально имеет значение то будет. Скорее всего. Лично помню баг где было не указано.
>хорошо сделано в жабе и c# где все строки изначально были юникодные
Хорошо, никто не спорит. В питоне байтовые литералы еще хранятся в кодировке файла .py. Поменял кодировку - программа сломалась.
defecate-plusplus 27.05.2016 01:10 # +1
бггг скажи это жабьим проперти файлам
3_14dar 27.05.2016 01:13 # 0
inkanus-gray 26.05.2016 22:25 # 0
3_14dar 26.05.2016 22:31 # +2
inkanus-gray 26.05.2016 23:22 # 0
В PHP6 собирались разработать «широкие» строки, символ которых мог без труда вместить больше восьми битов (кажется, хотели перейти на UTF-16, как в Винде, у которой эмодзи и иероглифы занимают по два места), но PHP 6 так и не вышел. А вышедший PHP 7 — это на самом деле PHP 5.7.
3_14dar 26.05.2016 23:50 # 0
inkanus-gray 27.05.2016 00:32 # 0
substr($stroka, 5, 1) — то же самое (можно вырезать даже несколько символов сразу).
mb_substr($stroka, 5, 1, 'UTF-8') — то же самое, но для многобайтовых кодировок. Причём поддерживается не только UTF-8, но и куча других: UTF-16 и UTF-32 (и с большим индейцем, и с маленьким), японские и китайские аналоги Юникода и прочие извращения:
http://php.net/manual/ru/mbstring.encodings.php
Возможно, некоторые функции PHP, выполняющие системные вызовы (типа файловых функций) пропустят не любую кодировку.
3_14dar 27.05.2016 00:36 # 0
>Возможно, некоторые функции PHP, выполняющие системные вызовы (типа файловых функций) пропустят не любую кодировку.
Но они юникод хоть поддерживают?
inkanus-gray 27.05.2016 01:10 # 0
Можно указать кодировку по умолчанию в ini-файле или вызовом специальной функции один раз.
> Но они юникод хоть поддерживают?
fopen создаёт файл с именем в локальной кодировке. Создать файл с юникодным именем мне не удалось. Ситуация примерно, как с zip-архивами.
Спасает только то, что в типичном приложении на PHP такая возможность обычно не требуется, если только ты на PHP не пишешь панель управления сервером.
3_14dar 27.05.2016 01:13 # +3
Ааааааааааа :))))))))))))))))))))))))))))) 2016 год )))))))))))
А как же nagios?
inkanus-gray 27.05.2016 01:42 # 0
PHP под Виндой обламывается. Но есть два костыля:
1. Расширение com_dotnet, через которое можно достучаться до объекта файловой системы.
2. Самопальное расширение, выполняющее эту задачу (последняя ссылка).
В Линуксе же можно надеяться, что строка в UTF-8 проканает.
3_14dar 27.05.2016 02:06 # +2
>Платформозависимые КОСТЫЛИ
Ясно.
3_14dar 27.05.2016 06:01 # +2
Пиздец. Впрочем, язык был узко заточен под веб.
inkanus-gray 27.05.2016 16:38 # 0
Проблема возникает, если одну директорию сервера используют сразу несколько программ, и они хотят видеть уникодовские имена файлов.
3_14dar 27.05.2016 19:47 # +3
inkanus-gray 27.05.2016 19:49 # +1
3_14dar 28.05.2016 00:22 # +3
inkanus-gray 28.05.2016 02:27 # +1
3_14dar 28.05.2016 03:44 # +1
TEH3OPHblu_nemyx 06.07.2019 07:31 # 0
3_14dar 26.05.2016 22:12 # 0
guesto 26.05.2016 22:13 # +1
http://pubs.opengroup.org/onlinepubs/007908775/xsh/wchar.h.html
3_14dar 26.05.2016 22:27 # 0
guesto 26.05.2016 22:33 # +1
3_14dar 26.05.2016 22:40 # 0
guesto 26.05.2016 22:40 # 0
ГПТ же
bormand 26.05.2016 22:14 # 0
3_14dar 26.05.2016 22:26 # 0
guesto 26.05.2016 22:32 # 0
http://pubs.opengroup.org/onlinepubs/007908775/xsh/wchar.h.html
3_14dar 26.05.2016 22:40 # 0
guesto 26.05.2016 22:02 # +2
Вы не встретите в стандартной библиотеке функции htmlentities, правда?
На сях хуево и больно писать сложную логику, а после ЯПов со всякими лямбдами и мапами так и вовсе руки опускаются
3_14dar 26.05.2016 22:14 # 0
guesto 26.05.2016 22:17 # −1
слава богу уже ОЧЕНЬ ДАВНО си для этого не используется
а на пхп хуево писать вообще любое приложение
но он, к сожалению, используется
3_14dar 26.05.2016 22:24 # 0
Применение "слябать на коленке сайт-визитку или запилить бложек на готовом движке и все это за 3 копейки или вообще самому можно сделать" никто не отменял.
guesto 26.05.2016 22:34 # 0
bormand 26.05.2016 22:16 # 0
Поэтому почти в каждой уважающей себя проге или либе есть своя замена кучи штатных функций, свой тип для кодов ошибок, своё логирование и вообще своя атмосфера и свои правила...
З.Ы. Ну зато у нас на сишке не так уныло и однообразно, как у жабистов ;)
guesto 26.05.2016 22:22 # 0
им тоже не скучно
3_14dar 26.05.2016 22:25 # 0
На рнр и жс тоже все не так уныло и однообразно. Сделать цикл с паузами - уже развлечение для ума.
inkanus-gray 26.05.2016 22:18 # 0
Но то, что не связано со строками, вроде бы сделано хорошо.
guesto 26.05.2016 22:22 # 0
строковый литерал есть, копировать строку можно, форматировать вообще классно (ну правда, printf же всякие хорошие), что не так?
bormand 26.05.2016 22:27 # +1
> копировать строку
Не забыв выделить под неё буфер. Strdup - не стандарт. И не дай бог тебе надо упихать в буфер фиксированной длины без переполнений....
3_14dar 26.05.2016 22:28 # 0
Ну так это в си везде так.
guesto 26.05.2016 22:31 # 0
так что не так-то?
>>Не забыв выделить под неё буфер.
ну да, и что? Обычно ты знаешь размер источника, не так-ли?
roman-kashitsyn 26.05.2016 23:15 # 0
fgets(), внезапно, принимает.
Половина функций не реентерабельна.
Хотите получить содержимое каталога? В библиотеке C это невозможно, нужны платформо-зависимые функции.
Кстати, поскольку Lua написана на портируемом стандартном C, в стандартной библиотеке Lua тоже нельзя получить содержимое каталога (без вызова сторонних платформо-зависимых программ).
dxd 26.05.2016 23:06 # +2
gost 26.05.2016 21:58 # +6
Вы берёте отвёртку и не видите у неё крестовины. Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
Вы опускаете руку в коробку ещё раз - и не находите там больше ничего.
Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома из деревьев, срубленных отвёрткой без крестовины. Вы стучитесь в дверь, из неё появляется пистолет и стреляет вам в ногу, и они орут на вас за то, что вы сломали их дверь.
Вот что не так с C.
guesto 26.05.2016 21:59 # 0
Вы берёте отвёртку и не видите у неё крестовины. Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
Вы опускаете руку в коробку ещё раз - и не находите там больше ничего.
Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома из деревьев, срубленных отвёрткой без крестовины. Вы стучитесь в дверь, из неё появляется пистолет и стреляет вам в ногу, и они орут на вас за то, что вы сломали их дверь.
Вот что не так с gost.
3_14dar 26.05.2016 23:04 # 0
kipar 26.05.2016 23:26 # 0
3_14dar 26.05.2016 22:14 # +1
3_14dar 26.05.2016 18:43 # +3
guestinho 01.06.2016 23:38 # 0
3_14dar 01.06.2016 23:50 # 0
kegdan 02.06.2016 05:06 # +2
3_14dar 02.06.2016 13:24 # 0
покормил
M-A-X 01.06.2016 19:55 # 0