понедельник, 30 ноября 2015 г.

Предпосылки стать программистом

Предпосылки стать программистом

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

У данного явления существует целый ряд причин. Ниже приведены некоторые из них:

украинский менталитет хорошо подходит для индивидуальной творческой работы (см. “Хуторянсво победило кастовость”);
программист, как и коллектив программистов, сам является собственником орудий труда (своих знаний), рейдерский захват которых осуществить невозможно в силу их неотъемлемости;
написание программного кода не требует развитой мышечной памяти, как у хирургов или ювелиров, поэтому ему можно научиться гораздо быстрее;
дефицит программистов на глобальном рынке труда.
Стать программистом можно различными способами. В данной статье описываются пути, наиболее оптимальные для людей старше 25 лет, обладающих техническим средним профессиональным или высшим образованием, готовые изыскать полтора года для полноценного самообразования.

Подходы в изучении программирования

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

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

Если обобщить, то стандартный путь обучения IT-специальности выглядит следующим образом:

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

участвовать в подготовительных программах для представителей других специальностей, организованных компаниями, входящими в первую десятку украинской IT-индустрии (подробную информацию можно получить, обратившись непосредственно в представительства данных компаний, также см. Samsung Fresh Graduate Recruitment);
проходить альтернативные on-line-курсы для начинающих, составленные некоторыми программистами по собственной инициативе (см. www.javarush.ru);
пользоваться on-line-курсами, предлагаемыми популярными Интернет-ресурсами (см. www.intuit.ru, www.academicearth.org, www.coursera.org и т. д.);
читать книги по программированию, однако следует помнить, что издания “для чайников”, как правило, поверхностны, а полноценные учебники трудно воспринимаются даже опытными программистами, поэтому их следует просто учить близко к тексту и уметь пересказать каждую главу (см. пример списка таких книг);
читать образовательные блоги, посвященные языкам программирования (см. Блог Алены С++);
искать в Интернете вопросы с собеседований по конкретному языку программирования и находить статьи, раскрывающие каждый вопрос в отдельности (см. вопросы по С++);
участвовать в on-line-соревнованиях по написанию программного кода, что позволит эффективно решать простые задачки и технически обосновать выбранные пути решения (см. пример on-line-арены для соревнований по написанию кода);
браться за выполнение небольших заказов за минимальную цену на freelance-сайтах с целью приобретения базового опыта (см. www.freelance.ru, www.guru.com и т. д.);
в случае возникновения трудностей не стесняться задавать вопросы на программистских форумах - там менее чем за час можно получить бесплатный квалифицированный ответ на интересующий вопрос (см. www.rsdn.ru, www.stackoverflow.com и т. д.).
Многие делают ошибку, считая, что для того, чтобы стать программистом достаточно поступить в ВУЗ или записываться на коммерческие курсы. Дело в том, что украинские ВУЗы не готовят специалистов, удовлетворяющих потребностям рынка (хотя после обучения в них и нескольких лет практики действительно можно стать хорошим специалистом). А большинство платных курсов стараются быть похожими на государственные ВУЗы, чтобы их стиль преподавания был понятен родителям, которые платят за обучение своих детей. Хотя подобные курсы, в качестве дополнения ко всему вышесказанному придутся весьма кстати.

Крупные украинские IT-компании в связи с нехваткой кадров создали собственные образовательные программы, некоторые из которых бесплатные. Часть из них накладывает ограничения на возраст участников или набор допускаемых специальностей. Но в некоторых из предлагаемых программ может принять участие каждый при условии прохождения вступительного теста, который обычно состоит из заданий на логику и задач на знание основ программирования. Подобные образовательные программы могут включать прохождение курсов и стажировку в отделениях компании, при успешном завершении которой участник получает предложение о трудоустройстве. В среднем четверть от подавших заявку на участие (приславших свои анкеты) становятся полноценными работниками.

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

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

самостоятельно пройти несколько теоретических on-line-курсов по алгоритмам и структурам данных на сайте www.coursera.org (как правило, большинство не доходит до конца этого этапа в силу угасания собственной мотивации);
получить первый опыт написания программного кода и изучить определенный язык программирования с помощью коммерческих или бесплатных практических on-line-курсов (например, www.javarush.ru);
стать участником образовательных программ крупных IT-компании с последующим прохождением неоплачиваемой стажировки и трудоустройством.
Если нет возможности следовать данному пути по каким-либо причинам (например, из-за отсутствия необходимых образовательных курсов по месту жительства), то рекомендуется сначала воспользоваться несколькими on-line-тренингами, а затем участвовать в сетевых соревнованиях по программированию и одновременно заниматься freelance-разработкой, не выходя из дома. Однако данный подход гораздо более сложный и длительный.

Низкий уровень английского не является помехой в изучении программирования. Техническую документацию или переписку с заказчиками можно переводить с помощью Google Translate. В случае необходимости устного общения достаточно заучить несколько фраз приветствия и просьбу направлять все вопросы на email. К тому же в Украине во многих программистских командах общение с клиентами ведет руководитель или специальный менеджер, поэтому требования хорошего владения английским для соискателя могут быть чисто формальными.

