• Ресурсы для изучения python и django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    В бесчисленном количестве ответов на Тостере изучать Python советуют по одному и тому же хрестоматийному учебнику - Марк Лутц "Изучаем Python".

    Перевод руководства Django вы можете найти на djbook.ru. Но легко заметить, что переведено руководство по версии 1.9, в то время как актуальная версия - 2.1 Без знания английского вам всегда придётся или отставать от прогресса или учиться по спешно сделанным материалам низкого качества.
    Ответ написан
    Комментировать
  • Ресурсы для изучения python и django?

    de-iure
    @de-iure
    just a crazy lawyer
    Что бы разобраться с django сначала учите python - М. Лутц, книжка толстая, но при желании можно осилить за 2-3 мес.

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

    Но я бы рекомендовал начать с Flask вот по этому мануалу, после него django лучше понимается...
    Ответ написан
    5 комментариев
  • Базовые знания для дизайнера?

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

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

    Из того, что можно точно выделить:

    1. Советы Горбунова. Школа у них чудовищная, но вот в советах очень много полезной информации. И, по-моему, они эти советы перенесли в формат электронных книг. Там и по интерфейсам темы и по академическому дизайну и много ответов на разные вопросы по копирайтингу/менеджменту/развитию. В общем, довольно ценный ресурс.

    2. Школа Тильды. Это набор последовательных статей. Там описан в некоторой степени утопичный дизайн-процесс, но именно к такому процессу и нужно стремиться при работе в команде дизайна. Они рассказывают о дизайн-мышлении, о картах, персонажах и прочих ментальных инструментах. Это материал не для новичка, а для мидла скорее. Сейчас большинство крупных западных команд работает в +- подобном ключе.

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

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

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

    И самое главное — научись верстать. Не просто понять базовые теги html, а по-настоящему. Чтобы твой код был почти готов уйти в продакшен. Ты откроешь для себя сторону дизайна, которая всегда оставалась в тени — то, как твой продукт реально работает, а не то, как ты себе это представляешь, глядя на картинку. Например, ребята из Apple всегда делают сотнями пенопластовые и пластиковые макеты для новых Айфонов, крутят их в руках, ходят с ними в карманах и т.д. Только так можно прочувствовать форму, понять изъяны и улучшить продукт. Картинка ничего не говорит о проекте, нужно уметь ее материализовать. В вебе с этим помогает верстка.
    Ответ написан
    3 комментария
  • Как узнать какой js-скрипт вызвал модальное окно?

    @eyeless_watcher
    Если это окно является dom-элементом (а не открывается через window.open), вы можете посмотреть, куда именно оно вставляется и поставить точку останова на родительском элементе, которая будет срабатывать на изменения его поддерева.
    В devtools хрома это делается на закладке Elements -> правый клик по нужному элементу -> Break on -> subtree modifications.
    Ответ написан
    Комментировать
  • Как улучшить читабельность функции?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Заменяем switch на таблицу, где будут перечислены все возможные варианты (в данном случае достаточно простого объекта), после этого вся логика выбора нужного значения сведётся к чтению свойства:

    const defineQuestionDataByLanguage = (question, lang) => {
      const answerLang = ({
        2: 'swe',
        // ещё какие-то языки, если надо
      })[lang] || 'en';
    
      return {
        labelLang: question[answerLang],
        answerLang,
      };
    };

    После этого табличку с языками можно отделить от функции (вынести в отдельный файл, какой-нибудь languages.json, например), и тогда станет совсем здорово:

    const defineQuestionDataByLanguage = (question, lang) => {
      const answerLang = languages[lang] || languages.default;
    
      return {
        labelLang: question[answerLang],
        answerLang,
      };
    };

    А ещё при необходимости внести изменения в список языков трогать код будет не надо.
    Ответ написан
    1 комментарий
  • Linux дистрибутив для предприятия?

    Установил xubuntu в небольшую фирму для тех же целей. Большинство приходящих даже не замечают. Наверное, думают, что это тема для Винды. Стоит уже два года, никаких нареканий.
    Ответ написан
  • Linux дистрибутив для предприятия?

    @akimdi
    Если Вам нужен хороший UI для пользователя, то однозначно нужно смотреть в сторону Linux Mint - он прост в освоении интерфейса. Люди которые привыкли работать на Windows легко смогут понять и перейти на Mint.
    А что бы организовать организовать централизованное управление, Вам лучше Ansible - там начиная от автоматическую установку программ и заканчивая настройкой файлов конфигураций.
    По поводу периферии и прочих, то лучше мяты никто не работает. Там все эти проприетарные кодеки, фирмвари и прочее.
    Так что Вам нужна мята желательно с корицей - однозначно !!! (Linux Mint 19 "Tara" - Cinnamon)
    Напишите пару плэйбуков на Ansible и быстро развернете что вам нужно.

    Ansible
    Linux Mint 19 Tara Cinnamon
    Ответ написан
    1 комментарий
  • Есть ли аналог функции jquery на js?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    fetch('header.html')
    .then(response => response.text())
    .then(data => document.querySelector('#includedContent').innerHTML = data)
    .catch(console.error)
    Ответ написан
    3 комментария
  • Почему события React работают только через стрелочные функции?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Потому-что когда вы вызываете метод на объекте:
    obj.method(); // вызываем метод
    или:
    this.method(); // вызываем метод
    Ссылка на объект указанная перед точкой будет использована в качестве контекста и будет доступна в функции, через ключевое слово this.

    Когда вы передаете метод без вызова:
    onClick={obj.method} // не вызываем метод
    или:
    onClick={this.method} // не вызываем метод
    Передается лишь метод, а контекст теряется.

    Чтобы не терялся контекст при передаче метода в слушатель, можно использовать функцию bind. На вашем примере:
    class MainPage extends Component {
      constructor(props) {
        super(props);
        this.state = {
          color: 'red'
        };
        this.changeStylesForCaption = this.changeStylesForCaption.bind(this); // привязываем контекст
      }  
      
      changeStylesForCaption() {
        this.setState({
          color: 'black'
        });
      }
    
      render() {
        return (
          <h1 onClick={this.changeStylesForCaption} style={{ color: this.state.color }}>gleb</h1>
        );
      }
    
    }


    Стрелочные функции контекста не имеют и используют контекст того окружения, где они определены.
    Ответ написан
    1 комментарий
  • Каковы плюсы и минусы работы в офисе с часовой оплатой?

    victory_vas
    @victory_vas
    Зависит, конечно, он вашей компании. У меня был такой опыт, но там была шарашкина контора - иногда приходилось без проектов сидеть неделю, и, соответственно, без оплаты. Плюс, это - черная схема в плане ЗП. Не знаю, существуют ли способы оформить это всё официально.
    Также минус - что всякие корпоративы, чаепития с коллегами, обсуждения чего-то - всё за свой счет, в плане того, что хоть это и происходит в рабочее время, но оно по факту вам не оплачивается, в отличие от работников с окладом. Ну только если вы не закладываете это всё в оценку проекта:)
    Ответ написан
    1 комментарий
  • Зачем изучать несколько языков программирования(c++, java)?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, гипотеза лингвистической относительности утверждает, что чем больше языков знаешь, тем гибче и богаче твой логический аппарат. По своему опыту могу сказать, что это правда. Например изучение Lisp'ов существенно расширило мои возможности в других языках. Но мой опыт и мнение не так авторитетны, как авторов всемирно известного бестселлера "Программист-прагматик" - Эндрю Ханта и Дэвида Томаса, которые пишут: «Изучайте по крайней мере один новый язык ежегодно. Разные языки решают одни и те же проблемы разными способами. Изучив несколько разных подходов, вы сможете расширить свой кругозор и не погрязнуть в рутине.»

    Во-вторых, рано или поздно профессиональный рост java-программиста, например, неизбежно приводит его к необходимости глубоко понимать работу компилятора и виртуальной машины, а это невозможно без знания C++, на котором они написаны.

    В-третьих, java-программист свободно лазающий за ответами в исходники JVM, способный дебажить сборщик мусора, писать JNI-библиотеки и использовать Compiler API для метапрограммирования имеет больше предложений работы и более выгодные условия.
    Ответ написан
    4 комментария
  • Куда дальше расти, что изучать? Как найти команду?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Больше восьми лет работаю

    css + html + js(уровень средний) + немного владею svg и canvas

    Это очень мало, просто пипец какой маленький стэк для 8 лет. Бросайте wp, joomla хоть на несколько дней в месяц иначе вы останетесь там где были.
    Мне кажется, что я останавливаюсь в развитии как разработчик.

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

    многие используют PDF макеты

    не встречал таких многих за 15 лет. PDF удобный формат, но не встречал. А в чем сложность с ними? Они отлично открываются в photoshop.

    Я жестко отстаю, или просто хватает моих знаний/способностей для решения задач?

    Вы научились делать простые вещи и дальше не пошли. Очень многие так поступают. Если денег хватает - то зачем? Тут как говориться "каждому свое". Я не могу так, мне надо разбираться во всем. Но среди моих знакомых есть очень много людей. кто тихо работает на студии с wp, получает 20k в месяц и счастлив по своему.

    Может податься в мобильную разработку?

    Смысл? Мне кажется надо просто понять, что пока Вы знаете ровно столько, сколько может выучить 9-ти классник за год - Вы стоите ровно столько сколько 9-ти классник. Хотите бабла? Знайте больше. Хотите еще больше? Знайте еще больше. Минимум 2 часа в день на обучение и все будет супер через пару лет.
    Ответ написан
    14 комментариев
  • Куда дальше расти, что изучать? Как найти команду?

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

    А вы хотите уже делать и мобильные приложения.

    Мой вам совет, хотите найти профессиональную команду - забудьте о самостоятельной разработки сайта под ключ. Если Вас на работе заставляют делать сайты под ключ - уходите и ищите нормальную работу.
    Ответ написан
    3 комментария
  • Куда дальше расти, что изучать? Как найти команду?

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

    Вы пока что не видите ценности в node/gulp/angular/vue и в консоли потому что не сталкивались с крупными проектами и не работали в команде. Все эти технологии раскрывается в полную силу именно в таких условиях.

    Те разработчики, которых принято называть "крутыми" - это ребята, способные метко замечать шаблонные/повторяющиеся поведения или структуры и адекватно на них реагировать. Для того чтоб быть похожим на тех самых крутых ребят, можно почитать The Pragmatic Programmer и Clean Coder.
    Ответ написан
    Комментировать
  • Как обойтись без глобальных переменных в React приложении?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Завести какой-нибудь файл, в котором
    export const ee = new EventEmitter();

    Там, где она нужна,
    import { ee } from './any-file-name';
    Ответ написан
    2 комментария
  • Требования к Django разработчику(Стек технологий)?

    1) HTML/CSS/JS - очевидно, знать нужно всем.
    2) XML/JSON - уже зависит от типа сервиса,с которыми нужно пилить интеграции
    3) Django/Django REST Framework - тут подразумевается, что либо бек отдает статику, либо бек дает апи для js-фреймворков
    4) Celery/RabbitMQ - т.е. умение делать задачи в очередь. Встречается очень часто, особенно на проектах, где надо какие-то отчеты формировать, письма отсылать и так далее.
    5) Elasticsearch/PostgreSQL - на маленьких проектах поиск делают прямо через постгрес, на больших уже юзают эластик.
    6) Общее знакомство с библиотекой Python
    7) Deploy: nginx / uwsgi (Gunicorn) / postgres - но зависит от проекта, на больших - это не твоя боль.
    ___

    Дополнительно спрашивают: Flask (Сейчас мода идет на микросервисы)/Tornado/Twisted/Aiohtp - это уже зависит от конкретных вакансий.

    Дополнительно требуется: 1-2 года опыта на php/ruby/node.js/java/.net - к сожалению, Python - это не php, тут не пилят говно на коленке за день, тут делают какие-то большие проекты с датой, интеграциями и прочее. Поэтому изначально предъявляют к кандидатам более высокие требования. В том числе опыт работы на Питоне, либо на похожем стеке.
    Ответ написан
    6 комментариев
  • Выбор cms для заметок сис.админа?

    neuotq
    @neuotq
    Прокрастинация
    Я вам советую завести на git и хостить(можно к примеру gitlab у них есть бесплатные приватные репозитории ), а можно и не хостить. А сами заметки/блог вести в Markdown. Markdown имеет простейший и удобный синтаксис + есть огромное количество бесплатных редакторов.
    Таким образом вы получите портируемую, слабо от чего-либо зависящую систему удобных заметок с историей изменений добавлений.
    Ответ написан
    Комментировать
  • Что означает (jQuery) после (function( $ )?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    (function( ) {
    })();

    Вот эта конструкция называется "анонимная самовызываемая функция".

    То есть, тут два действия:
    Объявление анонимной функции
    function( ) {
    }

    и сразу ее вызов
    ()()
    Первые скобки это синтаксический приём для вызова анонимной функции. Есть и другие методы. Например
    +function(){}()
    Вторые скобки - это собственно вызов функции и при необходимости передача параметра (обычный вызов же)

    ()(jQuery) — в параметре передается jQuery

    function($){} — а тут этот параметр объявлен и используется

    (function($){})(jQuery) — итого, объявили анонимную функцию, и вызвали ее, передав параметром объект jQuery

    Например, доллар у вас используется другой библиотекой, пусть MooTools.
    Тогда вы запускаете jQuery в безконфликтном режиме

    jQuery.noConflict();

    Это значит, что доллар использоваться не будет, и объект будет доступен только по ссылке jQuery.

    Но для удобства вы можете использовать анонимную функцию и безопасно использовать внутри неё переменную доллара

    (function($){
      $('.slider').slick();
    })(jQuery);


    Чтобы стало совсем понятно, конструкцию можно переписать без анонимной функции

    var myFunc = function($){
     // some code
    }
    
    myFunc(jQuery);
    Ответ написан
    Комментировать
  • По каким книгам изучать устройство компьютера?

    @sky_driver
    Код. Тайный язык информатики. Чарльз Петцольд
    Ответ написан
    Комментировать