Задать вопрос
  • Верстка в Linux?

    zorro76
    @zorro76
    Я перешел с винды на Ubuntu 3 месяца назад. Все ок и все работает должным образом. Начиная от командной строки и заканчивая редактором. А то что нет полноценного Photoshop это миф. Посмотри тут https://www.youtube.com/watch?v=wjmQJckOATM И собственно зачем Photoshop верстальщику, понятно что для посмотреть макет и нарезать, все. Правда все это можно сделать и на gimp, но тут дело вкуса. Лично я за продукт Adobe assets.adobe Все остальное настраивается и работает на Linux в разы проще и быстрее. node, npm, bower, gulp, grunt, git ... да собственно все, что нужно фронт-энд разработчику. Тот же looftblog выложил видео с настройкой среды разработчика на Linux https://www.youtube.com/watch?v=DfSm7SVq4LA

    UPD: и да сейчас вообще Avocode рулит
    Ответ написан
    4 комментария
  • Как сделать поиск файлов на диске?

    un1t
    @un1t
    Если речь идет про линукс, самый быстрый вариант с помощью утилиты locate.
    locate .mp3
    Можно эту программу через модуль subprocess вызывать.

    На питоне можно использовать https://docs.python.org/2/library/glob.html
    Но это работает примерно как find, т.е. не очень быстро, если по всему диску искать. Если к конкретной папке, то норм.
    Ответ написан
    1 комментарий
  • Что нужно для изучения Python с нуля?

    God-emperor
    @God-emperor
    create a golden path
    Вам подойдёт любой учебник. Абсолютно любой. По Питону. После того, как освоите его, вероятно вам самому будет ясно, что читать, изучать, делать.
    Ответ написан
    Комментировать
  • Как взять значения из существующей таблицы бд?

    un1t
    @un1t
    Не знаю какие там у тебя типы, но примерно так

    class ServiceCourse(models.Model):
        class Meta:
            db_table = 'service_courses'
    
        usd = models.IntegerField()
        euro = models.IntegerField()
        gbr = models.IntegerField()
    Ответ написан
    1 комментарий
  • Как научить девочку программировать?

    God-emperor
    @God-emperor
    create a golden path
    Не понятно, зачем это делать. Тем более в 6 лет. Пусть ребёнок играет. Он получит от обычных, мать твою игр, куда больше пользы, чем от попыток научить писать "Hello world".
    Ответ написан
    Комментировать
  • Какую систему управления версиями посоветуете для веб-разработки (PHP, js, html/css)?

    kapitansen
    @kapitansen
    Веб-погромист
    Мы (команда в 2-3 человека) давно и успешно используем SourceTree в сочетании с Bitbucket. Во-первых, потому, что не надо ничего настраивать, лезть в консоль и бороться с совместимостью. Во-вторых, потому что вменяемый интерфейс. В-третьих, потому, что бесплатно для команды до 5 человек. Неограниченное количество проектов и облачное хранилище для кода.
    Ответ написан
    Комментировать
  • Где водятся специалисты JavaScript?

    mr_T
    @mr_T
    Web-разработчик
    index0h: Нельзя "знать node.js". Это как сказать, что я знаю не Java, а JVM или не C#, а .NET.

    Знать надо JavaScript, а в случае с Node.js нужно дополнительно иметь представление об архитектуре серверных приложений (хотя Node.js это не только сервер, а по сути возможность писать на JS вообще все что душе угодно) и о том, какие задачи можно решить модулями npm. Вернее даже не знать, а уметь гуглить и понимать английский.

    Но проблема в том, что на хорошем уровне JS знает со значительно большей вероятностью фронтендщик, чем бэкендщик. Отсюда проблема поиска: чтобы писать серверное приложение на Node.js - это либо фронтендщик начинает осваивать сервер, что, безусловно, похвально, но требует понимания многих вещей, с которыми человек ранее не сталкивался, либо бэкендщик начинает осваивать JavaScript, для которого, скорее всего, в новинку событийный подход и другие моменты из мира JavaScript который, как известно, во многом сильно отличается от классических языков с поддержкой ООП. Это я еще не упомянул тот факт, что Node.js появился сравнительно недавно, и специалистов по нему чисто физически не может быть очень много.

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

    Итого: дефицит специалистов, которые бы умели все, что необходимо. К тому же ты хочешь получить и фронт, и бэк в одном флаконе, что еще больше усложняет поиск.
    Ответ написан
    1 комментарий
  • Какие ЯП не требуют кучу прикладнухи для устройства на работу?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    LUA скриптер может знать только LUA и работать без затруднений.
    Python скриптер может знать только свой ЯП и спокойно работать.

    Уяснить тебе стоит одну очень важную вещь. Один лишь нужный ЯП знать для работы может только скриптер.
    Для разработчика-же крайне важны знания как можно более широкой информационной периферии своей области.
    Ищи игровые студии/компании которым нужны LUA/Python скриптеры. Но запомнить надо еще одну вещь - для очень многих людей это дорога без возврата.
    Ответ написан
    1 комментарий
  • Какие ЯП не требуют кучу прикладнухи для устройства на работу?

    Я постараюсь подключить философию, примеры и "как если бы я говорил в баре с вами".

    ЯП - это инструмент. Инструмент всегда взаимодействует с объектом и со средой. Соответственно, вам точно нужно что-то знать про объект и уметь пользоваться инструментом внутри среды, а это потащит дополнительные знания, назовем их "естественными" зависимостями. Насколько глубоко их нужно знать? Тут ответа не бывает: настолько, насколько нужно и хочется. Тут важен баланс и акцент. Если нет строгих параметров на уровне разума, нужно верить интуиции, потому что больше нечему. Для JS-программиста JSON/jQuery/AJAX - это естественные зависимости, их в любом случае не получится обойти. Даю зуб, что вам хватит вечера и немного гугла, чтобы стать чуть ли не LIKE A PRO в этом. Это все форматы хранения данных, либы, парадигмы. Это примерно как прочитать состав у шоколадки по сложности и входному порогу. Скорее всего, вас пугают сложные слова. Примерно как сказать "НАПРАВЛЕННЫЙ АЦИКЛИЧЕСКИЙ ГРАФ", и вы сразу знаете теорию графов, хотя с практической точки зрения суть настолько элементарна, что аж страшно, а вы будете долго прокрастинировать и искать что попроще.

    Это что касается близких и неизбежных естественных зависимостей. Но есть и более далекие, но тем не менее все равно естественные, их знание позволяет развиваться, иметь более полную картину в голове. Вот есть гитарист, он может быть просто технарем. Есть гитарист-музыкант, который чувствует дорийский лад в блюзе. А есть гитарист-музыкант-звукорежиссер, который наконец-то понял, как надо жирно сводить гитары и теперь в симбиозе со звукарем. Кто из них самый крутой, очевидно.

    Вы можете просто верстать (html/css) и игнорировать программирование в целом. Но естественная среда противится: вы уже (!) пишете на декларативном языке, неплохо было бы узнать об этом подробнее (о языках или даже о типизации), тем более, что крайне близко к вам находится интереснейший язык js, а там моментально вылезут проблемы связывания html и js, разные подходы к этому, целые парадигмы и фреймворки; и вот вам выпадает интересная задача по анимированию svg, вы курите мануал по нужной либе, читаете что-то про reflow/repaint, внезапно узнаете что-нибудь про селекторы. И через какое-то время, будучи все тем же верстальщиком, вы видите архитектурный косяк дизайна, который очень неудобно укладывается в используемые технологии, предлагаете его пофиксить и спасаете команду от факапа через месяц, когда какой-нибудь транзишн наложится на какой-нибудь position: fixed и еще и в Safari упадет анимация и только там, а тут и новая тудушка: "Переделать, нафиг, всю шапку, чтобы ок было". Что-то изменилось в мышлении и картина стала полнее. ВНЕЗАПНО вы уже и инженер, можно сказать, ЗП растет, все дела, рутины меньше стало.

    Так вот, о инженерах. Можно выучить, например, Python за пару дней, там же отличный мануал. Но настоящий программист - это инженер, потому что вся суть в архитектуре, во взаимодействии объектов/компонентов и в том, как все это соотносится с задачей. Какой молоток взять, это уже без разницы, как состав на банке прочитать. То есть суть вашей работы заключается как раз в объекте и среде, а не в инструменте. Образно говоря, когда вы сидите в кафе, суть не в чашке чая, а в атмосфере и как вы себя в ней чувствуете, но при этом чашка чая нужна, чтобы заставить вас что-то делать и вписать тем в самым во взаимодействие со средой, поэтому придется научиться красиво пить чай.

    Подведу тут черту: естественные зависимости - это норма, а суть в инжиниринге. Можно двигаться по зависимостям дальше. У вас есть интервал, где есть минимальный порог, ниже которого нельзя, и максимальный, где вы "мастер на все руки", что тоже плохо. Между минимальным и максимальным порогом можно двигаться. Взять те же сети: разворачиваете приложение, видите линуху, настраиваете сеть. Можно немного заморочиться и прочитать про основы маршрутизации, буквально 2 вечера, можно еще про сетевой стек в линукс, еще 2 вечера, и уже будет во много раз проще. Кроме того, возрастет культура в целом и если вы программист на бэке, то вам будет проще взаимодействовать с админами. Про OSPF, очевидно, читать не надо, важен баланс. Баланс - это понимание того, на что у вас акцент (вы программист? какой? фронт/бэк? насколько важны сети/ос? проектируете бд? верстаете? интересен ли прикладной кодинг под какую-то ос и так далее...) и насколько интересны естественные далекие зависимости выбранной области.

    Так вот, теперь у нас есть естественные зависимости, инжиниринг и баланс между порогами. А не php/jquery/html/css.

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

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

    А теперь, собственно, выводы:

    1) Вакансий крутых много, надо пробовать. Нужно только отличать близкие и необходимые естественные зависимости от мастера на все руки. Я считаю, что мастером на все руки нужно поработать хоть однажды, чтобы просто понять, почему это плохо. Но зависимости будут всегда, и это норма. Вы перечислили слишком радикально, конечно.
    2) Себя пилить под вакансию не нужно. Нужно просто идти туда, где интересно, всегда стараться быть инженером и не убить в себе искусство (то есть не бояться делать так, как кажется правильно, чтобы либо убедиться в правоте, либо ошибиться и стать круче).
    3) Не нужно думать в стиле "а что если завтра рубионреилс развалится, комьюнити разойдется, вакансий не будет, что я буду делать". Вы же инженер. У вас опыт в проектировании IT-систем, перейти на что-то смежное, если будет понятно, что технология умирает, не составит труда.
    4) По естественным зависимостям нужно двигаться по мере интереса, вы станете от этого только лучше.

    Это, конечно, если вам действительно все это интересно. Все это области, очень близкие к искусству, и тут надо любить все это делать.
    Ответ написан
    8 комментариев
  • Где водятся специалисты JavaScript?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    > ... который мог бы совмещать качественных фронт и бэкэнд на node.
    Не ищите 8-мирукого Шиву. Backend и Frontend отличаются очень сильно.
    Хороший фронтендщик должен уметь верстку, уметь браузерные фреймворки и знать нюансы работы каждого из поддерживаемых браузеров + фотошоп и т.д.
    Хороший бэкнедщик (nodejs) должен знать как минимум несколько бэкенд фреймворков, как минимум одну СУБД, уметь в линукс (если проды под ним), знать k-v базы данных и т.д.

    Это при том, что оба должны знать JavaScript.

    Обратите внимание, какие вопросы задаются на собеседовании. Очень много зависит от интервьюера. Бывали довольно забавные случаи:
    1. Ок, про горизонтальное расширение поговорили, про индексы бд поговорили, про системы кэширования поговорили, а теперь практика: что произойдет (показывает код) $a = 5 + '5abc' + 'abc5';. Я: Вообще говоря 10, но на самом деле - постараюсь поговорить с автором с целью понять, что такое ужасное может произойти в жизни, что бы он позволил себе такое написать. (сразу после этого вопроса желание идти в эту компанию поубавилось)
    2. Назовите хотя бы 5 плейсхолдеров sprintf. Я: я ее не использовал. Но как же, все ее используют! Я: вы помните все плейсхолдеры функции date, помимо стандартных Y,m,d,H,i,s ? ....

    > Сергей
    > который знает js, а Node.js, это библиотека.
    Очень спорно)), браузерный и серверный js довольно сильно отличаются. Если программист знает nodejs - он знает js, в противном случае - велика вероятность, что он просто знает jquery, такое сплошь и рядом.

    UPD

    > Тимофей
    > Нельзя "знать node.js". Это как сказать, что я знаю не Java, а JVM или не C#, а .NET.
    Вы мой комментарий прочитайте еще раз.
    > Если программист знает nodejs - он знает js
    В браузерном JS чуть-что всегда можно перезагрузить страничку. Проблема утечек памяти в там в принципе возникает, если пишется SPA, или его производные. В то же время на серверной части - это критично.
    Я лично, когда собеседовал соискателей задавал вопрос: как на существующем сайте (там jquery не установлен), с помощью jquery нажать на кнопку? Единицы отвечали что-то в стиле "создать DOM элемент script под jquery, а дальше нажать через click", в большинствен случае было что-то невнятное в стиле "ыыы....", или "никак".

    Смысл тут в том, что nodejs разработчик обязан знать native js, от фронтендщика это требуется меньше, как следствие существует куча человеков, считающих себя тру-синьйорами, а на деле знаю только jquery.
    Ответ написан
    2 комментария
  • Как вы относитесь к возможности сортировки вопросов Тостера по степени их сложности?

    VitalySorokin
    @VitalySorokin
    тружусь во благо «ТМ»
    В ближайшем будущем постараемся ввести систему рейтинга и оценки сложности вопроса, уже не раз обсуждали возможность фильтровать ленту вопросов ползователя по категории сложности.
    Остается придумать как мотивировать «продвинутых» пользователей помогать тем, кто только начинает учиться, так как от них поступает большая часть вопросов, и они нуждаются в «быстрых» и полных ответах, не менее других.
    Ответ написан
    21 комментарий
  • Какие ЯП не требуют кучу прикладнухи для устройства на работу?

    barmaley_exe
    @barmaley_exe
    Никакие.

    Один лишь ЯП в вакууме с точки зрения применения в конечном продукте абсолютно бесполезен. Ибо, как правило, программный продукт существует не обособленно, а, так или иначе, взаимодействует с другими программами (операционной системой, например). Более того, зачастую разумно не изобретать велосипед, а воспользоваться уже готовым решением, которое было проверено временем. Таким образом, приходится знакомиться с кучей уже существующих технологий.

    Вообще, в области server / desktop / mobile очень сложно уйти далеко без, как минимум, следующего:
    • Объектно-ориентированное программирование и проектирование — ведь код не должен быть говном
    • Параллельное программирование — ведь делать нужно много и быстро, а у нас уже 10 лет как многоядерные машины есть
    • Сети — ведь нельзя жить без интернета
    • Базы данных — ведь данные надо где-то хранить, и хранить надёжно


    hardware не комментирую, но там ещё хардкорнее.

    Собственно, для программиста не столько важно знать какой-либо конкретный ЯП, а важно владеть технологиями разработки. ЯП, конечно, входит в это множество, но им оно совсем не ограничивается.
    Ответ написан
    3 комментария
  • Какие ЯП не требуют кучу прикладнухи для устройства на работу?

    gadfi
    @gadfi
    https://gamega.org
    кофе носить ...
    А если серьезно то когда деревья были зеленее, небо синее, мои глаза не имели нежнорозовго оттенка и под ними не было мешков, а фраза hello world значила для меня привет мир на буржуйском языке, никак не ассоциируясь с первой программой любого программиста ─ уже тогда просто знания языков было не достаточно.
    Возможно если вы классно знаете с++ вам этого хватит, но как вы можете классно знать с++ не зная как работать к примеру с сетью или портами ? И так всюду, чуть глубже копнуть и уже оказывается нужны дополнительные знания.
    php без базового знания html ─ что вы с ним делать то без него будете ? окей это реально, встречал удачные архитектурные решения когда бэкэнд хорошо продуманный rest сервер, которому не принцыпиально кому он отдает данные, веб клиенту написанному на js(да да с использованием знания html, css..) или мобильному клиенту. Только для написания такого сервера нужно знать что такое rest и с чем его едят, базы данных и многое другое и да json/xml в том числе ) вас как джуна самостоятельно никто на такое не поставит
    Вы выделили JSON отдельным пунктом, что немного странно, хотя многие компании действительно часто пишут в вакансиях знания json/xml ... бред честно говоря, времена когда приложения варились в собственном соку прошли, мне трудно представить области(хотя они конечно есть, но там хватает других очень специфичных знаний) где обходятся без них, даже контролеры сейчас все чаще работают с сетью ...
    Для джуна требуется не так уж много, но знания одного языка как правило маловато
    Ответ написан
    Комментировать
  • Какую литературу по Python и Django порекомендуете?

    Atanvar
    @Atanvar
    Frontend developer
    Python - Лутц "Изучаем питон"
    Django - djbook.ru/rel1.7
    Ответ написан
    Комментировать
  • Как объединить два похожих проекта в один?

    Я не работал с Flask и не знаю деталей реализации конкретно ваших приложений, так что в моем ответе скорее общие размышления по теме, чем конкретные рекомендации.
    Есть замечательный принцип DRY (Don’t repeat yourself).
    В соответствии с ним я бы выделил общие или минимально различающиеся части ваших проектов в одно отдельное приложение, например base_crm и подключал бы его в каждом из проектов.
    А уже в самих проектах дописывал, наследовал и переопределял только специфичные для конкретного проекта части.

    Конечно при сильном изменении логики в base_crm придется менять и код проектов где она используется, но при этом не понадобится дублировать код. А при необходимости дублирования стоит подумать, нет ли смысла вынести такой код в базовую часть.
    Ответ написан
    Комментировать
  • Как объединить два похожих проекта в один?

    bobrovskyserg
    @bobrovskyserg
    Сложно:
    Вынести общий код в отдельный проект и произвести дочерние crm-ки
    Геморно/тупиково:
    Слить проекты в один с "условной компиляцией" - включением той или иной функциональности по флагу
    Правильно:
    Оставить как есть: иногда - это ведь не всё время, работает - не трогай.
    Съэкономленное время потратить с пользой ))))
    Ответ написан
    Комментировать
  • Где можно научиться Python для веб-разработки?

    @LLlAMuJIb
    О боги! Ребята, почему вы так делаете? Это все уже по нескольку десятков раз спрашивалось и отвечалось тут.
    Арендуй сервак, разверни на нем питон, напиши агента, который найдет все страницы с подобными вопросами на тостере и агрегирует полученные ответы, можешь выявить частоту вхождения каждого ресурса, предлагаемого пользователями.
    Так сразу двух зайцев убьешь, и вебу подучишься и поиск освоишь.
    Все решается конкретными задачами и поиску ответов на них, придумай себе их и ты будешь молодцом
    Ответ написан
    Комментировать
  • Как сделать дополнительные страницы в админке Django?

    un1t
    @un1t
    Добавляешь в urls.py адрес виде admin/mypage
    и делаешь обычную вьюху в любом своем приложении.
    Шаблон понаследуй от базового админковского admin/base_site.html

    Вобщем точно также как и не в админке.
    Ответ написан
    Комментировать
  • Что можно написать на Node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js

    Часто применяется для:

    1. Локальные приложения и утилиты командной строки
    • Сборщики и трансляторы
    • Пакетная обработка и сценарии отложенной обработки
    • Скрипты, CLI (интерфейсы командной строки)
    • Генерация документации, отложенное формирование отчетов
    • Сценарии тестирования для других систем

    2. Серверы
    • Серверы веб-приложений и SPA
    • Серверы и API для мобильных приложений
    • Любые другие веб-API (RPC, JSON, REST)
    • Серверы сообщений и трансляция событий (чаты, игры, интерактив)
    • Заплаты на уже готовые системы, написанные на других языках, для реализации вебсокетов, SSE, лонг-пулинга и т.д., т.е. для затыкания дыр, для решения проблем в узких местах уже работающих систем.

    3. Клиенты
    • Оконные приложения (nw.js, node-webkit)
    • Кравлеры, парсеры и сбор данных

    4. Железо
    • Программирование микроконтроллеров (arduino, espruino, tessel)
    • Промышленная автоматизация

    Редко применяется (но подходит) для:
    • CMS, публикация контента (просто ниша уже занята и в этой задаче нода не дает чего-то принципиально нового или сверх соблазнительного).
    • Массовая электронная коммерция и торговля (не применяется для массовых движков магазинов, но используется отдельными крупными компаниями для торговых и платежных задач в качестве дополнительного средства к уже имеющемуся ПО, по сути закрывает узкие места).

    И плохо подходит:
    • Вычисления и моделирование, со скоростью математических операций нода и JS, как не типизированный язык, не дают хороших показателей
    • Научные приложения (по тем же причинам)
    Ответ написан
    10 комментариев
  • Какой php-фреймворк выбрать после Django?

    un1t
    @un1t
    Фреймворков хватает (Symfony, Yii, Laravel, CakePHP), но неужели труд по изучению нового фреймворка стоит дешевле хостинга?
    Домен можно перенести куда угодно, проблем быть не должно.
    Ответ написан
    2 комментария