Перспектива трудоустройства

Многие относятся скептически к идее переподготовки программистов из представителей других специальностей, потому что считают, что спрос на разработку программного обеспечения в Украине недостаточно велик. На самом деле количество сотрудников, задействованных в отрасли, растет на 20 – 30 % ежегодно и будет продолжать расти в течение следующих нескольких лет. Причины у этого явления следующие:

крупные украинские IT-компании заслужили доверие у крупных западных корпораций благодаря своей эффективной работе, поэтому каждый год у них появляются новые заказчики уровня General Electric или Shell;
мировой кризис вынуждает западные компании искать более дешевую рабочую силу, в том числе высококвалифицированную (на зарплате наших программистов они экономят миллиарды долларов в год);
большинство экспертов считают, что украинские и российские программисты выигрывают за счет качества (но не за счет объема продукции) у своих основных индусских конкурентов;
за последние несколько лет в Украине “созрело” достаточное количество специалистов, способных возглавить команды, создаваемые из новичков, поступающих в отрасль;
руководители некоторых крупных украинских компаний, разрабатывающих ПО, высказывают намерения в будущем обогнать Индию по количеству программистов, т. е. увеличить их численность в Украине в 10 раз.
Особенности изучения программирования

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

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

следует запоминать названия большинства алгоритмов или языковых конструкций, а также их синтаксис или структуру (последнее желательно, но не обязательно);
необходимо иметь понятие об их альтернативах и всех случаях использования, даже самых редких;
нужно уметь написать без обращения к справочнику (пусть даже с ошибками синтаксиса) несколько небольших примеров с применением данных конструкций;
требуется знать, как они будут вести себя при разных наборах входных данных или при очень большом потоке данных.
Возникает логичный вопрос, какой язык программирования выбрать? Рациональнее всего сначала ознакомиться с Java или C#, как с самыми оплачиваемыми и относительно несложными в обучении языками написания кода. Если не получается, тогда следует попробовать изучить Python. Данный язык предназначается для быстрой и одновременно эффективной разработки программ.

Через полтора года интенсивных занятий можно будет составить резюме, указав там базовой опыт и/или перечень написанных учебных программ, и подать заявку на стажировку либо начать проходить собеседования в компаниях, которым нужны Junior-программисты.
Опрошенные руководители команд разработчиков ПО согласились с тем, что за несколько месяцев можно стать программистом при условии усердия и выделения на обучение минимум четырех часов в день. Пусть это будет непросто, но это возможно, особенно, когда есть мотивация и вера то, что ты на правильном пути.

Как реально заработать в интернете?

Как реально заработать в интернете?

Чтобы сегодня начать зарабатывать деньги в интернете не нужно заканчивать институты или становиться программистом. Достаточно для начала иметь ПК и доступ в интернет, причём не обязательно широкополосный, вполне достаточно 3G.
К тому же, чтобы легче было стартовать новичку есть недорогие обучающие руководства, в которых достаточно подробно раскрыты все нюансы заработка.
Давайте для начала попробуем кратко разобрать самые известные и доступные способы заработка.


Создание собственных сайтов. Тематика может быть самой разной, которая вам близка. Например, особенно популярны сайты о женской красоте, об играх и кино. Для того, чтобы создать сайт нужен обычно домен и хостинг, но их покупать не обязательно, можно обойтись бесплатными и популярными конструкторами сайтов.
Можно зарабатывать и в соц сетях, ведь они давно стали неотьемлемой частью нашей жизни и получили колоссальную популярность. Если вы чувствуете себя там как рыба в воде, то сможете наверняка и создавать свои группы по интересам, а потом и размещать там рекламные коды.
Можно оказывать различные услуги, например, если хорошо знаете фотошоп, то можно зарабатывать обрабатывая фотографии, заниматься дизайном. Знатоки грамотного языка могут приносить себе доход написанием и рерайтом текста, особенно дорого оплачивается рекламный текст.


Есть ли сложности? Да, разумеется. Но они все вполне решаемы. Единственное, на что нужно обратить внимание новичку, это на конкуренцию, и не лезть в особо конкурентные тематики. Например, среди финансовых и туристических порталов большая конкуренция. Поэтому новичкам следует начинать с других, менее конкурентных тем, т. е. теже игры, мода, кулинария, кино и другие. К тому же на таких сайтах намного больше и посетителей.
Так сколько же можно зарабатывать в интернете?
В среднем один небольшой сайт легко может приносить в среднем 5-10 тысяч рублей в месяц. Соответственно, если вы со временем создадите несколько хороших сайтов, то заработок на них будет доходить до 50 тысяч. Но тут важно учесть, что придётся трудится, в интернете, как и в любой другой сфере лёгких денег не бывает.
Но и это ещё не всё. В интернете можно найти себе и достойную работу. Например, если увлечься сайтами и разобраться в основах их раскрутки, то можно стать сеошником и трудоустроиться удалённо работать в хорошей компании. Если вы разбираетесь в соц сетях, то сможете стать интернет-маркетологом, smm-щиком. Профессий новых и нужных появилось очень много, да и средняя зарплата получается достаточно высокой. Всё лишь завасит от вас самих.

