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

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Протекающие абстракции, Или зачем современному программисту знать все эти низкоуровневые детали абсолютно бесплатно. Урок-презентация на эту тему содержит всего 22 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Протекающие абстракции, Или зачем современному программисту знать все эти низкоуровневые детали



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    22 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    344.00 kB
  • Просмотров:
    69
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Протекающие абстракции Или
Содержание слайда: Протекающие абстракции Или зачем современному программисту знать все эти низкоуровневые детали

№2 слайд
Что пишет типичный
Содержание слайда: Что пишет типичный современный программист

№3 слайд
Что пишет типичный
Содержание слайда: Что пишет типичный современный программист

№4 слайд
А то и еще хуже
Содержание слайда: А то и еще хуже

№5 слайд
На самом деле все еще хуже
Содержание слайда: На самом деле все еще хуже

№6 слайд
И как с этим теперь жить? Я
Содержание слайда: И как с этим теперь жить? «Я лучше буду знать что-то одно, но буду знать это хорошо» «Пусть за меня думает компьютер, я буду решать только высокоуровневые вопросы» «Преждевременная оптимизация – корень всех зол» «Будет тормозить – будем думать»

№7 слайд
Протекающие абстракции Leaky
Содержание слайда: Протекающие абстракции Leaky abstraction © Joel Spolsky, http://www.joelonsoftware.com/articles/LeakyAbstractions.html Что же может протечь? Проблемы с безопасностью Проблемы с производительностью Ошибки Документированные особенности реализации

№8 слайд
Например Transmission Control
Содержание слайда: Например Transmission Control Protocol Абстракция надежного соединения через ненадежную сеть Реальная сеть теряет пакеты или доставляет их не по порядку TCP имитирует надежное соединение

№9 слайд
Но TCP использует
Содержание слайда: Но TCP использует подтверждения, таймауты и повторную передачу TCP рвет соединение при трех последовательных таймаутах TCP гарантирует доставку, но не гарантирует время доставки

№10 слайд
Другой пример Java C
Содержание слайда: Другой пример Java/C# используют сборку мусора Полезная абстракция, которая устраняет висячие ссылки и утечки памяти Снижение стоимости разработки от 2 до 5 раз

№11 слайд
Но Если вы не думаете, куда а
Содержание слайда: Но Если вы не думаете, куда (а также, когда и почему) у вас деваются объекты, вы будете делать ошибки. В С++ и C# это будут разные ошибки. Кстати, в Java/C# утечки памяти очень даже бывают…

№12 слайд
Exception security C style
Содержание слайда: Exception security C++ style RAII (Resource allocation is initalization) Деструкторы зовутся в конце блока Завернуть выделяемый ресурс в объект с конструктором/деструктором, и исключения вам не страшны

№13 слайд
Пример из жизни В Android
Содержание слайда: Пример из жизни В Android есть две кучи Managed heap (Dalvik) Native heap (OpenGL/BMP) Объектам нативной кучи надо явно звать recycle. Куча приколов Нативная куча кончилась, вы зовете gc, а толку нет Утечки памяти в нативной куче Висячие ссылки в управляемой куче И прочие радости жизни И все это в условиях жестко ограниченной памяти.

№14 слайд
Пример из жизни самый
Содержание слайда: Пример из жизни (самый противный вариант) Класс-обертка вокруг битмапа в нативной куче Битмап большой, обертка маленькая Насоздавали битмапов, нативная куча кончилась, а управляемая куча почти не занята. Сборка мусора не проходит (не видит, чего собирать-то)

№15 слайд
Пример из жизни продолжение
Содержание слайда: Пример из жизни (продолжение) Ну давайте везде звать recycle()? http://masterden.livejournal.com/50326.html [] Поэтому при работе с битмапами постоянно ставишь recycle. А вот мы и подобрались к объяснению баги, описанной в начале. Даже в доках от гугла есть пример отдачи картинки в OpenGL, где после трансфера её туда битмап "ресайклится". Ага! У меня в коде было тоже самое! Но тот самый злосчастный экран отличалcя от остальных тем, что битмапы грузил не с SD-карты, а из ресурсов прилады! А они (ресурсы) грузятся один раз на всё приложение. И, будучи поресайкленной, битмапа из ресурсов оставалась таковой до рестарта приложения []

№16 слайд
На самом деле все еще хуже
Содержание слайда: На самом деле все еще хуже Приколы вылезают не только при явном освобождении памяти Приколы могут вылезать если вы используете два разных сборщика мусора Например: CLR (.Net) использует mark’n’sweep COM (legacy VB) использует reference count

№17 слайд
В чем разница? Mark n sweep
Содержание слайда: В чем разница? Mark’n’sweep Сборка мусора дорогая операция Зовется только от горя (когда память кончилась) Refcount Сборка мусора происходит «сама», звать ее не надо Никаких хуков на «что-то мы сожрали много памяти» нету Тот же сценарий: маленькая обертка в mark’n’sweep куче вокруг большого refcount объекта Refcount куча разрослась до хрен-знает-скольколлиона байт, а mark’n’sweep про это ни сном, ни духом

№18 слайд
Безопасность
Содержание слайда: Безопасность

№19 слайд
Dynamic SQL, говорите?
Содержание слайда: Dynamic SQL, говорите?

№20 слайд
Хорошие практики Ну и что?
Содержание слайда: Хорошие практики Ну и что? – скажут многие Не надо знать низкоуровневые детали и не надо знать, что может протечь Надо знать хорошие практики, как бороться с протечками

№21 слайд
Хорошие практики не панацея
Содержание слайда: Хорошие практики не панацея Хорошая практика: нельзя совать пальцы в розетку

№22 слайд
Во что это может вылиться
Содержание слайда: Во что это может вылиться

Скачать все slide презентации Протекающие абстракции, Или зачем современному программисту знать все эти низкоуровневые детали одним архивом: