PHP. Урок #15. Многомерные массивы

Многомерные Массивы

Многомерные массивы содержат один, или больше массивов. Размерность массива означает число индексов, которое вам понадобится, чтобы выбрать элемент. - Для двухмерного массива, вам понадобится два индекса, чтобы выбрать элемент - Для трехмерного массива, вам понадобится три индекса, чтобы выбрать элемент


Массивы с более, чем тремя уровнями глубины, являются сложными для управления.


Давайте создадим двухмерный массив, содержащий 3 массива:

$people = array(
   'online'=>array('David', 'Amy'),
   'offline'=>array('John', 'Rob', 'Jack'),
   'away'=>array('Arthur', 'Daniel')
);

Теперь двухмерный массив $people содержит 3 массива и имеет два индекса: строку и столбец. Чтобы получить доступ к элементам массива $people, мы должны указать два индекса.

echo $people['online'][0]; //Outputs "David"

echo $people['away'][1]; //Outputs "Daniel"

Массивы в многомерных массивах могут быть как и числовыми, так и ассоциативными.

July 15, 2018
by @html_books
0
12

6 оптимальных языков для начала программирования

Как новичку выбрать язык программирования для будущей работы? Оценить уровень зарплат? Востребованность? Исходить из того, что проще выучить? Или внимательно изучить линии тренда популярности?

На самом деле, вы можете потратить уйму времени, выбирая лучший язык программирования. Но как только дело дойдет до личного знакомства, возникнет необходимость сменить фаворита. Сегодня вашему вниманию будет предложен вариант выбора, который должен прийтись по душе абсолютному большинству начинающих гиков — сочетание легкости изучения и востребованности на рынке труда. Эти два аргумента относительно просто достоверно проверить, поэтому полученный результат будет близок к объективности.

Критерии

Нам потребуется два авторитетных рейтинга. Легкость изучения будет оценена условно — в баллах её выразить невозможно, но составить некоторый список «простых» можно, пользуясь коллективными мнениями.

Расставлять по местам мы будем исходя из рейтинга востребованности. За базу возьмем ряд зарубежных статей, реальность же российскую подтвердим при помощи агрегаторов hh.ru и trud.com. Статистика, разумеется, актуальна на день написания текста, а к публикации вряд ли сильно изменится.

Что учитывать мы не будем, так это уровень зарплат и самодостаточность языка, просто из-за относительности данных критериев.

Swift

Формально, Swift, конечно еще не так востребован среди работодателей как Objective-C, и попаданием в этот рейтинг он во многом обязан общей платформе. Но игнорировать перспективу в этом рейтинге категорически невозможно. Поэтому рекомендуем начинать изучение уже сейчас.

Взглянем на цифры российских HR-агентств — 471 вакансия в России и ближнем зарубежье на hh.ru и 410 на trud.com. Очень неплохо для трехлетнего языка. Если добавите Objective-C, можете смело умножать цифры на 3.

C/C++

Называть язык C или C++ лёгкими для изучения не совсем правильно, особенно если сравнивать их с Python или Ruby. Но в данному случае стоит говорить о том огромном количестве учебной качественной литературы, о фундаментальности и том полезном остатке, что останется в вашей голове, даже если свою дальнейшую жизнь с ними вы не свяжете.

Но если всё таки языки вам понравятся, то аж 2 325 вакансий только в России на hh.ru и 12 543 на trud.com. При этом вам важно понимать, что если, в случае с языком Swift, это были вакансии исключительно разработчиков, то с C++ вам язык может понадобится не только в привычной сфере IT, но и на должности оператора ЧПУ, и автоэлектрика.

JavaScript

Мало того, что JavaScript крайне востребован в современном мире благодаря сумасшедшему развитию интернет-технологий, так ещё благодаря модулям и библиотекам его зона влияния стала распространяться во все остальные IT-сферы.

Добавьте сюда тот факт, что JavaScript относительно лёгок для изучения. Заимствовав базовые вещи из Си и постепенно развиваясь от бонусного элемента для HTML и CSS до самостоятельной силы, он получил удобоваримый синтаксис и предельно понятную для новичка логику работы.

А теперь к востребованности: 6 365 вакансий только внутри России на hh.ru и 5 565 на trud.com. Это весьма неплохие цифры для тех, кто твёрдо намерился найти работу по окончанию обучения.

Python

Когда речь идёт о совокупности аргументов лёгкость и востребованность (именно в таком порядке), большинство разработчиков в первую очередь думает о Python. Это проверенный временем и миллионами учеников язык, экономит драгоценное время как на стадии обучения, так и применения. При этом количество областей IT, где бы вам мог потребоваться Python не ограничено вообще ничем. Большое спасибо поклонникам энтузиастам и Python Software Foundation.

