• Как эффективно переучиться на веб-разработчика?

    EugeneOZ
    @EugeneOZ
    как-то Вы заморочились на спецификации HTML — всё гораздо проще :)
    Рекомендую попробовать связку PHP-fpm + PostgreSQL + Redis + Nginx + AngularJS + Twitter Bootstrap.
    Ещё можно написать чат какой-нибудь, там слово «PostgreSQL» заменяете на NodeJS в этом уравнении и всё :)
    Наверняка в комментариях высыпят фанаты модных трендов вроде рельс — я не против рельс, не против питона, но я не могу рекомендовать вещи, в которых сам не опытен :)
    Ответ написан
    8 комментариев
  • Как эффективно переучиться на веб-разработчика?

    @egorinsk
    Вообще, не увлекайтесь спецификациями. Марк Цукерберг как-то без них обошелся. Google тоже не следует строгим стандартам.

    Если вы хотите «эффективно» изучить матеиал, тогда вы должны читать статьи «для чайников» (которые вы с вашим опытом, наверняка освоите за кратчайшее время). HTML/CSS так устроены, что даже если вы сделаете 100 ошибок на странице, он все равно как-нибудь да отобразится. Ну если вы хотите более солидные знания, то параллельно смотрите непонятные моменты в спецификациях, это в общем-то полезно. А сэкономленное время посвятите практике. Она тут очень важна.

    Вот, что стоит изучить (в любом порядке):

    1) Начните с основ HTTP (только ради бога, не читайте спецификацию целиком, хватит общего представления о методах запросов, заголовках и теле запроса, кодах ответа 403/404/500/200/300)
    2) Изучите основы HTML (есть раздел на сайте htmlbook). SGML вам хватит в том объеме, в котором он упоминается в спецификации HTML. PCDATA не упоминается в ней и потому знать про отличия от CDATA вам не нужно (ну если так хотите узнать, найдите спецификацию SGML и почитайте).

    Обратите внимание, в некоторых (некачественных) статьях вы можете увидеть штуки вроде [br /] — самозакрывающиеся теги. Это ошибочный синтаксис, который употребляют авторы, путающие HTML и XHTML. В HTML такого синтаксиса нет (хотя в силу своей толерантности к ошибкам в HTML такой код как-то работает).

    3) Изучите CSS и позиционирование элементов. Вот хороший учебник, разъясняющий тонкости всяких флоатов: softwaremaniacs.org/blog/category/primer/ А спецификацию CSS2.1, думаю, вы нагуглите сами, она довольно понятно написана.

    4) Изучите яваскрипт (да, включая замыкания и прототипы) и DOM. Обратите внимание, jQuery — лишь обертка над DOM и не зная DOM, вы не сможете нормально пользоваться jQuery, вы лишь научитесь копипастить скрипты из интернета, не понимая, как они работают. После этого можете изучать jQuery, заодно советую заглянуть в исходный код, а не только читать документацию.

    5) Изучите один из серверных языков, хотя бы основы

    6) Изучите основы SQL

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

    8) Изучите ООП

    9) Изучите какой-нибудь серверный MVC-фреймворк

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

    > А есть ещё и XHTML, который тоже имеет свои отличия…

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

    > Клиентская разработка нынче редко обходится без всяких шаблонизаторов типа HAML/SASS

    Вы еще Coffescript забыли упомянуть. Это очень спорные вещи, есть мнения как за, так и против. Но в любом случае, согласитесь, как-то странно изучать SASS, не изучив вначале CSS, верно? Начинающему это не нужно.

    > а для эффективной серверной разработки всё и того сложнее: фреймворки, ORM, continuous integration, очереди задач и прочая-прочая.

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

    По вопросу, где брать информацию: авторитетные источники (для поиска ответа во всех подробностях) — это спецификации W3C, официальная документация фреймворков, неофициальные источники вроде htmlbook, stackoverflow или Хабра — для того, чтобы быстро получить представление о тех или иных возможностях HTML. Еще можете какую-нибудь книгу почитать, только не старую.
    Ответ написан
    5 комментариев
  • Многомерная аппроксимация полиномами?

    @megalol
    Никакой особой разницы между одномерным и многомерным линейным МНК нет, если в одномерном МНК матрица A

    1 x1 x1^2 x1^3…
    1 x2 x2^2 x2^3…
    1 x3 x3^2 x3^3…


    то в многомерном матрица та, какая нужна:

    1 x1*y1 x1*y1^2…
    1 x2*y2 x2*y2^2…
    1 x3*y3 x3*y3^2…
    1 x4*y4 x4*y4^2…


    А дальше стандартное coefs = inv(A^T * A) * A^T * вектор_z.
    Ответ написан
    1 комментарий
  • Книги по концепциям пользования и администрирования *nix машин?

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

    Потому лучшим способом обучения будет устройство на работу с коллективом из хороших специалистов.

    Могу рассказать, кстати, про sudo. Преимущество утилит этого класса в том, что можно через лог отслеживать повышение привилегий, а также сам администратор может повышать свои права при необходимости, чтобы при этом меньше работать под root и случайно не сделать там чего-либо нехорошего. Если же сравнивать sudo и su, то sudo лучше тем, что позволяет, в частности, тонко настроить права доступа отдельных пользователей и групп к определенным программам, например, разрешить пользователям из группы @room312 выполнять "/usr/sbin/shutdown -h now" с правами пользователя root и не более того.
    Ответ написан
    Комментировать
  • NodeJS для разработки проектов?

    charon
    @charon
    я недавно тоже взглянул на node.js и напишу так: сейчас эта штука не входит НИ В ОДИН пакетный менеджер из мира Линукса, даже в Федоре планируют включить только в следующую версию. Из этого я сделал вывод, что для продакшена оно годится только для самых ярых поклонников, которым плевать на всё и в случае проблем они сами допилят.
    Но сама штука интересная. Не так уж много существует бэкендов на языках программирования, не основанных исключительно на ООП-подходе.
    Ответ написан
    7 комментариев
  • NodeJS для разработки проектов?

    @egorinsk
    В яваскрипте нет строгой типизации, нормальных классов и прочих радостей серьезных языков. Как я понимаю, это делает его малопригодным для любых сколько-нибудь объемных и сложных приложений (уровня явы и дотнет-приложений). Правда, у меня опыт работы только с браузерным яваскриптом, а не с нодой.
    Ответ написан
    2 комментария
  • Способ заработать на лотерее?

    @Anatole
    В российских условиях, возможность заработать есть только у владельца лотереи :)
    Ответ написан
    Комментировать
  • Что пишет front-end разработчик в трудовой, что бы не быть верстаком?

    Да всем срать, что написано в трудовой книжке.
    Ответ написан
    Комментировать
  • Что пишет front-end разработчик в трудовой, что бы не быть верстаком?

    script88
    @script88
    Разработчик интерфейсов.
    Ответ написан
    Комментировать
  • Что пишет front-end разработчик в трудовой, что бы не быть верстаком?

    Ведущий разработчик интерфейсов
    Ответ написан
    Комментировать
  • Корпорация добра

    @ferasinka
    «Feel Good Inc.»
    Ответ написан
    Комментировать
  • Корпорация добра

    @Ualde
    Не соглашусь с вышеозначенными ответами. А именно — слово «добро» в английском как таковое отсутствует (а предложенных вариантах прозвучало бы как прилагательное «хороший»). С другой стороны «goods» как раз наиболее приближено к русскому слову добро (благо).

    Т.е. по-моему, максимально близкий перевод должен быть «Goods Corporation» или, если левая развертка не нравится, то «Corporation of goods».

    P.S. Имеет право на жизнь и «goodness», но это все-таки «бесплатно».
    Ответ написан
    2 комментария
  • Какую бы ОС вы выбрали для мобильной разработки сейчас?

    ZiGR
    @ZiGR
    Начните с Android (условия для начала более доступные) а потом уже захватывайте другие OS. На следующем этапе я бы выбрал уже iOS и Android.
    Сейчас многие разработчики занимаются разработкой сразу под две OS.
    Тем более, что задача портирования облегчается с помощью использования нативного кода.

    image
    Ответ написан
    2 комментария
  • Какую бы ОС вы выбрали для мобильной разработки сейчас?

    Terranz
    @Terranz
    андроид, конечно же!
    для разработки под яббл — нужен мак
    винфонов — полтора смарта за безумные деньги
    всякие маргиналы с тизенами\бадами\убунтами\бб всё равно чуть больше чем никакую позицию занимают
    Ответ написан
    3 комментария
  • Нахождение уязвимости — преступление?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если бы целью не задавались — то не обнаружили бы!
    А если обнаружили — значит у Вас была цель.
    Т.е. умышленные действия.
    А умышленные — преступление.
    Вот и вся логика людей, которые пополняют себе PR-level за выдачу таких как Вы в негативном виде тем, кто ничего не понимает в этом…
    К сожалению…
    Удачи Вам!!! (она Вам понадобится!)
    Ответ написан
    6 комментариев
  • Формат файлов альманахов и эфемерид?

    Yavanosta
    @Yavanosta Автор вопроса
    Нашел наконец описания. Выложены там же на фтп:
    ftp.glonass-iac.ru/MCC/FORMAT/
    Ответ написан
    2 комментария
  • Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

    0 — это зеленый цвет RGB = (0, 255, 0)
    20 — это желтый цвет RGB = (255, 255, 0)
    40 — это красный цвет RGB = (255, 0, 0)

    Отсюда видно, что от 0 до 20 — растет компонента R от 0 до 255 (а G стоит на 255).
    И что от 20 до 40 — убывает компонента G от 255 до 0 (а R стоит на 255).
    И то, и другое выражается через пропорцию: например, если входное число N <= 20, то R будет равно N*255/20,

    А если входное число N>20, то G = (20-(N-20))*255/20
    (N-20) отнимает от нашего числа стартовые 20.
    а 20-(N-20) инвертирует рост компоненты в убывание, т.к. нам надо чтоб от 20 до 40 — G падало.
    а так это та же самая пропорция, что и для R.
    Ответ написан
    Комментировать
  • Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

    xanep
    @xanep
    Вам не нужно HSV. Все и так предельно просто. При 0 — 20 должна компонента r линейно возрастать от 0 до 1, а при 20 — 40 компонента g линейно убывать от 1 до 0.

    r = 1/clamp(x, 0, 20)
    g = 1 — 1/clamp(x-20, 0, 20)
    b = 0

    ф-ию clamp напишете сами
    Ответ написан
    Комментировать
  • Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

    Chamie
    @Chamie
    Самый простой вариант — наложить зелёную картинку на красный фон (или наоборот) и менять прозрачность.
    Ответ написан
    Комментировать