<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Использование неизменяемых данных с ненадёжным кодом on Технологии функционального программирования в современных ИС</title>
    <link>https://lms.crafted.su/functional-programming-intro/2026-1-mag/docs/02-immutability-and-stratified-design/08-staying-immutable-with-untrusted-code/</link>
    <description>Recent content in Использование неизменяемых данных с ненадёжным кодом on Технологии функционального программирования в современных ИС</description>
    <generator>Hugo</generator>
    <language>ru-RU</language>
    <atom:link href="https://lms.crafted.su/functional-programming-intro/2026-1-mag/docs/02-immutability-and-stratified-design/08-staying-immutable-with-untrusted-code/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Метаданные: Использование неизменяемых данных с ненадёжным кодом</title>
      <link>https://lms.crafted.su/functional-programming-intro/2026-1-mag/docs/02-immutability-and-stratified-design/08-staying-immutable-with-untrusted-code/meta/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://lms.crafted.su/functional-programming-intro/2026-1-mag/docs/02-immutability-and-stratified-design/08-staying-immutable-with-untrusted-code/meta/</guid>
      <description>&lt;h2 id=&#34;результаты-освоения&#34;&gt;&#xA;  Результаты освоения&#xA;  &lt;a class=&#34;anchor&#34; href=&#34;#%d1%80%d0%b5%d0%b7%d1%83%d0%bb%d1%8c%d1%82%d0%b0%d1%82%d1%8b-%d0%be%d1%81%d0%b2%d0%be%d0%b5%d0%bd%d0%b8%d1%8f&#34;&gt;#&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;В результате освоения данного занятия студент должен:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;различать доверенную зону кода и ненадёжный (унаследованный) код;&lt;/li&gt;&#xA;&lt;li&gt;применять защитное копирование при передаче данных в ненадёжный код;&lt;/li&gt;&#xA;&lt;li&gt;применять защитное копирование при получении данных из ненадёжного кода;&lt;/li&gt;&#xA;&lt;li&gt;реализовывать функцию-обёртку над ненадёжной функцией, поддерживающую неизменяемость;&lt;/li&gt;&#xA;&lt;li&gt;реализовывать глубокое копирование массивов и вложенных объектов;&lt;/li&gt;&#xA;&lt;li&gt;отличать глубокое копирование от поверхностного по составу копируемых структур;&lt;/li&gt;&#xA;&lt;li&gt;выбирать между копированием при записи и защитным копированием для заданного участка кода;&lt;/li&gt;&#xA;&lt;li&gt;обосновывать применение защитного копирования для унаследованного кода, который не удаётся переписать;&lt;/li&gt;&#xA;&lt;li&gt;определять по исходному коду, изменяет ли унаследованная функция переданные ей данные;&lt;/li&gt;&#xA;&lt;li&gt;применять копирование данных при подписке на события внешней системы.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
