Купить книги Ешь, двигайся, спи Чек-лист. Как избежать глупых ошибок, ведущих к фатальным последствиям Телефоны Бизбук - c 10 до 18 по будним дням
 
Наши проекты:
Вход для зарегистрированных пользователей
Регистрация нового пользователя
Главная Новинки Анонсы Мои заказы Рассылка Оплата и Доставка Контакты
АУДИОКНИГИ ПО БИЗНЕСУ ЭКОНОМИЧЕСКАЯ ЛИТЕРАТУРА КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА ДЕТСКАЯ ЛИТЕРАТУРА
ДОМ, БЫТ, ДОСУГ ЕСТЕСТВЕННЫЕ НАУКИ ИНОСТРАННЫЕ ЯЗЫКИ ИСКУССТВО, ЖИВОПИСЬ
ОБЩЕСТВЕННЫЕ И ГУМАНИТАРНЫЕ НАУКИ ПОДАРОЧНАЯ ЛИТЕРАТУРА ПСИХОЛОГИЯ ТЕХНИЧЕСКАЯ ЛИТЕРАТУРА
ХУДОЖЕСТВЕННАЯ и ПОПУЛЯРНАЯ ЛИТЕРАТУРА ЭЛЕКТРОНИКА РАСПРОДАЖА. СУПЕРСКИДКИ !!!  
Вы находитесь в разделе каталога:
• Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ, Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода

Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ
Книга Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ
рекомендуем
Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
ISBN: 978-5-8459-1897-0
Переплёт: мягкий
256 страниц
Цена: 200.00 грн.
Есть в наличии
в корзину

Instant Purshare Только 1 книга
Доставка: по Киеву - в течение суток*
                по Украине - от 2 до 10 суток*
"Каждый разработчик несет ответственность за авторство кода, свободного от уязвимостей в защите. В этой книге представлены реалистичные рекомендации, помогающие разработчикам реализовывать требуемые функциональные возможности для обеспечения безопасности, надежности и сопровождения разрабатываемых программ."
Мэри Энн Дэвидсон, начальник службы информационной безопасности компании Oracle

Книга "Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ" составлена из 75 рекомендаций по надежному, безопасному и корректному написанию кода на Java.
В этой книге представлены 75 рекомендаций в согласованной и понятной форме.
Каждая рекомендация составлена авторами по одному и тому же образцу:

- постановка задачи,
- анализ примера кода, не соответствующего принятым нормам программирования на Java,
- рассмотрение предлагаемого решения, соответствующего принятым нормам,
- краткое изложение применимости рекомендации
- ссылки на дополнительную литературу.

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

Во многих организациях во всем мире программы на Java применяются для решения критически важных задач, а следовательно, их исходный код должен быть надежным, безопасным, быстрым и удобным для сопровождения. В рекомендациях, представленных в этой книге, собран практический опыт и примеры программирования на Java, помогающие удовлетворять потребности разработчиков. Эта книга, написанная по такому же образцу, как и справочное руководство The CERT® Oracle® Secure Coding Standard for Java™, служит его расширением, направленным на решение многих вопросов повышения безопасности и качества исходного кода на Java.

Для каждой рекомендации указаны условия соответствия, приведены примеры кода, не соответствующего принятым нормам программирования на Java, а также представлены решения, соответствующие принятым нормам. Авторы книги доходчиво поясняют, когда именно следует применять каждую рекомендацию, а также дают ссылки на дополнительные источники информации.

Отражая передовой опыт в области обеспечения безопасности программ на Java, это справочное руководство предоставляет усовершенствованные методики защиты подобных программ от злонамеренных атак и прочих неожиданных явлений. Читатель получает возможность ознакомиться с передовыми методиками повышения надежности и ясности исходного кода, а также с типичными ложными представлениями программирующих на Java, которым посвящена отдельная глава книги и которые нередко приводят к написанию неоптимального кода.

С предисловием Джеймса А. Гослинга, родоначальника языка программирования Java.

Книга "Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ" рассчитана на тех, кто имеет определенный опыт написания кода на Java.