Защита флешки от вирусов.

Защита флешки от вирусов.
Если вы часто пользуетесь USB накопителем — переносите файлы туда и обратно, подключаете флешку к различным компьютерам, то вероятность того, что на ней окажется вирус достаточно велика. По своему опыту ремонта компьютеров у клиентов могу сказать, что примерно каждый десятый компьютер может стать причиной того, что на флешке появился вирус.

Чаще всего, распространение вредоносной программы происходит через файл autorun.inf (Trojan.AutorunInf и другие), об одном из примеров я писал в статье Вирус на флешке — все папки стали ярлыками. Несмотря на то, что исправляется такое сравнительно легко, лучше защититься, чем потом заниматься лечением вирусов. Об этом и поговорим.

Примечание: обратите внимание, что речь в инструкции пойдет о вирусах, которые используют USB накопители как механизм распространения. Таким образом, для защиты от вирусов, которые могут находиться в программах, хранящихся на флешке, лучше всего использовать антивирус.

Способы защитить USB накопитель
Есть различные способы защитить флешку от вирусов, а заодно и сам компьютер от вредоносного кода, передающегося через USB накопителей, наиболее популярные среди которых:

Программы, которые вносят изменения на флешке, предотвращающие заражение наиболее распространенными вирусами. Чаще всего, создается файл autorun.inf, к которому запрещен доступ, таким образом, вредоносное ПО не может произвести необходимые для заражения манипуляции.
Защита флешки вручную — все процедуры, которые проделывают вышеупомянутые программы можно выполнить и вручную. Также можно, отформатировав флешку в NTFS, можно задать разрешения пользователей, например, запретить любые операции записи всем пользователям, кроме администратора компьютера. Еще одна опция — отключение автозапуска для USB через реестр или редактор локальной групповой политики.
Программы, работающие на компьютере в дополнение к штатному антивирусу и призванные защитить компьютер от вирусов, распространяющихся через флешки и другие подключаемые накопители.

В данной статье я планирую писать о первых двух пунктах.

Третий вариант, на мой взгляд, не стоит того, чтобы его применять. Любой современный антивирус проверяет, в том числе и подключаемые по USB накопители, копируемые в обоих направлениях файлы, запускаемые с флешки программы.

Дополнительные программы (при наличии хорошего антивируса) на компьютере для защиты флешек мне кажутся чем-то бесполезным или даже вредным (влияние на скорость работы ПК).
Программы для защиты флешки от вирусов

Как уже было сказано, все бесплатные программы, помогающие защитить флешку от вирусов действуют примерно одинаково, внося изменения и записывая собственные файлы autorun.inf, устанавливая права на доступ к этим файлам и предотвращая запись вредоносного кода на них (в том числе, когда вы работаете с Windows, используя аккаунт администратора). Отмечу наиболее популярные из них.
1. Bitdefender USB Immunizer
Бесплатная программа от одного из ведущих производителей антивирусов не требует установки и очень проста в использовании. Просто запустите ее, и в открывшемся окне вы увидите все подключенные USB накопители. Кликните по флешке, чтобы защитить ее.

Использование программы USB Immunizer

Скачать программу для защиты флешки BitDefender USB Immunizer можно на официальном сайте
http://labs.bitdefender.com/projects/usb-immunizer/ov..

2. Panda USB Vaccine
Еще один продукт от разработчика антивирусного программного обеспечения. В отличие от предыдущей программы, Panda USB Vaccine требует установки на компьютер и имеет расширенный набор функций, например, с использованием командной строки и параметров запуска можно настроить защиту флешки.

Установка Panda USB Vaccine

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

Защита флешки от вирусов в Panda USB Vaccine

Для того, чтобы установить защиту, в главном окне программы выберите USB устройство и нажмите кнопку «Vaccinate USB», для отключения функций автозапуска в операционной системе воспользуйтесь кнопкой «Vaccinate Computer».

Скачать программу можно со страницы http://research.pandasecurity.com/Panda-USB-and-AutoR..

3.Ninja Pendisk
Защита USB в программе Ninja PenDisk

Программа Ninja Pendisk не требует установки на компьютер (однако, может быть, что вы захотите самостоятельно добавить ее в автозагрузку) и работает следующим образом:

Определяет, что к компьютеру подключили USB накопитель
Выполняет проверку на вирусы и, если находит их, удаляет
Проверяет наличие защиты от вирусов
При необходимости вносит изменения, записывая собственный Autorun.inf

При этом, несмотря на простоту использования, Ninja PenDisk не спрашивает вас, хотите ли вы защитить тот или иной накопитель, то есть, если программа запущена, она автоматически защищает все подключаемые флешки (а это не всегда хорошо).

