суббота, 1 апреля 2017 г.

Детальные обсуждения

По поводу тем, затронутых ранее в размещённых публикациях, многие задают и пишут вопросы, уточнения. Часть из них достаточно любопытны. И сами темы могли бы поиметь интересные и неожиданные продолжения... Но править по любому чиху большой текст - накладно ... да и неразумно, потому что назавтра, возможно, нужно будет править всё обратно. 😠

Поэтому, для любых интересных и полезных обсуждений приглашаю всех интересующихся на форум сайта, основанного Виктором Костроминым:




Сам по себе, это один из старейших и обстоятельнейших русскоязычных ресурсов по Linux - на нём регулярно, с частотой в 2-3-4 дня размещаются переводы актуальных статей по администрированию и программированию. Но для обсуждений имеется в виду форум этого сайта. Форум этот можно найти по по адресу. Присоединяйтесь к обсуждениям!



вторник, 31 января 2017 г.

Прочь, малолетние хакеры!



Тематика моих интересов сильно сместилась (временно или надолго) в сторону безопасности в цифровом информационном пространстве (так я обозначаю сетевые среды, но не только).

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

Предварительно состояние дел можно будет видеть здесь: Прочь,малолетние хакеры! Зачем я загодя показываю ссылку на совершенно сырой материал ... из которого может вообще ничего не получиться, который не завершится? Только потому, что тематика эта вызывает многочисленные отклики, а ещё больше - вопросы. И эти вопросы, точнее ответы на них, могут быть включены в структуру текста.



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




Как всегда (в моих заметках), всё рассмотрение и обсуждение относится только к операционной системе Linux и, отчасти, к другим UNIX-подобным системам. К Windows это не относится, и на Windows могут быть перенесены только сами общие идеи, по аналогии.

Собственно, интерес и деятельность в этом направлении началась давно... Некоторые соображения, из сформулированных ранее, можете глянуть здесь: То,чего вам никто не говорил про хакеров... Начав систематизировать материалы по безопасности, убеждаюсь, что то, что житейски, в обиходе называют "безопасность" - отчётливо разделяется на 2 разных, и даже противоположных понятий: «безопасность от» и «безопасность для». Первое — это вопросы защиты от не предусмотренного стороннего вторжения в информационную систему … со стороны недоброжелателей: хакеров (доморощенных и неграмотных, чаще всего), обиженных и уволенных сотрудников алчущих мести, мошенников разного рода, спамеров, рекламных агентов и др. придурков. Второе — предусматривает охранение личного пространства, персональной информации от отдельных лиц (тех же спамеров с мошенниками), IT корпораций (Microsoft, Google, FaceBook, Amazon и т.д.), государственных органов и спецслужб (ФСБ, СБУ, АНБ, Госдепартамент … принадлежность их не имеет значения), общественных организаций и «доброжелателей» (разнообразные экологи с зелёными, голубые с розовыми, ювенальная юстиция и т.п.). Так что писать придётся, похоже, 2 описания. 

P.S. За время с создания этой заметки много материалов добавилось в тему...
- Написаны заметки ... с одноимённым названием: Прочь малолетние хакеры! (по ссылке свободное скачивание) - 20 страниц об обеспечении вашей безопасности;
- Создан целый подфорум Безопасность, где самые различные темы обсуждений: от антихакинга до говнодоменов (gTLD домены) откуда вас заваливают спамом;



среда, 21 сентября 2016 г.

Задачи по программированию на языке C++, часть 2 (обновление)

Значительное дополнение, обновление и исправление текста и примеров кода.

Скачать свободно последнюю актуальную редакцию текста и архива кодов можно здесь:
Googleтекст, архив кодов
Сейчас это редакция 40 от 21.09.2016, страниц 90.
Задач с примерами на сегодня представлено 57 (хотя посчитать это достаточно проблематично, поскольку ряд задач имеет по несколько представленных вариантов решений).

Исправления главным образом касались грамматики и опечаток. Но дополнения (относительно первоначальных редакций) весьма обстоятельные.


вторник, 13 сентября 2016 г.

Задачи по программированию на языке C, часть 1 (обновление)

