|
|
3.9, paulus (ok), 11:36, 30/12/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Популярность старых версий и несовместимость API
спасибо за ликбез.
| |
|
2.51, Аноним (-), 22:45, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Мне кажется что поддерживают две, а для остальных выпустили обновление по особому случаю.
| |
2.77, pavlinux (ok), 20:51, 04/01/2017 [^] [^^] [^^^] [ответить]
| +/– |
Купил iPhone 6, вышел iPhone 7, всех младше надо банить, нефиг на старье работать.
| |
|
3.78, Аноним (-), 03:28, 06/01/2017 [^] [^^] [^^^] [ответить]
| +/– |
Погодите пару лет и посмотрите как у Вас сначала аккуртненько не шлют обновления, а потом половина приложений не работает, а потом и во все откажет флеш память.
| |
|
|
|
2.5, Michael Shigorin (ok), 11:16, 30/12/2016 [^] [^^] [^^^] [ответить]
| +16 +/– |
> Вот тебе и безопасный си...
Опасная бритва -- это опасная бритва, если Вам её кто-то впаривал как безопасную -- с ним и разбирайтесь.
| |
|
3.7, Аноним (-), 11:18, 30/12/2016 [^] [^^] [^^^] [ответить]
| –9 +/– |
Нужно просто, чтобы был человек, который идеально обращается с опасной бритвой. И чтобы с бритвой работали только через него. Примерно как JVM безопасно работает с памятью, а все остальные только через него.
| |
|
4.10, Michael Shigorin (ok), 11:39, 30/12/2016 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Нужно просто, чтобы был человек, который идеально обращается с опасной бритвой.
Это путь сперва специализации, а затем деградации -- ну, когда надо писать в руководствах к стиралкам, что кошек в них стирать низзя, чтоб деграданты не засудили.
| |
|
5.14, Аноним (-), 12:07, 30/12/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Специализация - это цивилизация. Отсутствие специализации было во времена жизни в пещерах.
| |
|
6.16, Куяврег (?), 12:57, 30/12/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
нужно заметить что специализация и универсализация одновременно существуют. ну как анализ и синтез. и утверждать, что развитие зависит только от специализации, подобно как развитие зависит только от анализа - неверно
| |
|
7.19, Аноним (-), 13:10, 30/12/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
Шигорин чутка позабыл о том, что весь UNIX построен на принципе специализации: пусть каждая программа делает только одну вещь, но делает это хорошо. То же самое можно сказать и о работе с памятью. Надежнее доверить это дело JVM.
| |
7.48, Аноним (-), 22:08, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Да-да… ты это современным работодателям на территории exUSSR расскажи… а то ж они не знают, желая всё как один себе универсальных солдат за мизер денег.
| |
|
|
|
10.69, Аноним (-), 01:26, 01/01/2017 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, конечно, намного правильнее когда некоторые очень нужные и полезные люди фо... большой текст свёрнут, показать | |
|
|
|
|
6.67, Аноним (-), 23:40, 31/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Специализация - это цивилизация. Отсутствие специализации было во времена жизни в пещерах.
А Valve почему-то нрвятся T-shaped people. Наверное специализация должна быть как-то так. А то не круто когда человек вроде бы хороший програмер но понятия не имеет как настроить почтарь. Да, видал такого - этот чудак цитировать нормально не мог и переписка с ним сильно клинила рабочие процессы остальным.
| |
6.68, iZEN (ok), 00:39, 01/01/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Специализация - это цивилизация. Отсутствие специализации было во времена жизни в пещерах.
Любой человек должен уметь менять пелёнки, планировать вторжения, резать свиней, конструировать здания, управлять кораблём, писать сонеты, вести бухгалтерию, возводить стены, вправлять кости, облегчать смерть, исполнять приказы, отдавать приказы, сотрудничать, действовать самостоятельно, решать уравнения, анализировать новые проблемы, вносить удобрения, программировать, вкусно готовить, хорошо сражаться, умирать с достоинством. Специализация — удел насекомых.
Роберт Хайнлайн, «Достаточно времени для любви, или Жизни Лазаруса Лонга»
| |
|
5.26, Илья (??), 14:18, 30/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Это путь сперва специализации, а затем деградации
Ну не скажи. Бизнес-логику очень сложно мешать с низкоуровневыми вызовами. Да и не нужно.
| |
|
6.33, Michael Shigorin (ok), 15:28, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> Это путь сперва специализации, а затем деградации
> Ну не скажи. Бизнес-логику очень сложно мешать с низкоуровневыми вызовами.
Сперва да, а затем "у нас БУЗИНЕС, шо вы со своей безопасностью впёрлись!" (до поры).
| |
|
7.70, Аноним (-), 01:39, 01/01/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Сперва да, а затем "у нас БУЗИНЕС, шо вы со своей безопасностью
> впёрлись!" (до поры).
Бывает и другой полюс, как в том рассказе про хакера и столовую. Когда все ресурсы брошены на заякоривание солонок на супернадежные цепи. На остальное ресурсов не остается или остается мало. С понятным результатом. Безопасность - хорошо. Но если перебдеть то переклин на безопасности может застопорить вообще все работы. Потому что жить вредно и опасно. От этого умирают, гарантия 100%.
| |
|
|
5.29, Comdiv (ok), 14:58, 30/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> чтоб деграданты не засудили.
Засуживают как раз не деграданты, а злоумышленники, находящие уязвимости в юридической защите компании-производителя. Ну а к сути специализации этот пример вообще не имеет отношения.
| |
|
4.52, ы (?), 23:48, 30/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ознакомься с основами явы, потом уже рот раскрывай.
| |
|
|
2.12, Аноним (-), 11:51, 30/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот тебе и безопасная Java...
Вот тебе и безопасный C#...
Вот тебе и безопасный Python...
Бот, уйди.
| |
|
3.13, Michael Shigorin (ok), 12:00, 30/12/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Бот, уйди.
Это вряд ли бот -- скорее человек, который купился на тыканье в проблемы (вполне реальные) языков с ручным управлением памятью и рекламу (обычно лукавую) языков с автоматическим управлением памятью.
А ведь это несколько классов проблем, которые размениваются на другие классы проблем -- и не отменяют третьих, что порой и подводит уверовавших в "это же безопасный язык"...
| |
|
4.32, Comdiv (ok), 15:02, 30/12/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> рекламу (обычно лукавую) языков с автоматическим управлением памятью.
Можете чуть конкретней рассказать про лукавую рекламу? Где её видели, когда и как оценивали объём отностительно нелукавой рекламы?
| |
|
5.34, Michael Shigorin (ok), 15:29, 30/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> рекламу (обычно лукавую) языков с автоматическим управлением памятью.
> Можете чуть конкретней рассказать про лукавую рекламу?
Например, когда играют на предположениях и "логичных" выводах; когда рассказывают о решаемых проблемах, но умалчивают о создаваемых взамен.
> Где её видели, когда и как оценивали объём отностительно нелукавой рекламы?
Много где, и здесь нередко; на глазок, благо пристрелямши.
| |
|
|
|
2.27, Аноним (-), 14:22, 30/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Пример небольшого ошибочного кода:
int x;
printf("Введите первое число: ");
scanf("%d", &x);
int y;
printf("Введите второе число: ");
scanf("%d", &y);
printf("Сумма двух чисел: %d\n", x + y);
Здесь 3 серьёзные ошибки. Кто-нибудь сможет найти все 3? Две, думаю, найдёт большинство знающих Си.
| |
|
3.28, Crazy Alex (ok), 14:52, 30/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Отсутствие обработки ошибок scanf (в частности, кривого ввода), интовое переполнение при сложении и UB при слишком большом введенном числе. Причём последнее не лечится.
| |
|
|
|
6.46, Crazy Alex (ok), 20:11, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Да. Что это я, в самом деле. Но тогда не представляю, какая
> там третья ошибка.
Решил таки проверить - а вот таки есть подвох, не зря мне мерещилось.
Вот это:
r = scanf("%d", &x);
printf("r=%d\n", r);
радостно печатает единичку при вводе чего-то аски длинного вроде 11111111111111111111111111 (что означает, что один элемент был успешно распарсен), при этом в x попадает -1.
Если делать как положено:
errno = 0;
r = scanf("%d", &x);
err = errno;
printf("r=%d, errno=%d\n", r, err);
то ERANGE ловится отлично.
| |
|
7.58, Аноним (-), 09:34, 31/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Насчёт трёх ошибок Вы правильно определили. Да, их всего там было 3. Пропущено две обработки ошибок и нет проверки на переполнение. Подразумевалось, что ввод слишком большого числа - это частный случай обработки ошибок, поэтому отдельной ошибкой его считать бессмысленно.
| |
7.60, Аноним (-), 09:44, 31/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
> errno = 0;
> r = scanf("%d", &x);
Кстати, устанавливать errno в данном случае в 0 было абсолютно бессмысленно, т.к. он выставляется только при возвращении функцией значения -1. Достаточно проверять возвращаемое значение.
| |
|
|
9.66, Аноним (-), 19:08, 31/12/2016 [^] [^^] [^^^] [ответить] | +/– | Да, действительно, прошу прощения, не прочёл документацию до конца, этой функцие... текст свёрнут, показать | |
|
|
|
|
|
|
3.31, Crazy Alex (ok), 14:59, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Но вообще все давно в курсе, что scanf - не идеал ни разу, и обычно лучше применять отдельное строки и strtoX()
| |
|
4.40, Аноним (-), 17:29, 30/12/2016 [^] [^^] [^^^] [ответить] | +/– | Не идеал, если требуется распарсить строку согласно форматированию, либо если вв... большой текст свёрнут, показать | |
|
5.45, Crazy Alex (ok), 20:01, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Разумеется - читаем в буфер, токенизируем (а то и полноценный разбор), потому преобразования. Ситуации, когда это не нужно - экзотика, в общем-то.
Насчёт errno - вообще чушь, простите. Устанавливайте его в 0 непосредственно до вызова функции, проверйте сразу после - и всё отловите.
| |
|
6.59, Аноним (-), 09:41, 31/12/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Насчёт errno - вообще чушь, простите. Устанавливайте его в 0 непосредственно до
> вызова функции, проверйте сразу после - и всё отловите.
Вот в этом то и вся суть. Об этой особенности мало кто знает. Подобные ситуации и ведут за собой код с ошибками. Поэтому считаю, что необходимо популяризовать подобные примеры ошибочного кода с объяснениями. Т.к. новость про уязвимость в библиотеке на языке Си, с большой вероятностью сюда могут заходить люди знающие язык Си на достаточно хорошем уровне. Возможно, кто-то узнает для себя что-либо полезное.
| |
|
|
8.62, Аноним (-), 15:34, 31/12/2016 [^] [^^] [^^^] [ответить] | +/– | Я лишь подаю идеи, моего энтузиазма и свободного времени хватает пока только на ... текст свёрнут, показать | |
8.63, Аноним (-), 17:41, 31/12/2016 [^] [^^] [^^^] [ответить] | +/– | Интересные советы там даются по написанию кода под Эльбрус Из них можно сделать... текст свёрнут, показать | |
|
|
|
|
|
|
2.43, Аноним (-), 19:13, 30/12/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Вот тебе и безопасный си...
Ну, понимаешь, "либы" на бидоне спросом не пользуются. Хотя-бы потому что кроме как из бидона ниоткуда и не вызываются.
А так вон в вебне ломают и без всяких сей. WormPress даже обозвали характерно. За это самое.
| |
|
3.47, Аноним (-), 21:05, 30/12/2016 [^] [^^] [^^^] [ответить] | +4 +/– | Казалось бы, причем тут бидоны, но кто о чем, а подгорающий о своем, о неоси... большой текст свёрнут, показать | |
|
4.71, Аноним (-), 01:43, 01/01/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Казалось бы, причем тут бидоны, но ... кто о чем, а подгорающий
> о своем, о неосиленном^W наболевшем.
Судя по вашему коменту - вам виднее.
> И откуда вы такие, ыкспертные знатоки всего и вся, беретесь только?
> [CODE]#include <Python.h>
И все бы это замечательно, но это - не сишная либа. А если уж HTTP сервер из сей хочется - так есть lwan, без горбатой питонятины с ее версиепроблемами и прочими радостями. И быстрый как понос к тому же.
| |
|
5.73, Аноним (-), 04:47, 01/01/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
>>> "либы" на бидоне спросом не пользуются. Хотя-бы потому что кроме как из бидона ниоткуда и не вызываются.
> И все бы это замечательно, но это - не сишная либа.
То либа на бидоне кроме как из бидона ниоткуда не вызывается, то это вдруг уже не сишная либа.
> А если уж HTTP сервер из сей хочется - так есть lwan,
В общем, зачетный юлеж.
| |
|
6.74, Аноним (-), 14:38, 01/01/2017 [^] [^^] [^^^] [ответить] | –1 +/– | Я не знаю как еще понятнее тебе объяснить что сишники такой либой пользоваться... большой текст свёрнут, показать | |
|
7.75, Аноним (-), 16:25, 01/01/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> То либа на бидоне кроме как из бидона ниоткуда не вызывается, то
>> это вдруг уже не сишная либа.
> Я не знаю как еще понятнее тебе объяснить что сишники такой "либой"
> пользоваться не будут.
Видишь ли, о великий знаток всего и вся, "не будут" и "не смогут" - две большие разницы.
https://docs.python.org/3/extending/embedding.html
>> В общем, зачетный юлеж.
> Так не юли. Твои кривые эрзацы типа-либ мало кому нужны.
Классно ты срулил с темы. Хотя тебя за язык вроде никто не тянул. Не нес бы, как обычно, с умным видом очередной бред и глядишь, не пришлось бы в очередной раз изворачиваться и переводить стрелки.
| |
|
|
|
|
|
|
|
2.17, Куяврег (?), 12:59, 30/12/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Миллионы пар попенсорц-глаз 20 лет искали уязвимость.
нужно было прятать код - это точно решает все проблемы
| |
2.20, Аноним (-), 13:11, 30/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
21
> The current public release, libpng 1.6.27, fixes a 21-year-old null- pointer dereference (see warning below) and includes some minor build tweaks. | |
2.21, anonimous (?), 13:14, 30/12/2016 [^] [^^] [^^^] [ответить]
| +7 +/– |
А libpng, кстати, и этой вашей проприетарной pvs-studio проверяли, и как-то упустили сию уязвимость.
| |
|
|
|
3.50, iZEN (ok), 22:45, 30/12/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> И че? В генту тоже вчера.
А где посмотреть список последних обновлений?
| |
|
|
|