Официальный сайт программы: http://www.ninjapendisk.com/

Защита флешки вручную.
Все, что нужно для предотвращения заражения флешки вирусами можно проделать и вручную без использования дополнительных программ.
1. Предотвращение записи Autorun.inf вирусами на USB
Для того, чтобы защитить накопитель от вирусов, распространяющихся с помощью файла autorun.inf, мы можем самостоятельно создать такой файл и запретить его изменение и перезапись.

Запустите командную строку от имени Администратора, для этого в Windows 8 можно нажать клавиши Win + X и выбрать пункт меню Командная строка (администратор), а в Windows 7 — зайти во «Все программы» — «Стандартные», кликнуть правой кнопкой по ярлыку «Командная строка» и выбрать соответствующий пункт. В примере ниже E: — это буква флешки.
В командной строке введите последовательно следующие команды:
md e:\autorun.inf
attrib +s +h +r e:\autorun.inf
Готово, вы поделали те же действия, что выполняют программы, описанные выше.

Установка прав на запись.
Еще один надежный, но не всегда удобный вариант защитить флешку от вирусов — запретить запись на нее для всех, кроме конкретного пользователя. При этом, данная защита будет работать не только на том компьютере, где это делалось, но и на других ПК с Windows. А неудобно это может быть по той причине, что если вам потребуется записать что-то с чужого компьютера к себе на USB, это может вызвать проблемы, так как вы будете получать сообщения «Отказано в доступе».

Проделать это можно следующим образом:
1. Флешка должна быть в файловой системе NTFS. В проводнике кликните по нужному накопителю правой кнопкой мыши, выберите пункт «Свойства» и перейдите к вкладке «Безопасность». Параметры безопасности USB накопителя
Нажмите кнопку «Изменить».
В появившемся окне вы можете задать разрешения для всех пользователей (например, запретить запись) или указать конкретных пользователей (нажмите «Добавить»), которым разрешено что-то менять на флешке. Установка разрешений для USB
По завершении, нажмите Ок для применения изменений.

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

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

Фото:
1. BitDefender USB Immunizer
2. Panda USB Vaccine
3. Ninja Pendisk
4. Предотвращение записи Autorun.inf вирусами на USB
5-6. Установка прав на запись

Как работать с редактором Notepad++. 10 советов по использованию программы.

Как работать с редактором Notepad++. 10 советов по использованию программы.

Notepad++ представляет собой open-source текстовый редактор для Windows. Мне приходится работать с различными технологиями, и нет возможности установить сразу все редакторы (вроде Dreamweaver, Visual studio и так далее). Поэтому я использую Notepad++ в качестве своего стандартного текстового редактора. Он простой и быстрый.
Video: https://www.youtube.com/watch?v=PuTOOrRYTZA
Давайте я поделюсь с вами некоторыми рекомендациями, которые помогут веб-разработчикам и дизайнерам работать более продуктивно:
1. Выделение блоков:

Как и в VS 2010, Box Selection (или выделение колонок, блоков или прямоугольников) есть и в Notepad++. Вам нужно зажать клавишу Alt, выполняя выделение. Также есть возможность выделить блок горизонтально. Фото №1

2. Режим расширенного поиска:

В основном, он нужен для преобразования символа новой строки/вкладки. Предположим, вам нужно убрать символ новой строки:
Нажмите Ctrl+H, выберите ‘Extended Search Mode’. Используйте \n, чтобы найти то, что нужно заменить блоком текста. Нажмите Replace All (заменить все), чтобы убрать символ новой строки.

3. Вертикальный просмотр вкладок:

Предположим, вам нужно просмотреть два файла, и вручную сравнить их друг с другом. Вы можете открыть вкладки в режиме вертикального просмотра. Для этого кликните по tab > “Move to Other View (переключиться на другой режим)”. Для переключения режимов просмотра можно использовать клавишу F8. Фото №2

4. Minify JS:

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

Edit > Blank Operations > Trim Header and Trailing Space
Edit > Blank Operations > Remove Unnecessary Blank and EOL

5. Удаление номеров строк или первого слова:

В основном, когда мы копируем код с сайта, и вставляем его, у нас отображаются номера строк или специальные символы, которые нам нужно исключить. В notepad++ это можно сделать без труда.

TextFX > TextFX Tools > Delete Line Numbers or First word

6. Добавьте номера строк:

Вы можете добавить номера строк через меню Edit > Column Editor > Number to Insert > Set Initial Number and Increase By >OK.
Вы также можете добавить любой текст.

7. Автоматическое закрытие HTML/XML-тэгов:

Если вы работаете с HTML или XML-файлами, редактор автоматически закрывает за вами каждый HTML-тег.

TextFX > TextFX Settings>Autoclose XML/HTML tags

8. HTML-кодировка:

Будучи блогером, мне часто приходится публиковать исходники HTML-кода. Мне нужно кодировать html перед публикацией, и Notepad++ позволяет сделать это без труда.