Заметное обновление текста и примеров кода.

Скачать свободно последнюю актуальную редакцию текста и архива кодов можно здесь:
Yandexтекст, архив кодов
Googleтекст, архив кодов
Сейчас это редакция 39 от 14.11.2016, страниц 106.
Задач с примерами на сегодня представлено 102.

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

суббота, 10 сентября 2016 г.

Регулярные выражения C/C++

Это фактически продолжение предыдущего текста Языковая локализация. И планировалось оно как небольшая глава в тот общий текст. Но разбирательство потянуло за собой всё большее расширение объёма. Вопрос изначально стоял узко: как поведут себя инструменты обработки регулярных выражений с Unicode/UTF-8 строками? Тем более, когда мультибайтные Unicode символы символы станут появляться и в шаблонах регулярных выражений и в самих сопоставляемых строках. Ну, например, что и как происходит вот в таком простейшем случае:

$ echo "слово слава слива" | grep сл[о,а]
слово слава слива

Там всё не так однозначно просто ... и некоторые детали не ясны до конца. Связано это с тем, что все инструменты (библиотеки) сопоставления с регулярными выражениями в C и в C++ до стандарта 2011г. не могут работать со строками широких локализованных символов (wchar_t[], wstring). По крайней мере, я таких не знаю.

Что из этого получается, можете посмотреть в предварительной редакции текста (и архив программных кодов к нему, естественно). Предварительная редакция потому, что материал в работе, по нему могут быть существенные дополнения (а могут и не быть ... если надоест).

Сам текст : на Yandex и на на Google
Редакция 05, от 10.09.2016, стр. 13.

Архив примеров кода на Yandex и на на Google

Все не ясные моменты (а они там есть), замечания и предложения по тексту - обсуждаем здесь: регулярные выражения в C/C++... и это может заметно улучшить освещение вопроса. Там же, по ссылке, найдёте книги (переводы), из числа наилучших, по регулярным выражениям, и ссылки для их свободного скачивания.


  

четверг, 1 сентября 2016 г.

Языковая локализация C/C++

Локализация программного кода под язык (например, русский) очень слабо описана. На то есть несколько причин:
  • Современное представление текстов в Unicode появилось достаточно поздно (1991г.), а представление Unicode в UTF-8 кодировке ещё позже (1992г., Кен Томпсон и Роб Пайк);
  • Ранние описания, например знаменитая книга по C K&R, естественно, не могут даже упоминать о проблеме языковой локализации...
  • А более поздние зарубежные (и переводные) издания обходят эти вопросы стороной - им оно не актуально ... и "до лампочки"...
  • отечественные же учебники только пересказывают то, что они прочитали в переводных изданиях.
А вопросы по этому поводу многократно задают. И в обсуждениях рассказываются совершенно чудовищные картины локализации ... складывающиеся в больном воображении в отсутствии информации.
Поэтому пришлось собрать в одно место то, что я знаю по этому поводу, и описать единым текстом.
Как и раньше, особенно расписывать я здесь не стану, а для интересующихся, пожалуйста - скачивайте описательный текст + архив примеров кодов, которые можно компилировать, изучать и с которыми можно экспериментировать.

Сам текст : на Yandex и на на Google
Редакция 09, от 01.09.2016, стр. 22.

Архив примеров кода на Yandex и на на Google

Всё, что здесь описано, касается локализации в коде C и C++. Но вопросы локализации, вообще то говоря, определяются не столько языком программирования, сколько операционной системой и её настройками. Поэтому локализация на других языках, скажем Python, полностью наследуют описываемые здесь принципы, и только изображаются средствами API этого языка. В будущем, возможно, я расширю текст примерами ещё на нескольких языках программирования ... хотя это достаточно тривиально после C/C++.

Всё, что хотелось бы обсудить, уточнить, замечания и предожения по тексту - обсуждаем здесь: локализация строк в C-коде.

пятница, 26 августа 2016 г.

Начала STL и контейнеры C++