Об авторах:
Фрэд Лонг
- преподаватель кафедры вычислительной техники в Университете Аберистуита, Великобритания. Он посещает Институт программотехники в США с 1992 года, тесно сотрудничая с его учеными.
Дхрув Мохиндра - ведущий специалист в группе, подчиненной руководителю технического отдела компании Persistent Systems Limited, India, где он консультирует по вопросам информационной безопасности в самых разных сферах деятельности, включая глобальную сеть, банковское дело и финансы, кооперацию, телекоммуникации, промышленные предприятия, мобильную связь, науки о живой природе и здравоохранение.
Роберт С. Сикорд - автор нескольких книг по компьютерной безопасности и программотехнике, а также технический руководитель по безопасному программированию в отделе CERT Института программотехники (SEI) Карнеги-Меллона в г. Питтсбург, шт. Пенсильвания.
Дин Сазерленд - старший инженер по безопасности программного обеспечения в организации CERT, а прежде он занимался оптимизацией компиляторов в компании Tartan, Inc.
Дэвид Свобода - инженер по безопасности программного обеспечения в отделе CERT Института программотехники (SEI) Карнеги-Меллона, где он участвовал в качестве ведущего разработчика программного обеспечения в различных проектах данной организации.





Содержание книги "Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ"




Предисловие 10
Введение 11
Безопасное программирование на Java 12
Предмет книги 13
Благодарности 17
Об авторах 19
От издательства 22
Глава 1. Безопасность 23
1. Ограничивайте срок действия уязвимых данных 24
2. Не храните уязвимые данные незашифрованными на стороне клиента 27
3. Снабжайте уязвимые изменяемые классы немодифицируемыми оболочками 30
4. Вызывайте уязвимые для безопасности методы с проверенными аргументами 32
5. Не допускайте выгрузку произвольных файлов 33
6. Кодируйте или экранируйте выводимые данные надлежащим образом 36
7. Предотвращайте внедрение кода 40
8. Предотвращайте внедрение операторов XPath 42
9. Предотвращайте внедрение операторов LDAP 46
10. Не пользуйтесь методом clone() для копирования небезопасных
параметров метода 49
11. Не пользуйтесь методом Object.equals() для сравнения ключей шифрования 52
12. Не пользуйтесь небезопасными или слабыми алгоритмами шифрования 53
13. Храните пароли с помощью хеш-функции 54
14. Обеспечьте подходящее начальное случайное значение для класса SecureRandom 59
15. Не полагайтесь на методы, которые могут быть переопределены в ненадежном коде 60
16. Старайтесь не предоставлять излишние полномочия 66
17. Сводите к минимуму объем привилегированного кода 69
18. Не раскрывайте методы с нестрогими проверками ненадежного кода 70
19. Определяйте специальные полномочия доступа для мелкоструктурной защиты 78
20. Создавайте безопасную "песочницу", используя диспетчер защиты 81
21. Не допускайте злоупотреблений привилегиями методов обратного вызова
в ненадежном коде 85
Глава 2. Защитное программирование 91
22. Минимизируйте область действия переменных 92
24. Минимизируйте доступность классов и их членов 96
25. Документируйте потоковую безопасность и пользуйтесь аннотациями везде,
где только можно 100
26. Всегда предоставляйте отклик на результирующее значение метода 106
27. Распознавайте файлы, используя несколько файловых атрибутов 109
28. Не присоединяйте значимость к порядковому значению, связанному
с перечислением 115
29. Принимайте во внимание числовое продвижение типов 117
30. Активизируйте проверку типов в методах с переменным количеством
аргументов во время компиляции 121
31. Не объявляйте открытыми и конечными константы, значения которых могут
измениться в последующих выпусках программы 123
32. Избегайте циклических зависимостей пакетов 126
33. Отдавайте предпочтение определяемым пользователем исключениям над более
общими типами исключений 128
34. Старайтесь изящно исправлять системные ошибки 130
35. Тщательно разрабатывайте интерфейсы, прежде чем их выпускать 132
36. Пишите код, удобный для "сборки мусора" 135
Глава 3. Надежность 139
37. Не затеняйте и не заслоняйте идентификаторы в подобластях действия 140
38. Не указывайте в одном объявлении больше одной переменной 142
39. Пользуйтесь описательными символическими константами для обозначения
литеральных значений в логике программы 145
40. Правильно кодируйте отношения в определениях констант 148
41. Возвращайте из методов пустой массив или коллекцию вместо пустого значения 149
42. Пользуйтесь исключениями только в особых случаях 152
43. Пользуйтесь оператором try с ресурсами для безопасного обращения с
закрываемыми ресурсами 154
44. Не пользуйтесь утверждениями для проверки отсутствия ошибок при выполнении 157
45. Пользуйтесь вторым и третьим однотипными операндами в условных выражениях 158
46. Не выполняйте сериализацию прямых описателей системных ресурсов 162
47. Отдавайте предпочтение итераторам над перечислениями 164
48. Не пользуйтесь прямыми буферами для хранения нечасто используемых
объектов с коротким сроком действия 166
49. Удаляйте объекты с коротким сроком действия из контейнерных объектов
с длительным сроком действия 167
Глава 4. Понятность программ 171
50. Будьте внимательны, применяя визуально дезориентирующие идентификаторы
и литералы 171
51. Избегайте неоднозначной перегрузки методов с переменным
количеством аргументов 175
52. Избегайте внутренних индикаторов ошибок 177
53. Не выполняйте операции присваивания в условных выражениях 179
54. Пользуйтесь фигурными скобками в теле условного оператора if,
а также циклов for или while 181
55. Не ставьте точку с запятой сразу после условного выражения с оператором
if, for или while 183
56. Завершайте каждый набор операторов, связанных с меткой case,
оператором break 184
57. Избегайте неумышленного зацикливания счетчиков циклов 186
58. Пользуйтесь круглыми скобками для обозначения операций предшествования 188
59. Не делайте никаких предположений о создании файлов 190
60. Преобразуйте целые значения в значения с плавающей точкой для выполнения
операций с плавающей точкой 192
61. Непременно вызывайте метод super.clone() из метода clone() 195
62. Употребляйте комментарии единообразно и в удобном для чтения виде 197
63. Выявляйте и удаляйте излишний код и значения 198
64. Стремитесь к логической полноте 202
65. Избегайте неоднозначной или вносящей путаницу перегрузки 205
Глава 5. Ложные представления программистов 209
66. Не принимайте на веру, что объявление изменчивой ссылки гарантировало
надежную публикацию членов объекта, доступного по этой ссылке 209
67. Не принимайте на веру, что методы sleep(), yield() или getState()
предоставляли семантику синхронизации 215
68. Не принимайте на веру, что оператор вычисления остатка всегда возвращал
неотрицательный результат для целочисленных операндов 219
69. Не путайте равенство абстрактных объектов с равенством ссылок 220
70. Ясно различайте поразрядные и логические операторы 223
71. Правильно интерпретируйте управляющие символы при загрузке строк 226
72. Не пользуйтесь перегружаемыми методами для динамического различения
типов данных 229
73. Не путайте неизменяемость ссылки и доступного по ссылке объекта 231
74. Аккуратно пользуйтесь методами сериализации writeUnshared()
и readUnshared() 235
75. Не пытайтесь оказывать помощь системе "сборки мусора", устанавливая пустое
значение в локальных переменных ссылочного типа 239
Приложение А. Android 241
Приложение Б. Словарь специальных терминов 245
Приложение В. Библиография 249
Предметный указатель 255

