Задать вопрос
  • Как научится верстать из PSD макетов в html+css?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Посмотрите вот эти две статьи с хабра:
    Как сверстать веб-страницу. Часть 1
    Как сверстать веб-страницу. Часть 2 — Bootstrap
    И прочтите все комментарии к этим статьям (впрочем, как обычно на хабре:)
    Очень хорошие статьи, пошагово расскажут, что делать с макетом.
    UPD. Ещё одна статья от того же автора:
    Как сверстать тему для WordPress
    Ответ написан
    Комментировать
  • Пройдет ли проверку в Apple Store мобильное приложение?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Вообще-то, если приложение продаёт неэлектронные товары (в вашем случае - датчики), то такие приложения допустимы. Недопустимы приложения, которые продают не через apple то, что продавать через них возможно. Была статья на хабре про это, сейчас поискал, но не нашёл.
    Ответ написан
    Комментировать
  • Имеются ли в PHP какие-либо побочные эффекты (теоретически) при инициализации переменной в условии if?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Вы спрашивали, имеются ли в PHP какие-либо побочные эффекты. Имеются.
    Если первое условие будет ложью, то второе условие даже и не запустится вовсе:
    function first()  { echo "first "; return false; }
    function second() { echo "second "; return true; }
    if (first() && second()) echo "OK"; else echo "Bad";

    выведет "first Bad", а слово "second" не выведется, что значит - вторая функция не запустилась.
    Так же не запустится второе условие при использовании ИЛИ, если первое условие вернуло истину.
    И правда, зачем проверять второе условие, если итоговый результат выражения уже известен на первом условии?
    Ответ написан
    1 комментарий
  • Как отсортировать массив по нескольким значениям?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    vals = vals.sort(
       function(a, b) {
         if (a[1] == b[1]) {
           return a[0] - b[0];
         } else return a[1] - b[1];
       }
    );

    Можно упростить, и написать в одну строку:
    vals = vals.sort(
       function(a, b) { return a[1] == b[1] ? a[0] - b[0] : a[1] - b[1]; }
    );
    Ответ написан
    5 комментариев
  • Связана ли «Автоматизация технологических процессов и производств» с программированием?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Я учился как раз на такой специальности. Всё-таки в этой специальности изучают железки и автоматизацию.
    Схемотехника, электроника, сопромат, автоматика - если вам это хоть сколько-нибудь интересно, то может быть.
    Именно программирование здесь изучается, но не сильно, основы и применение к промышленности.
    Но, в принципе, если программирование железок интересно, то это будет хорошей специальностью. Тут я имею в виду микроконтроллеры, встраиваемые системы, автоматизированные станки, даже "умный дом" можно отнести сюда.
    Важный момент - количество программирования (и его качество) будет очень сильно зависеть от преподавательского состава кафедры. Сходите на кафедру, пообщайтесь с преподавателями, поговорите со студентами 3-4 курсов, и вы получите ответ на свой вопрос конкретно к этой ситуации, к этой кафедре.
    Ответ написан
    Комментировать
  • Почему обращение по ЧПУ выдает 404 ошибку?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    не хватает символа / после символа ^
    Символ ^ обозначает начало строки, поэтому ^projects не подпадает под строку /projects
    И лучше изменить звёздочку на плюсик, иначе в данном варианте под шаблон будут попадать строки /projects//.
    Итоговое правило:
    RewriteRule ^/projects/([a-zA-Z0-9\-]+)/$ /projects/index.php?pr_url=$1
    Ответ написан
    1 комментарий
  • CSS Как сделать три DIV во всю высоту экрана?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Вот статья об этом:
    css-tricks.ru/articles/Details/InSearchOfTheHolyGrail
    Несколько подходов к этой задаче.
    (я говорил больше о вопросе в заголовке)
    Ответ написан
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Ответ на вопрос будет сильно зависеть от того, в каком направлении вы думаете развиваться.
    Будет ли это сетевое программирование? Тогда это си, в основном.
    Может быть, веб-программирование? Тогда тут могут быть php, javascript, python, ruby.
    Захотите разрабатывать программы на десктоп? Вам нужны c# или java.
    На мобильные платформы? тогда java и objective c (плюс swift).
    Или податься в разработку игр? Тогда либо c++, либо с# (для Юнити - наверное, самой популярной платформе).
    Хотите экзотики? Приглядитесь к функциональным языкам - Erlang и Haskell.
    Разработка железа и драйверов для железа? тогда си (без плюсов) и ассемблер.
    Определитесь, что вы хотите, потому что всё объять не получится. Выберите один (или два) направления и добейтесь хорошего уровня в нём. А потом вам будет уже легче двигаться дальше.

    Мой совет - попробуйте изучать C# или Java (они во многом похожи) для софта, или Javascript и php/python для веб-приложений и сайтов.

    Добавлю, что очень правильный совет дал @tsarevfs - помимо языка программирования, хороший программист должен знать несколько инструментов - и в первую очередь, это система контроля версий, например, git. Плюс юнит-тестирование (хотя это можно начать изучать позже, через годик-два). Плюс - нужно хорошо знать свою IDE, в которой работаете; не вздумайте работать в блокнотиках!

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

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

    UPD. Важное дополнение из обсуждения в комментариях (спасибо @Argentum88 @Deerenaros )
    Чтобы стать профессионалом и "востребованным программистом с нормальным заработком", нужно очень хорошо понимать внутреннее устройство тех систем (платформ, фреймворков), на которых идёт работа.
    Для этого нужно заглядывать вглубь. Изучив различные мейнстрим-инструменты, посмотреть на аналогичные менее популярные системы. Изучать исходный код используемых open-source библиотек. Написать свою подобную систему. Для web - написать свою CMS (хотя бы базовую). Для десктоп-программ - попробовать программировать без навороченных библиотек, которые делают рутинную работу за программиста. Для разработчика игр - сделать простую игру на базовом инструментарии платформы, где всё придётся делать своими руками.
    Всё это даст возможность проникнуться, почему всё делается именно так, даст понимание взаимосвязей разных частей программы.
    А потом, осознав это, выбрать один из уже готовых инструментов, и продолжать писать на нём, уже обладая более глубоким его пониманием.
    Ответ написан
    21 комментарий
  • Как список значений в браузере внести в базу Mysql?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Если я понял, вам нужно множественными запросами получать несколько страниц с текстом, и преобразовывать его в набор данных.
    Для этого хорошо подойдёт multi_curl (оф.дока, статья на хабре). А дальше уже парсить строку в набор данных (массив, очевидно), и добавлять в базу. Можно сначала накачать страничек и поскидывать их на диск, а потом спокойно парсить их.
    Если тот сервер отдаёт HTML, то без парсинга не обойтись. Но если структура отдачи однозначна и проста, то парсинг проблем создать не должен.
    Ответ написан
    Комментировать
  • Написал приложение, куда его выложить?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Посмотрите Heroku
    Вот тут описано, как его готовить: habrahabr.ru/post/146983
    Ответ написан
    4 комментария
  • Над какой игрой Вы бы мечтали работать?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Очень классная игруха Imperialism 2 — пошаговая глобальная стратегия. Играю в неё стабильно раз в год. Отличная игруха, кто не знает — рекомендую!

    Плюсую также X-Com, Косморейнджеров, и особенно Colobot и Генерала.
    Ответ написан
    Комментировать
  • Каким языкам программирования учить в колледже?

    lexxpavlov
    @lexxpavlov Автор вопроса
    Программист, преподаватель
    Не надо привязывать мышление учеников к конкретному языку
    А на чём же эти алгоритмы практически отрабатывать? «Компилировать» блоксхемы? Базовый язык всё-равно нужен.
    Вот если бы я готовил профессионального высококвалифицированного программиста, то я бы давал 3-5 языков под разные задачи, плюс ещё десяток «для общего развития».
    Теория, алгоритмы — это важная основа для будущего программиста.
    Это да. Основная часть моей будущей работы :) Научить строить алгоритмы. Поднимать вопрос «Почему» чаще, чем «Как».
    не понимающих, что такое переменные…
    Встречал, конечно. Принимал у таких экзамены, самому противно было «тройку» ставить.
    Это тоже часть работы. Таких случаев постараюсь не допускать.
    Ответ написан
  • Каким языкам программирования учить в колледже?

    lexxpavlov
    @lexxpavlov Автор вопроса
    Программист, преподаватель
    Попрошу знатоков про C# подробнее написать. Насколько лёгок в освоении/первоначальной настройке?
    Плюсы я точно давать не буду — не потянут большинство, поэтому смысла нет. А вот с шарпом может дело пойти.
    Ответ написан
    6 комментариев