Важно отметить, что востребованность в специалистах Python значительно выше за границей, нежели в России. Однако и у нас найти работу большого труда не составит: 2 325 вакансий в открытом доступе по версии hh.ru и 2 537 - trud.com.

Java

Java — великолепный язык во всех отношениях. Это подтверждается и статистикой TIOBE, и самой популярной ОС в мире, и просто тем, что это достаточно простой язык с очень мощной экосистемой.

Если выразить в цифрах российской реальности, то актуальность Java составляет 4 628 пунктов по версии hh.ru и 4 490 — trud.com. Да, это не впечатляющие результаты на фоне некоторых предыдущих претендентов, но, во-первых, это обусловлено спецификой нашего IT-рынка, во-вторых тенденция к росту строго положительная, в-третьих Java всё же будет попроще C/C++.

SQL

Наверняка не такого лидера вы хотели увидеть, но формально придраться здесь не к чему. Вам очень трудно избегать использования БД в современных реалиях, а инструмента более универсального ,чем SQL пока никто не придумал. Именно этот факт и позволяет этому языку твёрдо восседать на первом месте практически во всех подобных рейтингах.

Язык отечественных цифр здесь не слишком ярко отражает реальный спрос, но в лидерстве SQL в данном рейтинге сомневаться не заставит. По факту, на hh.ru он набрал 8 303 внутренних вакансий, на trud.com 8 933.

P.S.

Глядя на опубликованный в самом начале рейтнг, у вас наверняка возникает резонный вопрос: «А где же Perl и C#?». Всё дело в том самом проецировании на российскую действительность. Например, Perl имеет результаты 581 вакансий по версии hh.ru и 577 на trud.com. Это, конечно, лучше, чем Swift, но у яблочного языка есть очевидная перспектива, а спрос на Perl в России скорее всего будет только падать.

Касательно C# здесь ситуация лучше: 906 вакансий на hh.ru и свыше 16 тысяч на trud.com. Однако вторая цифра не должна вводить вас в заблуждение: среди вакансий почти половина C/C++ разработчики со знанием C#, поэтому по совокупности и фундаментальной значимости именно первая группа языков была вынесена в заголовок, а второй скромно упомянут в конце.

July 15, 2018
by @html_books
0
13

Запускаем программы в невидимом режиме

Для того,чтобы в Windows скрытно запустить какую-нибудь программу необязательно придумывать что-то новое. Достаточно воспользоваться встроенными средствами, а точнее поддержкой скриптовых команд WSH. Например, вам необходимо заставить запуститься и работать некий файлик, да так чтобы пользователь ничего не заметил. Для этого создаем простой текстовый файл и пишем:

Код:

var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("file.exe",0);

- указывает на то, что файл необходимо запустить в невидимом режиме

Чтобы файл исполнил записанные в него функции, переименовываем его в ваше_имя.js а для запуска без вашего участия, помещаем ярлык в автозагрузку, а еще лучше в реестр по адресу:

Код:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

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

July 15, 2018
by @html_books
0
11

PHP. Урок #14. Ассоциативные Массивы

Ассоциативные Массивы

Ассоциативные массивы это массивы, которые используют именованные ключи, которые вы им присвоите. Два способа создания ассоциативных массивов:

$people = array("David"=>"27", "Amy"=>"21", "John"=>"42");
// or
$people['David'] = "27";
$people['Amy'] = "21";
$people['John'] = "42";

В первом примере обратите внимание на использование знаков => для присваивания значений к именованным ключам.


Используйте именованные ключи для доступа к членам массива.

$people = array("David"=>"27", "Amy"=>"21", "John"=>"42");

echo $people['Amy']; // Outputs 21"
July 14, 2018
by @html_books
0
12

Возможно ли уничтожить Интернет?

За тридцатилетнюю историю интернета разные правительства, диктаторы, хакеры и просто тролли неоднократно пытались уничтожить его. Как вы догадываетесь, у них ничего не вышло. Даже самые оголтелые тираны добиваются лишь частичной блокировки Сети, а хакеры в лучшем случае лишают мир доступа к какому-либо сайту на несколько часов. Проблема в том, что нам достались бездарные тираны и хакеры, или интернет действительно так трудно уничтожить?

Цель 1: Кабель

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

Изнутри Сеть состоит из данных, но уничтожить интернет, находясь внутри него, мы не сможем, поэтому вариант величайшей в истории хакерской атаки сразу отпадает. Победить всемирную сеть можно только дедовским методом — с шашкой динамита в руках и топором за плечами. Материальный аватар интернета — сотни тысяч километров кабеля, которые опоясывают Землю и сходятся в дата-центрах по всему миру. Именно на эти жизненно важные органы интернета юным ненавистникам свободного обмена информацией и стоит направить свою атаку.

