• Домашняя локальная сеть спланирована правильно?

    kostya-frank
    @kostya-frank
    Системный администратор
    Да все по сути правильно. Только я бы делал розеток с запасом, а свитч перенес к роутеру, либо брал роутер с большим количеством портов.
    Ответ написан
    3 комментария
  • Почему полиморфизм так работает?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Объяснить суть полиморфизма "на пальцах" довольно просто. Представьте себе класс Телефон. Его спроектировал некто в далеких 80-х, и определил в нем метод набратьНомер(). А потом другой программист в 90-х отнаследовал от него класс МобильныйТелефон и перекрыл метод набратьНомер(), т.к. грубо говоря, в новом устройстве набор производится уже не импульсно, а тонально. А потом третий программист отнаследовал от него класс Смартфон. При этом он не стал трогать метод набратьНомер(), а просто добавил методы для нового функционала, типа определитьПоложениеПоGPS() и т.д.

    Теперь представьте себе пользователя. Он родом из 80-х и понятия не имеет о тональном наборе и GPS... но если ему в руки дать любое из этих устройств, он сможет набрать номер и сделать звонок. Почему? Потому, что он умеет использовать метод набратьНомер(), и большего ему знать не нужно.

    А теперь представьте другого пользователя, нашего современника. Он вырос в эпоху смартфонов... но если ему в руки дать старый телефонный аппарат, он тоже сможет сделать звонок, т.к., опять же, знает метод набратьНомер().

    Применительно к ООП, пользователь - это переменная, содержащая ссылку на экземпляр класса. Ее тип (как она была объявлена) - это "набор знаний" о возможностях этого экземпляра. И т.к. Смартфон в своей основе является Телефон-ом, мы вполне можем дать его в руки гипотетическому пользователю из 80-х:
    Телефон устройство = new Смартфон();
    в результате чего он сможет сделать звонок:
    устройство.набратьНомер("03");
    А вот определить свое местоположение он не сможет, пока не узнает о существовании соотв. метода:
    Смартфон усовершенствованноеУстройство = (Смартфон)устройство;

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

    P.S. Кстати, в этом примере мы затронули не только полиморфизм, но и наследование, и инкапсуляцию (пользователя "снаружи" совершенно не интересует, как именно производится набор номера - тонально, импульсно или еще как-то иначе)... так сказать, все три кита ООП в одном флаконе. И только так вообще имеет смысл рассматривать эти принципы, т.к. они по сути неотделимы друг от друга, как Отец, Сын и Святой Дух в Христианстве или же длина, ширина и высота в трехмерном пространстве :) Если это понять, ООП становится совершенно простой и естественной парадигмой программирования.
    Ответ написан
    8 комментариев
  • Как правильно натянуть несколько разных HTML лендингов с разными стилями на один wordpress?

    llgruff
    @llgruff
    Scala
    За 1 час =)
    1. Устанавливаете последний wordpress и к нему любую стандартную тему, например официальную Twenty Fifteen. [3 min]
    2. Создаёте дочернюю тему. [1 min]
    3. Льёте лендинги в папку дочерней темы. [3 min]
    4. Из Index.html каждого лендинга создаёте новый шаблон для wp и переименовываете его, например, в template-landing-№.php [5 min]
    5. Устанавливаете и настраиваете CF7. [5-15 min]
    6. Пьёте чаёк. [30 min]
    7. Profffiiiit!!!
    Ответ написан
    Комментировать
  • На чём писать программу для работы с таблицами Excel?

    timych
    @timych
    Задание странное. Но иногда действительно нужно обрабатывать такие документы не в редакторах.
    Вот набор библиотек , который вам нужен если будете реализовывать на Java
    mvnrepository.com/artifact/org.apache.poi
    https://poi.apache.org/spreadsheet/examples.html
    Ответ написан
    Комментировать
  • С чего начать изучение Java?

    Начать нужно с поиска таких же тупых вопросов в интернете.
    Ответ написан
    Комментировать
  • Как узнать индексы повторяющихся элементов в массиве?

    agent10
    @agent10
    Software Engineer
    Напишите сначала, что вы пробовали уже делать? Приведите код..
    Ответ написан
    Комментировать
  • С чего начать карьеру ИТ?

    Мне 30 лет. Начал свою карьеру в ИТ в 27.
    У меня ИТшное высшее образование, но жизнь сложилась так, что во время учебы нашел работу не по специальности, которая сразу начала приносить неплохой доход (производство рекламы: наружка, полиграфия). В один "прекрасный" день, спустя 10 лет работы, я понял, что достигнут потолок и мне совершенно не интересно дальше развиваться в этом направлении. Тогда то я и начал искать чем заняться.
    Я прекрасно понимаю страхи и мысли, которые крутятся в голове у человека уже с семьей.
    "А не поздно ли?", "А с чего начать?", "А как на меня будут смотреть другие люди/друзья/коллеги?", "А на какой доход и через сколько времени можно рассчитывать?", "А откуда взять время на жену/детей и учебу?" и еще куча других...
    В 16-22 все эти вопросы совершенно не волнуют - ты еще юн, свободен от обязательств и в какой-то мере финансово не обременен...

    Немного порассуждаем :)

    Отвечу на самые-самые вопросы:
    А не поздно ли?
    Нет. Никогда не поздно! Звучит банально, но это работает.
    Нужно срочно забыть сколько тебе лет и оперировать только понятием жизненный опыт. А его к 30 уже порядком. Мозги еще не "заржавели", тело еще не барахлит.
    НО нужно сразу условится - любая сфера ИТ требует ПОСТОЯННОГО самосовершенствования и изучение нового материала. ЛЮБАЯ.

    Чем заняться-то?
    Я для начала для себя определил две области ИТ в которых возможен быстрый прогресс за короткий срок и достаточно быстрое трудоустройство. 1С-программирование и веб-программирование.
    Они были выбранные после тщательного анализа локального рынка труда + низкий порог входа + возможность быстрого прогресса. Долго сомневался, читал форумы и статьи, что бы выбрать окончательно, но в итоге победило направление веб-программирования. Решающим стали два критерия: возможность удаленной работы на зарубежных биржах и отсутствие привязки к конкретной узкой технологии. В финансовом плане 1Сники на начальном этапе получаю больше, но со временем Веб вырывается вперед.
    Многие написали выше, что надо учить основы основ. Разложить всю теорию по полочкам. Понять принципы ООП и паттерны проектирования. Это правильно, НО... время+семья+деньги накладывают некоторые свои ограничения. Как мне кажется главная цель - это смена сферы деятельности, т.е. добиться результата. Да, по началу будут жуткие "решения" и "ужасный вырвиглазный лапшевидный говнокод", НО плох тот программист, который не продолжает свое обучение ПОСТОЯННО. Но учиться уже на работе под руководством более опытных товарищей НАМНОГО проще.

    А с чего начать это ваше "веб-программирование"?
    Сразу оговоримся, что есть принципиально два разных направления: "фронт-энд" и "бэк-энд". "Фронт-энд" проще и дружелюбнее для совсем начинающих. Его изучение позволит быстрее прийти к выполнениюглавной цели. Поэтому дальше я буду рассматривать именно это направление.
    Да-да, конечно, потом можно и "бэк-энд" изучить и даже полностью перейти на него. Можно совмещать, обв.
    И еще одно отступление: уровень английского Pre-Intermediate. Это само собой разумеющееся. В любом случае придется читать, слушать и понимать.
    Итак по теме вопроса.
    Рекомендую начинать с: htmlacademy.ru - пожалуй лучший русский ресурс для новичков. Интерактивные задания с самых азов. Все основные курсы бесплатные. Платная подписка открывает доступ к продвинутым курсам - рекомендую покупать эту подписку уже после прохождения всех базовых курсов. Есть два платных месячных "интенсива" - весьма неплохие и стоят своих денег.

    Остальные ресурсы рекомендую проходить параллельно с HTML-академией, начинать где-то после 7 курса:
    www.codecademy.com - на английском. Помимо курса по HTML&CSS можно попробовать JavaScript и jQuery + неплохие ознакомительные курсы по "бэк-энду"
    https://dash.generalassemb.ly - на английском. Интересны тем, что имитируют выполнение реального заказа на фрилансе.
    Есть еще куча ресурсов и курсов, но для начала этого вполне хватит.
    В любом случае придется изучить JavaScript. В этом деле поможет уже упоминаемый выше www.codecademy.com + learn.javascript.ru

    И главное - больше практики. Применяйте свои знания.
    Верстайте псдшники хотя бы ради практики и портфолио. Прикручивайте к ним что-нибудь простенькое на jQuery.

    А откуда взять время на жену/детей и учебу? Как совмещать-то все еще же работа есть...
    Если уделять учебе хотя бы 1 час в день, то можно вполне все успевать.
    Я учился так:
    - на работе была возможность почитать и поделать небольшие занятия в течение дня ( в сумме полчаса)
    - еще часик уже ночью, когда все спят дома.
    - в выходные вставал пораньше и в субботу за два часа пока все спят повторял все сделанное за неделю, а в воскресенье подбивал итоги и планировал следующую неделю.
    Придется пожертвовать сериальчиками и какими-нибудь излишествами нехорошими - всегда есть что-то. Все время дисциплинировать себя первое время. Можно вести блог или поставить цель на смартпрогресе. Главное регулярно заниматься. даже 15 минут в день - это уже большой плюс.
    Еще очень важно, что бы домашние знали к чему вы стремитесь и чем заняты.

    А на какой доход и через сколько времени можно рассчитывать?
    Тут все ОЧЕНЬ индивидуально. Все зависит от усердия и желания.
    Можно грубо прикинуть "скоростное прохождение этого квеста":
    1) материальные вложения: 30-32 т.р. два интенсива(базовый и продвинутый) и помесячная платная подписка на htmlacademy.
    2) временные вложения: 5-7 месяцев на курсы и интенсивы от htmlacademy + 2-3 месяца на основы JavaScript и jQuery

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

    А не будет ли мне сложно "работать" в молодом коллективе?
    Возможно первое время будут какие-то сложности, но как мне кажется в любом случае ценятся базовые человеческие качества + профессионализм. А если учесть, что к 30 уже есть достаточно богатый жизненный опыт, то я не думаю, что возникнут проблемы.

    Как-то так :)
    Удачи. И главное помните - все зависит только от вас. От ваших желаний и вашего трудолюбия.
    Ответ написан
    3 комментария