TextFX > TextFX Convert > Encode HTML

9. Быстрое генерирование динамических контроллеров:

Предположим, вам нужно, чтобы html-контроллеры создавались динамическим образом. Для этого, сначала создайте статичный HTML-шаблон. Выберите нужный язык и TextFX > TextFX Convert > Convert Text to Code Command. Эта функция позаботится о цитатах и переносах строки.

10. Настройка HTML Tidy:

Предположим, что у вас есть только контента тела HTML, и вам нужно создать правильный HTML-файл. В этом случае вам на помощь приходит HTML Tidy.

TextFX > TextFX HTML Tidy > Tidy (наиболее часто встречается HTMLTIDY.CFG)

11. Запуск в браузере:

Вы можете тестировать ваш HTML-файл прямо в браузере, нажав RUN и выбрав пункт Launch in Browser.

12. Выравнивание линий

Это, пожалуй, моя любимая функция. Вы можете выровнять несколько строк функцией ,(comma), = (equal sign). Это очень удобно и полезно при выделении блоков. Фото №3

TextFX > TextFX Edit > line up multiple lines by …

13. Остальное:

Удаление пустых строк:

TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
Изменение регистра:
TextFX > TextFX Characters > выбираете нужный регистр.

Большинство встроенных функций можно выполнить при помощи режима расширенного поиска. Если у вас есть еще какие-либо советы, то не стесняйтесь, пишите в комментариях.

Наслаждайтесь Notepad++ ;)
Фото № 4 Notepad++

Как удалённо подключиться к FTP-серверу.

Как удалённо подключиться к FTP-серверу.

Для доступа к FTP-серверу вы можете использовать либо FTP-клиент, либо браузер, либо даже проводник. Конечно же, предпочтительнее использовать FTP-клиент. Мы рекомендуем бесплатную программу FileZilla client. Скачать его вы сможете на официальном сайте: https://filezilla-project.org/download.php?type=client

В поле Хост введите либо имя хоста (доменное имя), либо внешний IP-адрес роутера. Затем, введите имя пользователя, созданное вами в программе FileZilla Server на компьютере, соответствующий ему пароль и нажмите кнопку Быстрое соединение:

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

Создаем Web Server!

Создаем Web Server!

Для людей, которые впервые с этим сталкиваются, проведем небольшой ликбез:

1. Web Сервер, Http Сервер — это набор программ и модулей, которые позволяют просматривать html-страницы, запускать cgi-скрипты, скачивать файлы с сервера через протокол Http..

Суть происходящего следующая: ваш браузер (IE, FF, Opera, Chrome, Safari или др.) послылает Http запрос серверу, сервер его обрабатывает и дает ответ, браузер принимает ответ, обрабатывает и выдает на экран..

Честно говоря, Web более широкое понятие чем Http, и включает также протоколы для работы с почтой SMTP, IMAP, POP3, работы с файловыми серверами FTP, с защищенной передачи данных SSL, защищенного доступа к системе SSH и многие другие..

2. Host, хост — термин неоднозначный, но часто под ним понимается то место, где размещаются, хранятся сайты или просто файлы.. веб-сервер подразумевает обработку данных и доступ к ним, а хост — хранение и размещение..

3. Domain, домен — символьное имя сайта, состоящее из нескольких (разделенных точкой) уровней, например: darkslave.net — доменное имя 2-го уровня, darkslave — 2-ой уровень, net — 1-ый уровень.. Каждый следующий уровень доменного имени вложен в предыдущий, за эту вложенность имен отвечают специальные DNS сервисы..

Например, введя good.darkslave.net, браузер пошлет запрос DNS сервису web-сервера, на котором хостится darkslave.net: существует ли поддомен good.. если такой поддомен существует, сервис ответит как к нему обратится..

Каждому домену в соответствие приводится ip-адрес хоста, к которому привязан этот домен.. ip-адрес определяет лишь хост, но не сам домен (сайт), т.к. на одном хосте может находиться несколько доменов (сайтов)..

Итак, переходим непосредственно к установке веб-сервера..

1. Скачиваем джентельментский набор Denwer, который представляет из себя универсальную сборку из Apache и его расширений, PHP со всевозможными модулями, Perl, MySQL и нескольких утилит..

2. Устанавливаем денвер: указываем директорию для установки, указываем метод создания виртуального диска (по запуску системы или по требованию)..

3. Создаем новый виртуальный хост: открываем файл настроек /usr/local/apache/conf/httpd.conf (путь указан от корня созданного вирт.диска) и прописываем следующие настройки

Listen ВАШ-IP:80
NameVirtualHost ВАШ-IP:80
<VirtualHost ВАШ-IP:80>
DocumentRoot "Z:/home/localhost/www"
</VirtualHost>

где ВАШ-IP — это ip-адрес вашей сетевой карты, Z:/ — буква создаваемого виртуального диска (по умолчанию она Z:/, но может и отличаться)..

