«Что такое интернет». Видео-курс

October 22nd, 2015 No Comments »

Если вы хотите обучиться на программиста, тестировщика или SEO-оптимизатора (это который делает search engine optimisation, то есть чтобы ваш сайт показывался на первых позициях в Google и Яндекс), то вам обязательно нужно понимать, как устроен интернет.

Например, как зарегистрировать своё доменное имя — а домены бывают бесплатные, платные и такие, которые вообще нельзя зарегистрировать простому смертному (например, whitehouse.gov). И желательно, чтобы имя домена было коротким:

Как выбрать имя для домена

Важно понимать, что интернет — это не только ценный мех веб-странички и сайты. Интернет — это ещё и электронная почта (email), и IP-телефония (тот же Skype), и торренты, и “Интернет вещей”, и т.д.

Сам интернет как объединение мировых сетей был придуман американскими военными как метод связи на случай Третьей Мировой войны — сразу после запуска первого спутника и первого человека Юрия Гагарина в космос во времена Холодной войны.

Холодная война

Вы даже сможете легко и просто понять такие сложные вещи, как протокол TCP\IP и зачем нужны IP-адреса.

Ну и на сладкое — сможете подурачить коллег и родителей, запретив им доступ к любимым вебсайтам.

Всё это — в бесплатном видео-курсе «Как устроен интернет». Записывайтесь!

Программирование для начинающих. Видео-курс.

April 28th, 2015 No Comments »

Вышел видео-курс «Программирование для начинающих». В нём вы сможете написать вашу первую программу на примере игры «Камень-ножницы-бумага».

камень-ножницы-бумага

Объяснение идёт последовательно и спокойно:

Вы открыли консоль языка программирования. Этот язык программирования называется JavaScript.
Всё в порядке, не переживайте, мы не сломали интернет.
Эта консоль ещё называется командная строка — тут вы можете писать команды на языке JavaScript, а браузер будет их исполнять.

Вот забавный трейлер к этому курсу.

Записывайтесь и учитесь программировать — это первый шаг к новой карьере.

Что такое стек и где он применяется

October 14th, 2013 No Comments »

Давайте обсудим, что такое стек, а также где он применяется.

Что такое стек

Когда я начинал знакомиться с информатикой, компьютера у меня не было, и я читал книжки. Так и наткнулся на это новое для меня слово. В книжке говорилось, что английское слово “stack” означает стопку — как правило, стопку тарелок. Поскольку это слово я прочитал, а не услышал, то было трудно понять, как именно его произносить — “стэк”, “стек” или вообще “стёк” (с тарелок же стекала вода при сушке). Логично. Только годы спустя оказалось, что правильно говорить — “стэк”.

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

Непонятно, что такое однородные элементы и структура данных? Посмотрите на рисунок.

Стопка тарелок

Здесь однороднные элементы — это, конечно, тарелки. Запихнув их в такой деревянный стек, мы можем рассматривать всю кучу тарелок как единый предмет, как единую структуру данных. Так о ней проще говорить и думать (“принеси стек, пожалуйста“), так её проще обрабатывать.

Обратите внимание, что в это специальное тарелочное устройство можно положить и вынуть тарелку только сверху. Если в стопке 4 тарелки, и вы поместили сверху пятую, то вынуть можно сначала только её. Это и есть принцип работы стека.

Очевидно, что у стека есть всего три операции: добавить тарелку (так называемая операция “push“), вытащить (“pop“) и прочитать значение верхнего элемента (посмотреть, остались тарелки или уже пусто).

Где применяется стек

Магазин с обоймой патронов — самый настоящий стек.
Магазин патронов

Когда врач на приёме говорит вам “Подождите пока что за дверью“, вы выходите, но не становитесь в в конец очереди пациентов, а становитесь как бы самым первым (“сказали подождать!“) — отодвигая назад, в толпу того, кто был уже вот-вот у заветной двери, омрачая его счастье. Поздравляю: теперь вы — вершина стека.

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

Лоток принтера с бумагой, игра “Ханойские башни” — простые примеры стека.

Ханойские башни

Более изощрённые примеры применения стека — любая рекурсивная задача (“так, старую итерацию пока отложу в стопку, а сейчас надо обрабатывать новую итерацию!“), например, перебор маршрутов исследовательского робота в пещере неизвестной конфигурации.

Самые первые калькуляторы были напрямую сделаны как стеки. Вместо “2+2” нужно было ввводить “2 2 +”. Первые два элемента (“операнды”) клались в стек, пока не будет введён плюс (“оператор”).
Калькулятор

Удачи, и следите, чтобы ваш стек не переполнялся!

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

Что такое массив

October 14th, 2010 No Comments »

Давайте разберёмся, что такое массив.

Массив (или массив данных) – это набор однородных элементов, к которым можно достучаться (обратиться) по их порядковому номеру (индексу).

Ваш список студентов в группе (ФИО) можно представить в виде массива.

У массива есть элементы, из которых он состоит.
Каждый элемент имеет индекс (свой порядковый номер. Ещё это можно рассматривать как адрес элемента в массиве) и значение.

Порядковый номер в журнале группы – это индекс. Если твоя фамилия “Аксёнов”, то в массиве учеников у тебя индекс “1” или “2” (в начале в общем).

Твоё “значение” разумеется – “Аксёнов А.Б.”

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

Значением может быть любой скаляр (число, строка, булево значение) либо другой массив. На счёт можно ли в массиве хранить объекты в качестве элементов — не скажу на счёт Си, в РНР можно.

Жильцы в подъезде — тоже массив. Индексом служит номер квартиры. Каждый элемент – другой массив, массив жильцов данной квартиры. В квартире №1 — 5 жильцов, в квартире №2 никто не живёт, в квартире №3 одинокая бабулька — получается что это можно выразить или как

  • [5, 0, 1] – одномерный массив (каждый элемент – скалярное значение)
  • или [ [1,1,1,1,1], [], [1]] – двумерный массив
  • или [ [‘мама’, ‘папа’, ‘сын’, ‘дочка’, ‘бабушка’], [], [ ‘бабушка’]] – тоже двумерный массив

Массив можно выразить в виде таблички.
Одномерный массив – это “вырожденная” табличка, состоящая из одной строчки или столбца: [1,1,2,3,5,8]
Двумерный массив – это одна обычная таблица (например, Пифагора)

[[2,2,4],
[2,3,6],
[2,4,8]]

Вот почитай ещё это — Индексный_массив


Строим веб-приложение

January 23rd, 2009 1 Comment »

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

  1. рассмотрим, как устроена веб-страница
  2. установим веб-сервер
  3. напишем свою первую страницу на языке PHP
  4. добавим немного интерактива с помощью JavaScript, а также прикрутим AJAX
  5. разберемся, как работать с базой данных
  6. сделаем страницу, доступную только тем, кто знает пароль
  7. выложим это всё куда-нибудь в интернет

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

Итак, какие идеи?