Теперь это то, что было показано раньше, но не серией разорванных статей, а единым связным текстом. Этот вариант выверен, слегка дополнен, и местами исправлен (но главным образом в грамматических описках).
Как мне кажется, в таком виде текст гораздо лучше читается, и уж, по крайней мере, наверняка лучше в качестве справочника - я сам дёргаю отдельные программные фрагменты из примеров кода, чтобы не держать всё это в памяти.

Кому интересно - берите и пользуйтесь...

Сам текст : на Yandex и на на Google
Редакция 12, от 24.08.2016, стр. 59.

Архив примеров кода на Yandex и на на Google

Всё, что хотелось бы обсудить, уточнить, замечания и предожения по тексту, какие бы ещё примеры и задачи включить в рассмотрение - обсуждаем здесь: Начала STL и контейнеры C++.

пятница, 27 мая 2016 г.

Задачи по программированию на языке C, обновление

Предыдущее сообщение Задачи по программированию на языке C, часть 1 содержало ссылки на документ, который обновлялся, расширялся много раз. Последняя редакция предлагаемого текста была 23 от 12.01.2016, объёмом 82 страниц. После этого текст достаточно стабилизировался, и оставался неизменным почти пол-года.

Сейчас назрел новый цикл обновлений. Главный его резон: рассмотреть расширения стандарта ISO/IEC 9899:2011 языка C (но накопились и другие нюансы). Поэтому новый цикл обновлений вынесен отдельно сюда.

Скачать свободно последнюю актуальную редакцию текста и архива кодов можно здесь:
Googleтекст, архив кодов
Сейчас это редакция 30 от 27.05.2016, страниц 89.

P.S. А по поводу самого стандарта C11, который не очень известен и доступен - черновик стандарта N1570, датированный 12.04.2011, можете скачать здесь.

суббота, 26 марта 2016 г.

четверг, 17 марта 2016 г.

Начала STL и контейнеры C++ (обновление)

Большое обновление серии заметок "Начала STL и контейнеры C++".
Только ссылки...

Архив примеров кода на на Google

И сами тексты:

Массивы со статической и динамической размерностью. Часть 1
Редакция 06, от 25.02.2016, на на Google

Контейнеры STL. Часть 2
Редакция 06, от 25.02.2016, на Google

Контейнеры STL. vector. Часть 3
Редакция 07, от 02.03.2016, на Google

Контейнеры STL. list. Часть 4
Редакция 08, от 16.03.2016, на Google

Классы string и wstring. Часть 5
Редакция 06, от 19.02.2016, на Google

Ассоциативные контейнеры STL. Часть 6
Редакция 06, от 07.03.2016, на Google

Контейнеры STL: map. Часть 7
Редакция 03, от 19.02.2016, на Google

Контейнеры STL: multimap. Часть 8
Редакция 03, от 19.02.2016, на Google

Контейнеры STL: set и multiset. Часть 9
Редакция 03, от 19.02.2016, на Google

Итераторы ввода-вывода. Часть 9A
Редакция 02, от 15.03.2016, на Google
(некоторых частей не было вообще в предыдущих редакциях, они вставные, чтобы не нарушать порядок именования частей они идут с буквенным индексом)

Алгоритмы. Часть 10
Редакция 04, от 21.02.2016, на Google

Функциональные объекты. Часть 11
Редакция 04, от 20.02.2016, на Google

Сортировка. Часть 12
Редакция 03, от 20.02.2016, на Google

Сортировка структур. Часть 13
Редакция 03, от 20.02.2016, на Google

Обобщённые численные алгоритмы. Часть 14
Редакция 03, от 20.02.2016, на Google

Скалярное произведение, фильтрация. Часть 14B
Редакция 03, от 20.02.2016, на Google

Другие обобщённые алгоритмы. Часть 14C
Редакция 03, от 20.02.2016, на Google

Обобщённые алгоритмы на массивах. Часть 14Z
Редакция 03, от 20.02.2016, на Google

Адаптеры. Часть 15
Редакция 03, от 20.02.2016, на Google

Указатели в контейнерах. Часть 16
Редакция 03, от 20.02.2016, на Google

Что почитать?. Часть 17
Редакция 03, от 23.02.2016, на Google