4. Теперь запускаем Apache и проверяем в браузере доступ к нашему хосту, прописав в строке адреса путь http://ВАШ-IP/.. если у вас установлен фаервол, то нужно создать правило, разрешающее входящие и исходящие интернет-соединения для приложения /usr/local/apache/bin/httpd.exe..

Вроде бы веб-сервер создан, что еще?

1. Если выход в интернет у вас осуществляется через роутер, то следует определить port forwarding, т.е. пересылку Tcp пакетов с 80 порта роутера на 80 порт вашего компьютера, т.е.

IP-роутера:80 —> ВАШ-IP:80

в таком случае из внешней сети ваш хост будет доступен через http://IP-роутера/.

* Для роутеров DLink форвардинг назначается во вкладке Advanced панели администрирования роутера, где указываем публичный порт 80, приватный порт тоже 80, и указываем ip-адрес нашего компьютера..

2. Если ваш провайдер динамически назначает ip-адреса, а хочется, чтобы был постоянный доступ к веб-серверу, то есть несколько решений:

а) купить у провайдера постоянный ip-адрес, ваш веб-сервер в таком случае будет доступен только через ip-адрес;

б) купить постоянный ip-адрес, зарегистрировать домен и привязать его к своему ip-адресу, тогда ваш веб-сервер будет доступен как через доменное имя, так и непосредственно через ip-адрес;

в) зарегистрировать домен в одном из динамических DNS сервисах, например: dyndns.org, no-ip.com, opendns.com, dlinkddns.com), где в настройках указать свой ip-адрес.. после этого ваш веб-сервер будет доступен через зарегистрированное доменное имя..

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

* Для роутеров DLink DDNS назначается во вкладке Maintenance » DDNS Settings панели администрирования роутера, где в соответствующих полях указываем доступ к сервису..

Скачиваем джентельментский набор Denwer:
http://www.denwer.ru/

Создание сайта за пару минут.


Создание сайта за пару минут.

Много в интернете вопросов (как создать сайт?) можно написать самому но это долго и мучительно.
(написание шаблона, покупка сервера, покупка домена, выгрузка сайта, защита сайта)

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

Есть очень простой способ это сделать.
1. Если вам нужен сайт лично для себя или как блог, форум заходите сюда http://www.ucoz.ru/register
1.1 Там все понятно все по инструкции.

2. Если вам нужен сайт для бизнеса заходите сюда https://ukit.com/ru/?utm_source=ucozmain&utm_medi..
2.1 Там все понятно по инструкции.

3. Если вам нужен интернет магазин заходите сюда http://www.ucoz.ru/register?pguid=4044853609
3.1 Там все понятно по инструкции.

Основное сделано

Выберите адрес сайта, дизайн, загрузите свою информацию (файлы, фото, видео, музыку)

Киньте ссылку друзьям и набирайте посетителей на свой сайт!

Как с ноутбука подключенного через Wi-Fi раздать интернет по сетевому кабелю?

Как с ноутбука подключенного через Wi-Fi раздать интернет по сетевому кабелю? Настраиваем сетевой мост

Привет друзья! Сегодня мне понадобилось подключить обычный стационарный компьютер к интернету, для того, что бы обновить на нем антивирус. Wi-Fi на нем нет, а подключить сетевым кабелем непосредственно к роутеру очень сложно, просто роутер установлен не в очень удобном месте. А у меня ноутбук подключен к интернету по Wi-Fi и я решил попробовать подключить стационарный компьютер к ноутбуку по сетевому кабелю и с помощью сетевого моста раздать интернет на компьютер через ноутбук.
Как-то запутано все :). Но сейчас все станет ясно. Я подумал, что возможно не только у меня может возникнуть такая ситуация и мой совет может быть полезным кому-то еще.
Значит на ноутбуке у меня был интернет, который я получал по Wi-Fi. Задача была такой: соединить стационарный компьютер с ноутбуком по сетевому кабелю и сделать так, что бы на компьютере и на ноутбуке был доступ в интернет, а не просто сеть.

Настройка сетевого моста