В эпоху, когда Wi-Fi можно поймать даже в метро, тяжело подумать о том, что интернет работает не за счёт неведомых космических сигналов, а благодаря старому доброму кабелю, который спокойно лежит себе на дне океана. Всего этих кабелей на начало 2014 года насчитывалось 285 штук, а их общий метраж достигал 885 тысяч километров. По сравнению с 2012 годом кабелей стало почти вдвое больше.

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

Местонахождение всех кабелей находится в открытом доступе: каждый желающий может узнать, где они пролегают под водой и в каких местах выходят на сушу. На берегу кабели иногда лежат прямо на поверхности и смущают пингвинов, рыбаков и выбросившихся на берег китов.

Цель 2: Дата-центры

Даже если многотысячная банда безумных, но невероятно эффективных маньяков с топорами обрубит все подводные кабели и не будет подпускать к ним ремонтные бригады, интернет всё равно будет беззаботно существовать в пределах отдельных континентов. Вторым наиболее значительным ударом по бастиону свободы слова может стать уничтожение ключевых дата-центров, расположенных по всему миру. Для этого банду маньяков с топорами придётся заменить на банду маньяков с бомбами.

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

Дата-центры охраняют так же тщательно, как и золотовалютные резервы. Чаще всего это большие, но неприметные здания, в которых большую часть времени не горит свет: людям там делать нечего, а серверы будут перегреваться от лишнего освещения. Местоположение большинства центров доступно общественности.

Уничтожение одного или нескольких дата-центров, скорее всего, не даст значительного результата: в Осло на несколько часов может отключиться «Фейсбук», кулинарные сайты не будут подгружать картинки салатов — вот и весь апокалипсис. Для террористов это плохие новости: чтобы убить интернет, потребуется взорвать каждый из дата-центров.

Цель 3: Люди

Когда в 2012 году «Анонимусы» пригрозили обрушить весь интернет, многим экспертам и гениям Сети пришлось отвечать на панические вопросы журналистов. Когда с вопросом об уничтожении интернета обратились к одному из главных пропонентов интернета Девейну Хендриксу, он сказал «Чтобы уничтожить интернет, нужно избавиться от всех людей».

Люди — главная причина, по которой интернет не могут победить не только хакеры и террористы, но даже подводные землетрясения. Даже если гипотетическим сверхтеррористам в нашем умственном эксперименте удастся обрубить все 285 кабелей и взорвать каждый из 3 227 дата-центров, люди придут и восстановят их.

Интересное решение человеческого фактора выдвинул параноик и мизантроп со стажем Дэвид Бирн: он предлагает не просто обрубать кабель, но создавать на его месте непроходимую радиоактивную зону, мини-Чернобыль, который не позволит производить ремонтные работы. Плохие это новости для террористов или хорошие, но завершить существование интернета, похоже, сможет только всемирная ядерная война.

July 14, 2018
by @html_books
0
10

Сверхсекретное шпионское ПО пытались продать за 50 млн долларов в криптовалютах

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


Известно, что обвиняемый работал старшим программистом Группы NSO, у него был доступ к исходному коду и ресурсам компании. Мошенник пытался продать Pegasus в даркнете за 50 млн долларов в криптовалютах. Чтобы сделка не вызвала подозрений, запрашивал сумму в нескольких криптовалютах.

Пегас, помимо многочисленных функций, способен взломать Apple iPhone.

В феврале 2018 года группа NSO начала работу. Специалисты должны были подключить внешний диск к компьютерам компании таким образом, чтобы не быть обнаруженными после поиска в интернете. Преступник загрузил себе программное обеспечение, а внешний диск решил спрятать под кроватью.

Когда он попытался продать Пегаса в даркнете, один из потенциальных покупателей связался с Группой НСУ. Далее он начал сотрудничать с организацией, чтобы арестовать продавца и предъявить ему обвинения в краже материалов государственной важности и нанесению угрозы национальной безопасности.

Несмотря на то, что утечки сверхсекретных данных не произошло, израильтянина арестовали, он будет находиться под стражей на протяжении всего судебного процесса, хотя известно, что

«В компании быстро выявили нарушение, собрали доказательства, идентифицировали преступника и передали информацию в соответствующие органы. Власти, в свою очередь, отреагировали быстро и эффективно, в кратчайшие сроки сотрудник был арестован, а украденные материалы были возвращены. Никакая [интеллектуальная собственность] или материалы компании не были переданы третьим лицам, таким образом утечки информации не состоялась», — заявили в Группе NSO.
July 14, 2018
by @html_books
0
7
Show more