<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@html_books</title><generator>teletype.in</generator><description><![CDATA[@html_books]]></description><link>https://teletype.in/@html_books?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/html_books?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/html_books?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 22 Apr 2026 02:15:38 GMT</pubDate><lastBuildDate>Wed, 22 Apr 2026 02:15:38 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@html_books/Bk2YPbYQQ</guid><link>https://teletype.in/@html_books/Bk2YPbYQQ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/Bk2YPbYQQ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>PHP. Урок #15. Многомерные массивы</title><pubDate>Sun, 15 Jul 2018 17:42:28 GMT</pubDate><description><![CDATA[Многомерные массивы содержат один, или больше массивов. Размерность массива означает число индексов, которое вам понадобится, чтобы выбрать элемент. - Для двухмерного массива, вам понадобится два индекса, чтобы выбрать элемент - Для трехмерного массива, вам понадобится три индекса, чтобы выбрать элемент]]></description><content:encoded><![CDATA[
  <h2>Многомерные Массивы</h2>
  <p>Многомерные массивы содержат один, или больше массивов. Размерность массива означает число индексов, которое вам понадобится, чтобы выбрать элемент. - Для двухмерного массива, вам понадобится два индекса, чтобы выбрать элемент - Для трехмерного массива, вам понадобится три индекса, чтобы выбрать элемент</p>
  <p><em>Массивы с более, чем тремя уровнями глубины, являются сложными для управления.</em></p>
  <p>Давайте создадим двухмерный массив, содержащий 3 массива:</p>
  <pre>$people = array(
   &#x27;online&#x27;=&gt;array(&#x27;David&#x27;, &#x27;Amy&#x27;),
   &#x27;offline&#x27;=&gt;array(&#x27;John&#x27;, &#x27;Rob&#x27;, &#x27;Jack&#x27;),
   &#x27;away&#x27;=&gt;array(&#x27;Arthur&#x27;, &#x27;Daniel&#x27;)
);
</pre>
  <p>Теперь двухмерный массив $people содержит 3 массива и имеет два индекса: строку и столбец. Чтобы получить доступ к элементам массива $people, мы должны указать два индекса.</p>
  <pre>echo $people[&#x27;online&#x27;][0]; //Outputs &quot;David&quot;

echo $people[&#x27;away&#x27;][1]; //Outputs &quot;Daniel&quot;
</pre>
  <p><em>Массивы в многомерных массивах могут быть как и числовыми, так и ассоциативными.</em></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/BJj8q3Omm</guid><link>https://teletype.in/@html_books/BJj8q3Omm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/BJj8q3Omm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>6 оптимальных языков для начала программирования</title><pubDate>Sun, 15 Jul 2018 12:13:06 GMT</pubDate><description><![CDATA[<img src="https://sun1-1.userapi.com/c845220/v845220030/88a27/Q7xbIlSqK-o.jpg"></img>Как новичку выбрать язык программирования для будущей работы? Оценить уровень зарплат? Востребованность? Исходить из того, что проще выучить? Или внимательно изучить линии тренда популярности?]]></description><content:encoded><![CDATA[
  <p>Как новичку выбрать язык программирования для будущей работы? Оценить уровень зарплат? Востребованность? Исходить из того, что проще выучить? Или внимательно изучить линии тренда популярности?</p>
  <p>На самом деле, вы можете потратить уйму времени, выбирая лучший язык программирования. Но как только дело дойдет до личного знакомства, возникнет необходимость сменить фаворита. Сегодня вашему вниманию будет предложен вариант выбора, который должен прийтись по душе абсолютному большинству начинающих гиков — сочетание легкости изучения и востребованности на рынке труда. Эти два аргумента относительно просто достоверно проверить, поэтому полученный результат будет близок к объективности.</p>
  <h3>Критерии</h3>
  <p>Нам потребуется два авторитетных рейтинга. Легкость изучения будет оценена условно — в баллах её выразить невозможно, но составить некоторый список «простых» можно, пользуясь коллективными мнениями.</p>
  <p>Расставлять по местам мы будем исходя из рейтинга востребованности. За базу возьмем ряд зарубежных статей, реальность же российскую подтвердим при помощи агрегаторов hh.ru и trud.com. Статистика, разумеется, актуальна на день написания текста, а к публикации вряд ли сильно изменится.</p>
  <p>Что учитывать мы не будем, так это уровень зарплат и самодостаточность языка, просто из-за относительности данных критериев.</p>
  <h3>Swift</h3>
  <figure class="m_custom">
    <img src="https://sun1-1.userapi.com/c845220/v845220030/88a27/Q7xbIlSqK-o.jpg" width="700" />
  </figure>
  <p>Формально, Swift, конечно еще не так востребован среди работодателей как Objective-C, и попаданием в этот рейтинг он во многом обязан общей платформе. Но игнорировать перспективу в этом рейтинге категорически невозможно. Поэтому рекомендуем начинать изучение уже сейчас.</p>
  <p>Взглянем на цифры российских HR-агентств — 471 вакансия в России и ближнем зарубежье на hh.ru и 410 на trud.com. Очень неплохо для трехлетнего языка. Если добавите Objective-C, можете смело умножать цифры на 3.</p>
  <h3>C/C++</h3>
  <figure class="m_custom">
    <img src="https://sun1-13.userapi.com/c845220/v845220030/88a47/V1z8_IYO4ew.jpg" width="700" />
  </figure>
  <p>Называть язык C или C++ лёгкими для изучения не совсем правильно, особенно если сравнивать их с Python или Ruby. Но в данному случае стоит говорить о том огромном количестве учебной качественной литературы, о фундаментальности и том полезном остатке, что останется в вашей голове, даже если свою дальнейшую жизнь с ними вы не свяжете.</p>
  <p>Но если всё таки языки вам понравятся, то аж 2 325 вакансий только в России на hh.ru и 12 543 на trud.com. При этом вам важно понимать, что если, в случае с языком Swift, это были вакансии исключительно разработчиков, то с C++ вам язык может понадобится не только в привычной сфере IT, но и на должности оператора ЧПУ, и автоэлектрика.</p>
  <h3>JavaScript</h3>
  <figure class="m_custom">
    <img src="https://sun1-20.userapi.com/c845220/v845220030/88a57/QElnYEmZIDc.jpg" width="700" />
  </figure>
  <p>Мало того, что JavaScript крайне востребован в современном мире благодаря сумасшедшему развитию интернет-технологий, так ещё благодаря модулям и библиотекам его зона влияния стала распространяться во все остальные IT-сферы.</p>
  <p>Добавьте сюда тот факт, что JavaScript относительно лёгок для изучения. Заимствовав базовые вещи из Си и постепенно развиваясь от бонусного элемента для HTML и CSS до самостоятельной силы, он получил удобоваримый синтаксис и предельно понятную для новичка логику работы.</p>
  <p>А теперь к востребованности: 6 365 вакансий только внутри России на hh.ru и 5 565 на trud.com. Это весьма неплохие цифры для тех, кто твёрдо намерился найти работу по окончанию обучения.</p>
  <h3>Python</h3>
  <figure class="m_custom">
    <img src="https://sun1-11.userapi.com/c845220/v845220030/88a5f/oCwQrYXpfj4.jpg" width="700" />
  </figure>
  <p>Когда речь идёт о совокупности аргументов лёгкость и востребованность (именно в таком порядке), большинство разработчиков в первую очередь думает о Python. Это проверенный временем и миллионами учеников язык, экономит драгоценное время как на стадии обучения, так и применения. При этом количество областей IT, где бы вам мог потребоваться Python не ограничено вообще ничем. Большое спасибо поклонникам энтузиастам и Python Software Foundation.</p>
  <p>Важно отметить, что востребованность в специалистах Python значительно выше за границей, нежели в России. Однако и у нас найти работу большого труда не составит: 2 325 вакансий в открытом доступе по версии hh.ru и 2 537 - trud.com.</p>
  <h3>Java</h3>
  <figure class="m_custom">
    <img src="https://sun1-7.userapi.com/c845220/v845220030/88a67/xrti7BsYa_k.jpg" width="700" />
  </figure>
  <p>Java — великолепный язык во всех отношениях. Это подтверждается и статистикой TIOBE, и самой популярной ОС в мире, и просто тем, что это достаточно простой язык с очень мощной экосистемой.</p>
  <p>Если выразить в цифрах российской реальности, то актуальность Java составляет 4 628 пунктов по версии hh.ru и 4 490 — trud.com. Да, это не впечатляющие результаты на фоне некоторых предыдущих претендентов, но, во-первых, это обусловлено спецификой нашего IT-рынка, во-вторых тенденция к росту строго положительная, в-третьих Java всё же будет попроще C/C++.</p>
  <h3>SQL</h3>
  <figure class="m_custom">
    <img src="https://sun1-10.userapi.com/c845220/v845220030/88a6f/y3JkkdXDug8.jpg" width="700" />
  </figure>
  <p>Наверняка не такого лидера вы хотели увидеть, но формально придраться здесь не к чему. Вам очень трудно избегать использования БД в современных реалиях, а инструмента более универсального ,чем SQL пока никто не придумал. Именно этот факт и позволяет этому языку твёрдо восседать на первом месте практически во всех подобных рейтингах.</p>
  <p>Язык отечественных цифр здесь не слишком ярко отражает реальный спрос, но в лидерстве SQL в данном рейтинге сомневаться не заставит. По факту, на hh.ru он набрал 8 303 внутренних вакансий, на trud.com 8 933.</p>
  <h3>P.S.</h3>
  <p>Глядя на опубликованный в самом начале рейтнг, у вас наверняка возникает резонный вопрос: «А где же Perl и C#?». Всё дело в том самом проецировании на российскую действительность. Например, Perl имеет результаты 581 вакансий по версии hh.ru и 577 на trud.com. Это, конечно, лучше, чем Swift, но у яблочного языка есть очевидная перспектива, а спрос на Perl в России скорее всего будет только падать.</p>
  <p>Касательно C# здесь ситуация лучше: 906 вакансий на hh.ru и свыше 16 тысяч на trud.com. Однако вторая цифра не должна вводить вас в заблуждение: среди вакансий почти половина C/C++ разработчики со знанием C#, поэтому по совокупности и фундаментальной значимости именно первая группа языков была вынесена в заголовок, а второй скромно упомянут в конце.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/B1D4XY_QQ</guid><link>https://teletype.in/@html_books/B1D4XY_QQ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/B1D4XY_QQ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>Запускаем программы в невидимом режиме</title><pubDate>Sun, 15 Jul 2018 08:17:50 GMT</pubDate><description><![CDATA[Для того,чтобы в Windows скрытно запустить какую-нибудь программу необязательно придумывать что-то новое. Достаточно воспользоваться встроенными средствами, а точнее поддержкой скриптовых команд WSH. Например, вам необходимо заставить запуститься и работать некий файлик, да так чтобы пользователь ничего не заметил. Для этого создаем простой текстовый файл и пишем:]]></description><content:encoded><![CDATA[
  <p>Для того,чтобы в Windows скрытно запустить какую-нибудь программу необязательно придумывать что-то новое. Достаточно воспользоваться встроенными средствами, а точнее поддержкой скриптовых команд WSH. Например, вам необходимо заставить запуститься и работать некий файлик, да так чтобы пользователь ничего не заметил. Для этого создаем простой текстовый файл и пишем:</p>
  <p>Код:</p>
  <pre>var WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;);
WSHShell.Run(&quot;file.exe&quot;,0);
</pre>
  <p><strong>0 </strong>- указывает на то, что файл необходимо запустить в невидимом режиме</p>
  <p>Чтобы файл исполнил записанные в него функции, переименовываем его в <em>ваше_имя.js</em> а для запуска без вашего участия, помещаем ярлык в автозагрузку, а еще лучше в реестр по адресу:</p>
  <p>Код:</p>
  <pre>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
</pre>
  <p>Окно запускаемой таким способом программы невидимо, кнопки на панели задач нет, в приложениях диспетчера задач ее тоже не видно. Найти запущенную программу можно только в процессах того же диспетчера задач, но если имя нужной программы изменить на какой-нибудь там systems32.exe то пользователь не одаренный специальными знаниями вряд ли найдет её вообще.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/HJTEDTwX7</guid><link>https://teletype.in/@html_books/HJTEDTwX7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/HJTEDTwX7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>PHP. Урок #14. Ассоциативные Массивы</title><pubDate>Sat, 14 Jul 2018 18:55:49 GMT</pubDate><description><![CDATA[Ассоциативные массивы это массивы, которые используют именованные ключи, которые вы им присвоите. Два способа создания ассоциативных массивов:]]></description><content:encoded><![CDATA[
  <h2>Ассоциативные Массивы</h2>
  <p>Ассоциативные массивы это массивы, которые используют именованные ключи, которые вы им присвоите. Два способа создания ассоциативных массивов:</p>
  <pre>$people = array(&quot;David&quot;=&gt;&quot;27&quot;, &quot;Amy&quot;=&gt;&quot;21&quot;, &quot;John&quot;=&gt;&quot;42&quot;);
// or
$people[&#x27;David&#x27;] = &quot;27&quot;;
$people[&#x27;Amy&#x27;] = &quot;21&quot;;
$people[&#x27;John&#x27;] = &quot;42&quot;;
</pre>
  <p><em>В первом примере обратите внимание на использование знаков =&gt; для присваивания значений к именованным ключам.</em></p>
  <p>Используйте именованные ключи для доступа к членам массива.</p>
  <pre>$people = array(&quot;David&quot;=&gt;&quot;27&quot;, &quot;Amy&quot;=&gt;&quot;21&quot;, &quot;John&quot;=&gt;&quot;42&quot;);

echo $people[&#x27;Amy&#x27;]; // Outputs 21&quot;
</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/B1GNe_Dm7</guid><link>https://teletype.in/@html_books/B1GNe_Dm7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/B1GNe_Dm7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>Возможно ли уничтожить Интернет?</title><pubDate>Sat, 14 Jul 2018 12:44:26 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/fd/fd233aa8-41d9-4eae-b046-1f7d04c68612.png"></media:content><description><![CDATA[<img src="https://pp.userapi.com/c824410/v824410638/186bef/soBsRLLht4A.jpg"></img>За тридцатилетнюю историю интернета разные правительства, диктаторы, хакеры и просто тролли неоднократно пытались уничтожить его. Как вы догадываетесь, у них ничего не вышло. Даже самые оголтелые тираны добиваются лишь частичной блокировки Сети, а хакеры в лучшем случае лишают мир доступа к какому-либо сайту на несколько часов. Проблема в том, что нам достались бездарные тираны и хакеры, или интернет действительно так трудно уничтожить?]]></description><content:encoded><![CDATA[
  <p>За тридцатилетнюю историю интернета разные правительства, диктаторы, хакеры и просто тролли неоднократно пытались уничтожить его. Как вы догадываетесь, у них ничего не вышло. Даже самые оголтелые тираны добиваются лишь частичной блокировки Сети, а хакеры в лучшем случае лишают мир доступа к какому-либо сайту на несколько часов. Проблема в том, что нам достались бездарные тираны и хакеры, или интернет действительно так трудно уничтожить?</p>
  <p><strong>Цель 1: Кабель</strong></p>
  <figure class="m_custom">
    <img src="https://pp.userapi.com/c824410/v824410638/186bef/soBsRLLht4A.jpg" width="807" />
  </figure>
  <p>Чтобы уничтожить врага, сначала нужно понять, из чего он состоит. Главная проблема миссии по уничтожению интернета заключается в том, что интернета как такового не существует. Нет места, куда можно положить бомбу, нет провода, который можно было бы обрубить, нет крана, который перекрыл бы поток данных по всему миру. Точнее, всё это на самом деле есть, но в тысячах экземпляров. Интернет действует по принципу — у каждого его элемента есть несметное количество запасных частей.</p>
  <p>Изнутри Сеть состоит из данных, но уничтожить интернет, находясь внутри него, мы не сможем, поэтому вариант величайшей в истории хакерской атаки сразу отпадает. Победить всемирную сеть можно только дедовским методом — с шашкой динамита в руках и топором за плечами. Материальный аватар интернета — сотни тысяч километров кабеля, которые опоясывают Землю и сходятся в дата-центрах по всему миру. Именно на эти жизненно важные органы интернета юным ненавистникам свободного обмена информацией и стоит направить свою атаку.</p>
  <p>В эпоху, когда Wi-Fi можно поймать даже в метро, тяжело подумать о том, что интернет работает не за счёт неведомых космических сигналов, а благодаря старому доброму кабелю, который спокойно лежит себе на дне океана. Всего этих кабелей на начало 2014 года насчитывалось 285 штук, а их общий метраж достигал 885 тысяч километров. По сравнению с 2012 годом кабелей стало почти вдвое больше.</p>
  <p>Чтобы разрушить систему с таким количеством избыточных частей, злоумышленникам придётся нанести одновременно удары по всем ключевым кабелям, объединяющим континенты. В этом деле не может быть компромиссов: если обрубить только часть кабелей, то данные мгновенно найдут обходной путь, а люди залатают нанесённый ущерб.</p>
  <p>Местонахождение всех кабелей находится в открытом доступе: каждый желающий может узнать, где они пролегают под водой и в каких местах выходят на сушу. На берегу кабели иногда лежат прямо на поверхности и смущают пингвинов, рыбаков и выбросившихся на берег китов.</p>
  <p><strong>Цель 2: Дата-центры</strong></p>
  <figure class="m_custom">
    <img src="https://pp.userapi.com/c824410/v824410638/186bf8/O0N--PnvUrw.jpg" width="807" />
  </figure>
  <p>Даже если многотысячная банда безумных, но невероятно эффективных маньяков с топорами обрубит все подводные кабели и не будет подпускать к ним ремонтные бригады, интернет всё равно будет беззаботно существовать в пределах отдельных континентов. Вторым наиболее значительным ударом по бастиону свободы слова может стать уничтожение ключевых дата-центров, расположенных по всему миру. Для этого банду маньяков с топорами придётся заменить на банду маньяков с бомбами.</p>
  <p>В дата-центрах хранится вся «начинка» интернета — все данные, которые путешествуют по кабелям, рано или поздно заканчивают свой путь здесь. В дата-центрах по всему миру хранятся файлы с вашими аватарами, каждый фильм ужасов, когда-либо снятый за всю историю кино. Некоторые компании покупают собственные дата-центры, но большинство сайтов и их бэкапов хранится в общих мега-центрах, место в которых покупают провайдеры.</p>
  <p>Дата-центры охраняют так же тщательно, как и золотовалютные резервы. Чаще всего это большие, но неприметные здания, в которых большую часть времени не горит свет: людям там делать нечего, а серверы будут перегреваться от лишнего освещения. Местоположение большинства центров доступно общественности.</p>
  <p>Уничтожение одного или нескольких дата-центров, скорее всего, не даст значительного результата: в Осло на несколько часов может отключиться «Фейсбук», кулинарные сайты не будут подгружать картинки салатов — вот и весь апокалипсис. Для террористов это плохие новости: чтобы убить интернет, потребуется взорвать каждый из дата-центров.</p>
  <p><strong>Цель 3: Люди</strong></p>
  <figure class="m_custom">
    <img src="https://pp.userapi.com/c824410/v824410638/186c01/Vz1HGACZpaw.jpg" width="807" />
  </figure>
  <p>Когда в 2012 году «Анонимусы» пригрозили обрушить весь интернет, многим экспертам и гениям Сети пришлось отвечать на панические вопросы журналистов. Когда с вопросом об уничтожении интернета обратились к одному из главных пропонентов интернета Девейну Хендриксу, он сказал «Чтобы уничтожить интернет, нужно избавиться от всех людей».</p>
  <p>Люди — главная причина, по которой интернет не могут победить не только хакеры и террористы, но даже подводные землетрясения. Даже если гипотетическим сверхтеррористам в нашем умственном эксперименте удастся обрубить все 285 кабелей и взорвать каждый из 3 227 дата-центров, люди придут и восстановят их.</p>
  <p>Интересное решение человеческого фактора выдвинул параноик и мизантроп со стажем Дэвид Бирн: он предлагает не просто обрубать кабель, но создавать на его месте непроходимую радиоактивную зону, мини-Чернобыль, который не позволит производить ремонтные работы. Плохие это новости для террористов или хорошие, но завершить существование интернета, похоже, сможет только всемирная ядерная война.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/HJ559mDXm</guid><link>https://teletype.in/@html_books/HJ559mDXm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/HJ559mDXm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>Сверхсекретное шпионское ПО пытались продать за 50 млн долларов в криптовалютах</title><pubDate>Sat, 14 Jul 2018 07:47:29 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/8e/8e0730ab-c296-4160-97c2-36f26a1ba516.png"></media:content><description><![CDATA[<img src="https://cryptofeed.ru/wp-content/uploads/2018/07/darknet-otkazyvaetsja-ot-bitcoin-v-polzu-monero-photo-st-big-min.jpg"></img>В начале июля гражданин Израиля был обвинён районным судом Тель-Авива за попытку продажи программного обеспечения под названием Пегас, разработанным для правительства Израиля.]]></description><content:encoded><![CDATA[
  <p>В начале июля гражданин Израиля был обвинён районным судом Тель-Авива за попытку продажи программного обеспечения под названием Пегас, разработанным для правительства Израиля.</p>
  <figure class="m_custom">
    <img src="https://cryptofeed.ru/wp-content/uploads/2018/07/darknet-otkazyvaetsja-ot-bitcoin-v-polzu-monero-photo-st-big-min.jpg" width="690" />
  </figure>
  <p>Известно, что обвиняемый работал старшим программистом Группы NSO, у него был доступ к исходному коду и ресурсам компании. Мошенник пытался продать Pegasus в даркнете за 50 млн долларов в криптовалютах. Чтобы сделка не вызвала подозрений, запрашивал сумму в нескольких криптовалютах.</p>
  <p>Пегас, помимо многочисленных функций, способен взломать Apple iPhone.</p>
  <p>В феврале 2018 года группа NSO начала работу. Специалисты должны были подключить внешний диск к компьютерам компании таким образом, чтобы не быть обнаруженными после поиска в интернете. Преступник загрузил себе программное обеспечение, а внешний диск решил спрятать под кроватью.</p>
  <p>Когда он попытался продать Пегаса в даркнете, один из потенциальных покупателей связался с Группой НСУ. Далее он начал сотрудничать с организацией, чтобы арестовать продавца и предъявить ему обвинения в краже материалов государственной важности и нанесению угрозы национальной безопасности.</p>
  <p>Несмотря на то, что утечки сверхсекретных данных не произошло, израильтянина арестовали, он будет находиться под стражей на протяжении всего судебного процесса, хотя известно, что</p>
  <blockquote>«В компании быстро выявили нарушение, собрали доказательства, идентифицировали преступника и передали информацию в соответствующие органы. Власти, в свою очередь, отреагировали быстро и эффективно, в кратчайшие сроки сотрудник был арестован, а украденные материалы были возвращены. Никакая [интеллектуальная собственность] или материалы компании не были переданы третьим лицам, таким образом утечки информации не состоялась», — заявили в Группе NSO.</blockquote>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/H12fvwL77</guid><link>https://teletype.in/@html_books/H12fvwL77?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/H12fvwL77?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>PHP. Урок #13. Числовые Массивы</title><pubDate>Fri, 13 Jul 2018 17:53:24 GMT</pubDate><description><![CDATA[Массив это специальная переменная, которая может одновременно хранить больше одного значения. Если у вас есть список наименований (например, список имен), хранение их по одному в разных переменных будет выглядеть следующим образом:]]></description><content:encoded><![CDATA[
  <h2>Массивы</h2>
  <p>Массив это специальная переменная, которая может одновременно хранить больше одного значения. Если у вас есть список наименований (например, список имен), хранение их по одному в разных переменных будет выглядеть следующим образом:</p>
  <pre>$name1 = &quot;David&quot;; 
$name2 = &quot;Amy&quot;; 
$name3 = &quot;John&quot;; 
</pre>
  <p>Но что, если у вас в списке 100 имен? Решение: Создайте массив! Числовые Массивы Числовые, или индексированные массивы, ассоциируют числовой индекс с их значениями. Индекс может быть присвоен автоматически (индекс всегда начинается с 0), следующим образом:</p>
  <pre>$names = array(&quot;David&quot;, &quot;Amy&quot;, &quot;John&quot;);
</pre>
  <p>В качестве альтернативы, вы можете присвоить свой индекс вручную.</p>
  <pre>$names[0] = &quot;David&quot;;
$names[1] = &quot;Amy&quot;;
$names[2] = &quot;John&quot;;
</pre>
  <p>Мы определили массив с именем $names, который хранит три значения. Вы можете получить доступ к элементам массива через их индексы.</p>
  <pre>echo $names[1]; // Outputs &quot;Amy&quot;
</pre>
  <p><em>Запомните, что индексом первого элемента является 0, а не 1.</em></p>
  <h2>Числовые Массивы</h2>
  <p>Вы можете хранить вместе целые числа, строки, и значения других типов данных в одном массиве. Пример:</p>
  <pre>&lt;?php
$myArray[0] = &quot;John&quot;;
$myArray[1] = &quot;&lt;strong&gt;PHP&lt;/strong&gt;&quot;;
$myArray[2] = 21;

echo &quot;$myArray[0] is $myArray[2] and knows $myArray[1]&quot;;

// Outputs &quot;John is 21 and knows PHP&quot;
?&gt;
</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/r14iqRHQ7</guid><link>https://teletype.in/@html_books/r14iqRHQ7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/r14iqRHQ7?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>5 совсем юных языков программирования</title><pubDate>Fri, 13 Jul 2018 07:54:03 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/02/022a941d-44c7-47a7-95ae-1b76e88c8e5c.png"></media:content><description><![CDATA[<img src="https://sun9-8.userapi.com/c831208/v831208876/142308/XwDSHlkmtDI.jpg"></img>Один из способов оказаться востребованным программистом через 3-7 лет — выбрать для глубокого изучения совсем молодой язык, который находится в самом начале пути покорения мира. О языках, рождённых после мистического 2012 года поговорим далее.]]></description><content:encoded><![CDATA[
  <p>Один из способов оказаться востребованным программистом через 3-7 лет — выбрать для глубокого изучения совсем молодой язык, который находится в самом начале пути покорения мира. О языках, рождённых после мистического 2012 года поговорим далее.</p>
  <h2>Swift</h2>
  <p>Монструозный по темпам роста популярности и захвата профессиональный аудитории язык появился лишь в 2014 году. Вот так выглядит кривая роста индекса с момента его появления по сегодняшний день:</p>
  <figure class="m_custom">
    <img src="https://sun9-8.userapi.com/c831208/v831208876/142308/XwDSHlkmtDI.jpg" width="600" />
  </figure>
  <p>И у кого-то есть сомнения в том, что в ближайшее время это рост не остановится?</p>
  <p>Конечно, добрую службу сослужила популярная платформа iOS, в 2014 году уже насчитывавшая около 500 миллионов только мобильных пользователей. Конечно, переходить в такой ситуации с весьма неоднозначного Objective-C или просто начинать учить Swift в качестве первого языка — не такое уж сложное решение. Но помимо этого у Swift есть масса очевидных плюсов даже по сравнению более популярными конкурентами:</p>
  <ul>
    <li>Удобный синтаксис, особенно по сравнению с Objective-C;</li>
    <li>Высокое быстродействие;</li>
    <li>Развитая экосистема;</li>
    <li>Высокая безопасность кода;</li>
    <li>Платформа, которая даже при негативном сценарии развития событий не оставит вас без работы ближайшие лет 15.</li>
  </ul>
  <p>Единственная проблема со Swift в контексте будущей профессии заключается в уже существующей конкуренции. Так как язык завоевывал аудиторию не с нуля и продолжает активно развиваться, то начав учить язык сегодня с прицелом на будущую работу, вы получите не больше преимущества, чем при изучении любого другого популярного языка.</p>
  <h2>Julia</h2>
  <p>Julia — чуть более возрастной и менее известный язык, но это не значит, что он не способен неожиданно выстрелить. Недостаток всеобщей славы можно смело списать на специфическую область применения — математическая обработка данных. Здесь существуют очень мощные конкуренты (тот же MATLAB), но что важнее — слепая приверженность программистов уже выбранным продуктам и языкам. А заинтересоваться Julia есть почему:</p>
  <ul>
    <li>Простой синтаксис, этакий Python от науки;</li>
    <li>Быстродействие выше, чем у большинства конкурентов;</li>
    <li>Совместим с C и Fortran, что будет удобно для адаптации данных и кодов;</li>
    <li>Имеет свободную лицензию.</li>
  </ul>
  <figure class="m_custom">
    <img src="https://sun9-6.userapi.com/c831208/v831208876/14230f/pLSLXFg29Oc.jpg" width="600" />
  </figure>
  <p>Из недостатков можно назвать разве что медленное развитие и желание создателей двигаться в сторону упрощения. Однако понимая задачи, которые стоят перед языком, а также специфику области применения, возможно, это именно то решение, которое поможет Julia постепенно взобраться на вершину.</p>
  <h2>Hack</h2>
  <p>Hack — это PHP-подобный язык программирования, разработанный компанией Facebook для собственной платформы в 2014 году. Цель ясна: стандартный PHP с задачами и производительностью уже не справлялся, а адекватной замены до этого никто не придумал. В основе улучшений — статическая типизация и отсутствие компиляции, то есть в конечном счете вы повышаете и безопасность, и скорость работы.</p>
  <p>Интересно, что сами разработчики сравнивают свой язык с Haskell, мол, он тоже статический и исполняется очень быстро. При этом иронично замечают, что главное преимущество Hack в том, что он очень похож на PHP.</p>
  <p>В действительности за практически 3 года своего существования Hack не взорвал мировое программистское сообщество, набирая популярность достаточно медленно. Тем не менее при наличии такого создателя, как Facebook, можно предположить, что лет через 5-10 Hack вполне доползёт до реального интереса разработчиков, в том числе в нашей стране.</p>
  <h2>Pixie</h2>
  <p>От языков, которые ждет безоблачное будущее, перейдём к просто перспективным и достаточно громко заявившим о себе языкам. Первым из них будет Pixie. Вы наверняка ничего не слышали об этом языке, что неудивительно ввиду практически полного отсутствия информации на русском языке. Более того, всё ещё не выпущена первая полноценная версия (вот уже 2 года на стадии альфа-тестирования), а значит момент официального запуска где-то в будущем.</p>
  <p>Что известно о Pixie на сегодняшний день:</p>
  <ul>
    <li>Разработчики характеризуют язык, как легковесный Lisp как для общего использования, так и для сценариев командной строки;</li>
    <li>Синтаксис и общие принципы заимствованы у Clojure и прочих популярных функциональных языков;</li>
    <li>На данный момент использует свою собственную виртуальную машину, не совместим с JVM, CLR или Python VM. В дальнейшем это может больно ударить по перспективам, но до официального релиза делать из этого выводы рано;</li>
  </ul>
  <p>Так как функциональные языки снова вошли в моду, а здесь вполне неплохой и свежий представитель, то возможно не лишнем будет его выучить на стадии взрослого зародыша.</p>
  <h2>Ring</h2>
  <p>Чуть больше года назад появилась первая официальная версия этого языка, в феврале он вплотную приблизился к первой сотне рейтинга TIOBE, а через несколько лет вполне может стать значимой силой в мире программирования. Ring — мультипарадигмальный язык с динамической типизацией для императивного, процедурного, объектно-ориентированного, функционального и метапрограммирования, как в связке с C/C++, так и отдельно.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/r1xbNQBQm</guid><link>https://teletype.in/@html_books/r1xbNQBQm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/r1xbNQBQm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>PHP. Урок #12. Операторы Сравнения</title><pubDate>Thu, 12 Jul 2018 18:54:47 GMT</pubDate><description><![CDATA[<img src="https://teletype.in/files/b0/b075dfc2-3280-4222-8191-6a1cff315b20.jpeg"></img>Операторы сравнения сравнивают два значения (числа или строки). Операторы сравнения используются внутри условных операторов, и вычисляются равными TRUE(ИСТИНА) или FALSE(ЛОЖЬ).]]></description><content:encoded><![CDATA[
  <h2>Операторы Сравнения</h2>
  <p>Операторы сравнения сравнивают два значения (числа или строки). Операторы сравнения используются внутри условных операторов, и вычисляются равными TRUE(ИСТИНА) или FALSE(ЛОЖЬ).</p>
  <figure class="m_custom">
    <img src="https://teletype.in/files/b0/b075dfc2-3280-4222-8191-6a1cff315b20.jpeg" width="720" />
  </figure>
  <p>Дополнительные операторы сравнения:</p>
  <figure class="m_custom">
    <img src="https://teletype.in/files/0c/0c197792-5f93-4431-bf00-62a9940ab129.jpeg" width="720" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@html_books/rJ4IDpQXm</guid><link>https://teletype.in/@html_books/rJ4IDpQXm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books</link><comments>https://teletype.in/@html_books/rJ4IDpQXm?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=html_books#comments</comments><dc:creator>html_books</dc:creator><title>PHP. Урок #11. Операторы присваивания</title><pubDate>Wed, 11 Jul 2018 18:07:07 GMT</pubDate><description><![CDATA[<img src="https://teletype.in/files/07/07d90144-6ede-43ec-9309-8d599abae72b.jpeg"></img>Операторы присваивания служат для установки значений для переменных.]]></description><content:encoded><![CDATA[
  <h2>Операторы Присваивания</h2>
  <p>Операторы присваивания служат для установки значений для переменных.</p>
  <pre>$num1 = 5;
$num2 = $num1;
</pre>
  <p>$num1 и $num2 теперь содержат значение 5. Операторы присваивания могут быть также использованы вместе с арифметическими операторами.</p>
  <figure class="m_custom">
    <img src="https://teletype.in/files/07/07d90144-6ede-43ec-9309-8d599abae72b.jpeg" width="720" />
  </figure>
  <p>Пример:</p>
  <pre>&lt;?php
 $x = 50;
 $x += 100;
 echo $x;

 // Outputs: 150
?&gt; 
</pre>

]]></content:encoded></item></channel></rss>