На ноутбуке интернет есть. Соединяем компьютер с ноутбуком с помощью сетевого кабеля (как обжать сетевой кабель смотрите в статье Как правильно обжимать сетевой кабель RJ-45). На компьютере статус интернет подключения будет сеть без доступа к интернету. Нам нужно сделать так, что бы появился доступ к интернету.
Для этого заходим в Панель управления — Сеть и Интернет — Центр управления сетями и общим доступом (или нажмите правой кнопкой на статус интернет соединения в трее и выберите «Центр управления сетями и общим доступом»). Затем справа выберите «Изменение параметров адаптера».
Изменение параметров адаптера
Зажмите клавишу Ctrl и выделите два соединения. У меня это Беспроводное сетевое соединение (через которое ноутбук подключен к интернету) и Подключение по локальной сети (по этому соединению подключен компьютер к ноутбуку по кабелю).
Выделяем эти два подключения и на одно из них нажимаем правой кнопкой мыши. Выбираем «Настройка моста».
Настройка моста
Немного ждем, пока создадутся настройки моста и у нас появиться новое подключение «Сетевой мост». А два подключения, беспроводное и подключение по локальной сети должны получить статус «Подключено, Связано».
Интернет на компьютер по сетевому кабелю от ноутбука
Если во время создания Сетевого моста, появиться сообщение, что невозможно продолжить, потому-что одно из подключений настроено на  общий доступ к интернету, то сделайте так:
Нажмите правой кнопкой мыши на одно из двух подключений и выберите «Свойства». Затем перейдите на вкладку «Доступ» и посмотрит, что бы не было галочки возле «Разрешить другим пользователям сети использовать подключение к Интернету…» Если эта галочка установлена, то уберите ее. Так же проверьте другое соединение.
На компьютере, который подключен к ноутбуку по сетевому кабелю должен появится интернет, по крайней мере, у меня все заработало. Я обновил на компьютере антивирус и Сетевой мост мне стал ненужен. Если Вы так же захотите удалить Сетевой мост, то просто нажмите на него правой кнопкой мыши и выберите «Удалить».
Удаляем сетевой мост
Если во время настройки и подключения, возникнут проблемы, то попробуйте отключить антивирус. Очень часто они блокируют всякого рода соединения. 
Это все, что я хотел рассказать Вам в этой статье. Возможно Вам пригодиться мой совет.

iRoot поможет получить root-права на Android без потери гарантии

iRoot поможет получить root-права на Android без потери гарантии

iRoot поможет получить root-права на Android-устройствах без потери гарантии iRoot позволяет легко и просто получить права суперпользователя на широком спектре устройств под управлением Android начиная с версии 2.2 и до версии 4.4. Программа также способна преодолевать встроенную защиту некоторых производителей, например широко известный Knox от компании Samsung.
Внимание!
Получение прав суперпользователя смартфона или планшета является потенциально опасной операцией. Редакция и автор не несут ответственности за возможные последствия. Перед тем как приступить к выполнению описанных ниже действий, сделайте резервные копии важных данных.
Итак, чтобы получить root-права, вам понадобятся собственно программа iRoot, которую можно скачать здесь, а также драйвера для подключения гаджета к компьютеру. Их обычно можно отыскать на сайте производителя. Убедитесь также, что в настройках устройства активирована возможность установки приложений из сторонних источников и режим USB-отладки в разделе опций для разработчиков.
Далее необходимо выполнить следующие действия.
  1. Если у вас устройство фирмы Samsung c защитой Knox, то нужно зайти в «Настройки» → «Общие» → «Безопасность» и отключить опцию «Блокировка активации».
  2. Установите и запустите iRoot на компьютере.
  3. iRoot поможет получить root-права
  4. Подсоедините своё устройство к компьютеру с помощью USB-кабеля.
  5. Нажмите на кнопку Connect. iRoot распознает ваш смартфон, и в том случае, если он имеется в базе программы, появится кнопка Root, на которую и следует нажать.
  6. Мобильный гаджет может перезагрузиться. Не отключайте его от компьютера и дождитесь полного окончания процесса.
После успешного получения прав суперпользователя вам придётся установить специальную программу для управления ими. В комплекте iRoot имеется необходимая утилита, но она на китайском языке, так что пользоваться ей неудобно. Поэтому лучше заменить её на бесплатную SuperSU, которая доступна для загрузки в каталоге Google Play.
Скачать @Google Play
Разработчик: Chainfire
Цена: Бесплатно

Если вы всё сделали правильно, то получите устройство без всяких модификаций стокового ядра, что должно снять все опасения по поводу потери гарантии. Удалить изменения можно с помощью этой же программы, выполнив описанные выше действия в обратном порядке.
А вы получали права суперпользователя на своём устройстве? Или не считаете это необходимым?

Выбор операционной системы для программирования

Если вы задумались о выборе ОС для программирования, то это хороший признак.

Программирование: Выбор операционной системы для программирования

Чтобы правильно выбрать ОС и язык программирования, нужно исходить из задач, которые вы хотите или планируете решать.


Mac OS vs Linux vs Windows?

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

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

Целью и задачами может быть написание самой маленькой программы, создание красочных эффектов в игре, разработка серверных скриптов, разработка десктопных программ, выполнение коммерческих заказов, программирование роботов, разработка кроссплатформенных программ.

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

Понятное дело, что в совершенстве все инструменты знать сложно и порой невозможно. Но для большинства задач достаточно базовых знаний других инструментов. И для решения определённой задачи вы всегда сможете добрать необходимые для Вас знания.

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

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

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

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

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

Поэтому, когда вы находитесь в начале пути, лучше выбирать мейнстрим.

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

Конкурентное преимущество для программиста.
Если вы изучаете только что-то одно, как и все остальные, то на рынке труда складывается картина, когда слишком много специалистов или предложений одинакового уровня. Так как все исполнители знают одно и то же и умеют решать идентичные задачи. При большой конкуренции ценность на то, что вы знаете и умеете падает. Коммерческие структуры пользуются этим, снижают зарплаты, снижают стоимость проектов или часто меняют кадры. Выжимают все соки и берут следующего кандидата по низкой стоимости для решения того же круга задач.

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

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