С этой книгой чаще всего покупают:
Java. Библиотека профессионала, том 2. Расширенные средства программирования

Java. Библиотека профессионала, том 2. Расширенные средства программирования

Кей С. Хорстманн, Гари Корнелл
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только 1 книга
 
Java. Библиотека профессионала, том 1. Основы. 10-е издание

Java. Библиотека профессионала, том 1. Основы. 10-е издание

рекомендуем
Кей С. Хорстманн, Гари Корнелл
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только 1 книга
Цена: 560.00 грн. 
 
Цена: 765.00 грн. 
Алгоритмы на Java

Алгоритмы на Java

рекомендуем
Роберт Седжвик, Кевин Уэйн
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только 1 книга
 
Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Лафоре Р.
Год выпуска: 2016
Изд-во: Питер
в корзину
Только 1 книга
Цена: 1025.00 грн. 
 
Цена: 740.00 грн. 
Java SE 8. Вводный курс

Java SE 8. Вводный курс

Кей С. Хорстманн
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
в корзину
Только 1 книга
 
Безопасное программирование на C и C++

Безопасное программирование на C и C++

рекомендуем
Роберт С. Сикорд
Год выпуска: 2015
Изд-во: Диалектика-Вильямс
в корзину
Только 1 книга
Цена: 244.00 грн. 
 
Цена: 765.00 грн. 
Философия Java. 4-е полное изд.

Философия Java. 4-е полное изд.

рекомендуем
Брюс Эккель
Год выпуска: 2016
Изд-во: Питер

в корзину

Instant Purshare Только 1 книга
 
   
Цена: 980.00 грн. 
   

Хотите оставить отзыв? У Вас возникли вопросы о книге "Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ, Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода" ? Пишите:

* Текст сообщения:
 
  Отправить
Сайт по косметолгии
Поиск по каталогу
 поиск в аннотациях
Искать

* Подробнее об условиях доставки смотрите в разделе "Оплата и Доставка" нашего магазина.
Если у Вас возникли вопросы как подобрать и купить книги в нашем интернет-магазине звоните с 9 до 18 по будним дням: Киев 331-04-53, МТС (050) 809-56-66, Киевстар (067) 408-26-36, Лайф (063) 227-24-47, Интертелеком (094) 831-04-53 или пишите нам