Конкурентным преимуществом может быть знание нескольких операционных систем, умение администрировать сервер, опыт написания кроссплатформенных программ. Или знания других областей, таких как химия, физика, экономика, математика и т.д.

Как выбрать операционную систему или язык программирования?
Для ответа на данный вопрос выберем только один вариант для рассмотрения. Вы хотите стать профессиональным программистом, зарабатывающим на «хлеб» программистским трудом. И вы хотите всю свою жизнь посвятить IT, программированию.

Так как у нас во главе цели стоит финансовая составляющая, необходимо составить список компаний 10-20 штук, в которых вы хотите работать. Если вы не знаете точно, в каких компаниях вы хотите работать, или нет такого яркого желания работать именно в Yandex, Ubuntu, Google, Microsoft, Informatikum, банки и т. д., тогда вы можете открыть ресурсы по поиску работы и найти 10-20 компаний, устраивающих вас по вашим критериям (основной — это зарплата).

По найденному списку компаний смотрим вакансии программистов, в которых описаны все необходимые требования к кандидатам.

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

Эта таблица или список, будет ответом на ваш вопрос. Вы наглядно увидите, что хотят коммерческие компании от кандидатов.

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

Но не будем забывать про спрос на рынке труда и про ваши преимущества среди других кандидатов.

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

  1. Выбор ОС для web-программирования.
    Веб-программирование как минимум делится на фронтэнд (frontend — внешняя часть программы, с которой работает пользователь напрямую, интерфейс) и бэкэнд (backend — внутренняя часть программы, серверная).

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

    Для разработки серверной части лучше всего использовать ОС Linux, так как большинство компаний выбирают для своих серверов в качестве основной ОС именно Linux. Можно, конечно, использовать и Mac OS с Windows. Для написания сложной программы необходимо знать некоторые тонкости ОС, на которой она будет выполняться. И если вы работаете ежедневно с Linux, вы обязательно будете каждый день по чуть-чуть узнавать новые тонкости для решения сложных задач. Если вы, например, разрабатываете под Mac OS, а программа будет выполняться на Linux, то в некоторых случаях вы будете испытывать дискомфорт.

    Самый большой плюс по сравнению с фронтэнд в том, что нет необходимости тестировать программу на разных ОС. Если вы, конечно, не кроссплатформенную программу пишите.

    Есть ряд компаний, которые выбирают в качестве серверной ОС Windows. Соответственно, если вы хотите работать в подобной компании и участвовать в разработках ПО, которыми она занимается, вам необходимо разбираться не только в десктопной версии Windows, но и в серверной.

  2. Выбор ОС для программирования игр.
    В первую очередь в направлении разработки игр играет не сама ОС. Важную роль выбора составляют — компания, в которой вы будете работать, создание 2д, 3д или браузерной игры, будете вы вести разработку фронтэнд или бекэнд.

    Как вы понимаете, в данном случае могут быть различные вариации в ОС.

    Предположим, что вы хотите работать в американской корпорации компании-разработчике компьютерных игр Valve software. Valve разрабатывает игры для PC, консоли, спонсирует веб-игры. Разработала Steam, который есть на всех ОС. При этом Valve выпускает свою Steam ОС, базирующейся на Linux, и свою Steam Консоль. Поэтому в этой компании можно работать в совершенно разных направлениях.

    Здесь уже многое зависит от ваших вкусовых предпочтений, от того, что вам больше по душе. Но при этом обратите внимание, что корпорация Valve выбрала в качестве движка для своей ОС именно Linux. Linux даёт Valve преимущества перед другими ОС.

  3. Выбор ОС для программирования роботов, написание серверных скриптов, веб-программирования, изучения программирования в школе.
    Ubuntu + Python + Си, таким будет короткий ответ на выбор ОС для программирования. Основным критерием, повлиявшим на выбор именно такой комбинации, стало программирование микроконтроллеров (роботов) и изучение программирования в школе.
    В основном микроконтроллеры можно программировать на Си. Есть готовые платы, которые позволяют программировать на Python. При этом Python отлично подходит в качестве первого языка программирования для школьников и для веб-программирования.

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



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

Первый метод: (online)

1. Зайти на сайт [vse10.ru]
2. Зарегистрироваться [vse10.ru/register] или Войти [vse10.ru/login]
3. Начать обучение
4. Обучение английской раскладке (online) [ratatype.com]

Второй метод: (ofline)(online)

1. Зайти на сайт [ergosolo.ru]
2. Выбрать нужный пункт
3. Или зайти на [ergosolo.ru/download]
4. Выбрать любую версию программы. Скачать
5. Установить/запустить/начать обучение
(Внимание: Программа платная) 40 заданий free, 100 pro
6. Заниматься (online) на сайте [nabiraem.ru]