Задать вопрос
  • Стоит ли изучать программирование веб-дизайнеру?

    Serhioromano
    @Serhioromano
    Web Developer
    Я закончил художественну школу и всю жизнь был связан с дизайном. Работал в бригаде отделочников советского времени, когда дизайн придумывали мы сами. Работал художником оформителем в разных организациях. Потом начал работать с компьютером. Стал дизайнеров в одной студии (полиграфия). Открытки, этикетки так сказать. Но если честно я ни когда не чувствовал себя как дома. Мне нравилось, но так как я никогда не делал ни чего другого, я думал что так и должно быть.

    Мой основной мотив, заниматся этим, была возможность самореализации. Это то чего мне всегда было нужно. Даже на гитаре научился играть между делом и закончил муз училище уже будучи взрослым.

    Но в какой то момент, я решил попробовать программировать. Я начал изучать PHP. Ну с ним естественно MySQL, HTML, CSS, JS.

    О как я был слеп. Войдя в мир программированя, я понял, почему будучи художником, и еще стал учится музыке. Мне не хватало. Я чувствовал голод. Но погрузившить в программирование, я "нашел мир своей душе" (только Бог может дать истинный мир). Я насытился. Я получил все что надо.

    Я всегда думал что я гуманитарий и точные науки, я не потяну. Даже в институт из за этого не пошел. Но оказалось, что я просто был обманут тем фактом что в 10 лет был отдан в Художественную школу что и сформировало следующие 22 года моей жизни.

    Писать код, это как писать картину, только вместо того что бы на нее смотреть, она может делать, то что тебе надо. Это как рисовать в 3х измерениях. Возможностей для само реализации столько, что просто не видно конца. Как человек творческий, меня более чем удовлетворила эта сфера деятельности. Я до сих пор смотрю на код как на мои работы, мой арт. Архитектура алгоритма это как композиция. Надо все раставить красиво и гармонично. Чистота кода, это как техника штриха. И конечно же для хорошей картины важны мелкие детали, хорошо прорисованые и продуманые.

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

    Короче

    Коротко ответ на вопрос. Может и у вас скрытый талант и любовь к этому. Может попробовав вы уже не сможете от этого отказаться. А может и нет.

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

    Lovesuper
    @Lovesuper
    pyhon, java, swift программист
    Вообще, знание нескольких фреймворков дает вам более четкое представление какие тренды есть сейчас в индустрии. Советую вам выбрать определенный язык (в вашем случае php или python) и на нем уже досконально изучить основные фреймворки. Например я, пишу на python и для меня основным фреймворком сейчас является Pyramid, исключительно мощный, со множеством плагинов. Удобный и неплохо написанный внутри. Django имеет много готовых решений, его обычно выбирают начинающие программисты, или те, кто не хочет париться по поводу последующей поддержки. Сорцы "грязные" и не очень удобночитаемые. Flask я люблю использовать для "быстрых" проектов. Очень приятный фреймворк с отличным комьюнити и большим кол-вом cookbook'ов. Полгода назад открыл для себя Bottle. Теперь использую его для набрасывания одноминутных веб-приложений. Callback откуда-нибудь поймать, отдать какой-нибудь input. Pylons используюется в моей компании давно (сейчас на Pyramid перешли, и приходится поддерживать старые проекты) и довольно успешно с ним работали т.к. тоже имеет довольно знаковую историю ведущуюся прямо от Zope. Короче, фреймворков много и неплохо было бы почти со всеми основными познакомиться и уметь с ними работать чтобы не стать "мастером Django", условно говоря, даже не знающим Python. Ладно, не буду дальше набрасывать на вентилятор, такое вот мое мнение. Хорошо, если поможет чем-то!
    Ответ написан
    1 комментарий
  • Реально ли стать тестировщиком ПО в 39 лет, учитывая то, что основная профессия далека от IT?

    @polarnik
    Тестировщик
    Обучаю коллегу, который старше меня. Он экономист, работал на телевидении, много где. Он, пока, молчит когда идёт обсуждение архитектуры, принципов DDD или вариантов реализации новой фичи. Но каждая минута, вложенная в его обучение, экономит мне две.

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

    Что касается литературы - читайте всё, литературу для разработчиков, аналитиков, архитекторов, руководителей. Так поймёте, что хотят от инженера по тестированию. Литературу для инженеров по тестированию тоже читайте, так научитесь говорить на одном языке с коллегами.

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

    По сравнению зарплат разработчика и инженера по тестированию, замечу, следующее. Если разработчик работает по 16 часов в сутки, пишет лучший код, изучает всё вокруг, обучает коллег, улучшает процесс, стремиться к лучшим к отрасли. А тестировщик с тем же стажем лишь кликает по чек-листу. То зарплата тестировщика будет ниже, что логично. И это неправильно выполненное сравнение.
    Если же тестировщик прёт как танк, а разработчик лишь способен исправлять баги, создавая при этом два новых, то ситуация по зарплате будет обратной.
    Ответ написан
    Комментировать
  • Что из этих технологий для чего используется?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Оукей. давайте возьмем ваш пример с fl.ru + чаты.

    mongodb - хипстерская база данных. Для проекта типа fl.ru я бы пожалуй не использовал оную (не потому что монга отстой а потому что я лично не вижу в использовании оной смысла в контексте проекта типа fl.ru. Нам не нужен шардинг, реплекация реализуется нормально на любой нормальной RDBS, документоориентированность не нужна, хотя при грамотном подходе можно было бы реализовать неплохие агрегированные коллекции и оптипизировать селекты... Для себя не нашел у монги ни одного плюса перед RDBS типа PostgreSQL). В любом случае если вы не оставляете выбор - тут у нас будут храниться все данные. Придется потратить время на то что бы избавиться от желания что-то заджойнить и реализовать map/reduc-ы для обновления связанных коллекций. Но зато это будет так по хипстерски!

    То есть если у вас есть куча однотипных запросов с кучей джойнов данные для которых обновляются редко а выборки происходят часто, то тогда можно вооружиться монгой а делать коллекции как агрегации этих выборок. Если вы вставляете референсы и пытаетесь эмитировать джойны в монге то значит вы сделали не правильный выбор основного хранилища данных). Правда денормализовать данные можно и с RDBS....

    sphinx - поисковой индекс. То есть если мы должны реализовать вменяемый поиск (например по описанию вакансии) - то стоит его заюзать. Сфинкс не самый дружелюбный зато один из самых быстрых поисковых индексов. Хорошо интегрируется с MySQL и подобными и если сравнивать с ElasticSearch из коробки чуть лучше дружит с русским языком. Но опять же у эластики свои плюшки. Некоторые оной заменяют монгу так как по большинству фич в плане хранилища данных они совпадают.

    redis - мы там вроде чатик делали. Помимо того что redis это хорошее key-value in-memory хранилище, которое к тому же может обеспечить нам надежность хранения данных (мэпится на файловую систему еще), оно так же поддерживает pub/sub. То есть чисто теоритически мы можем не добавлять в стэк штуки типа ZeroMQ и прочие *MQ для реализации авторизации и связи приложения чатика и основного приложения (вдруг у нас чатик будет написан на go/node.js/erlang).

    memcache - вот тут стоит подумать нужен ли он если у нас есть редиска. Раньше для жирного кеша выбор был очевиден - memcached, так как reddis в те времена не поддерживал кластеризацию. Сейчас же по возможностям редиска далеко впереди. Так что даже то что memcached чуточку быстрее (но жрет больше памяти и не поддерживает авторизацию к примеру из коробки) не должно стать поводом для использования оного. Но я если честно redis в кластерах не использовал и ничего говорить не могу, а memcached испытан годами.
    Ответ написан
    1 комментарий
  • В каких программах пишут сайты профессионалы?

    abukin
    @abukin
    Программирую на Python
    Лучшие инструменты это текстовый редактор + мозг.
    Дримвивер не поможет вам понять основы и вникнуть в смысл построения сайтов, а лишь научить тыкать кнопки.
    Лучше старайтесь больше изучать по книгам и мануалам в сети таких много.
    Редакторов уйма. Мне лично по душе Sublime Text.
    Ответ написан
    3 комментария
  • Актуально ли сейчас специализироваться только на HTML5/CSS3?

    Если Вы досконально знаете css и html и можете часами рассказывать про 100 и 1 способ вёрстки определённого эл-та, документацию чуть ли не наизусть знаете, если Вы знаете все свойства для определённых браузеров, и знаете почему и где их применить + у Вас супер валидная, кроссбрузерная или семантичная html 5 вёрстка, то да такие профи нужны, но всё же и им нужно хоть чуть знать js, на худой конец слайдеры на jq писать.
    Но если вы не знаете таких нюансов в вёрстке, то возьмут скорее человека со средним знанием js.
    Ответ написан
    1 комментарий
  • Какой язык выбрать для небольшого сайта?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Вариантов-то немного. Либо пишете на том, на чем знаете, либо пользуетесь возможностью и пишете, параллельно изучая что-то новое. Знаете JS — так и делайте на nodejs.
    Ответ написан
    Комментировать
  • Как создать сайт который видна тольков организации?

    risik
    @risik
    Программист
    Это можно сделать:
    1) на каждом компе в организации прописать адрес в /etc/hosts. Это плохой путь.
    2) внутри организации, поднять DNS сервер, если его еще нет. По DHCP (если используется DHCP) выдавать адрес вашего DNS сервера. На этом DNS сервере добавить. Это нормальный путь.
    Ответ написан
    Комментировать
  • Что выбрать: OS X или Linux, т. е. какой ноутбук купить?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    @Sanes: Я вот линуксы каждый рабочий день настраиваю, много и разных (в основном сервера правда, но кишки его знаю неплохо и сам сидел на нем пару лет), работа такая, сам пользуюсь для работы маком, кратко суть передана s0ci0pat очень точно. Для того чтоб получить что-то похожее на мак, надо с линуксом проебтись качественно с неделю, и потом каждый мажорный апдейт повторять процесс, если и не полностью, то большей частью. Как минимум слабые места линукса в сравнении: alsa/pulse да и вообще звуковая часть без качественного секса работает криво, настроить можно нормально но приходится ручками перебрать половину конфигов, скайп - он на линуксе ужасен, отсутствие вменяемого офисного пакета, ОО не предлагать, он годится только для очень простой и ограниченной правки, да и вообще отсутствует много рабочего софта, либо работает только через wine и криво, хотя в маке нативно. Поехали дальше: жесты, на маке оно очень удобно я 3 года как выкинул мышь вообще и пользуюсь исключительно magic trackpad дома, либо трекпадом макбука в дороге, расскажете как его прикрутить к линуксу со всеми функциями, а не только базовые тапы? Тайммашина, она прекрасна, чтоб на линуксе настроить такой-же удобный бэкапер с поддержкой bare metal из коробки надо скрестить несколько продуктов и качественно это все оттюнинговать, на маке 2 клика, энергопотребление, я не хочу разводить холиваров, но лично у меня на ноутах не получилось заставить линукс жрать меньше или столько-же. В новой версии интеграция с айфонами/айпадами, ну не умеет линукс принять звонок с мобилы и т.п. может я не в курсе, но не встречал такой фишки

    Что лучше в Linux, чтоб не быть однобоким: серверная часть, настроить, например, на маке полноценный LNAMP - та еще задачка, да и вообще количество возможностей для администрирования в Linux на порядок больше и качественней, любые варианты серваков, тогда как на маке даже самба работает из коробки коряво. Возможности маршрутизации - на маке очень нетривиальная задача, сделать то, то он не умеет из коробки, например множественные таблицы с шейпированием и своими приоритетами трафика, бриджи, тунели и тп. Документация по кишкам, линукс открыт большей частью, что-то не пашет есть дока, сообщество, на крайняк исходники, при желании можно допилить почти все, на маке, что эппл прикрутил, то и пашет, любой шаг в сторону или не возможно или очень криво и геморройно. И последнее что сразу вспомнилось, лично для меня, эмулятора терминала удобней чем Konsole (из KDE 4) найти не удалось, маковский iTerm2 даже близко не догоняет его по удобству лично для меня, хотя уже смирился.

    Для себя оптимальным нашел мак, в качестве основной системы с установленным на виртуалку линуксом, для тех задач, которые под маком делать сложнее/дольше, ну и с качества сборки маковского железа я тащусь, еще не совсем растеряли стандарты качества, заложенные при Джобсе, хотя если сравнивать релизы например 2011/2012 и 2014 годов, то в 2014, лично по моему мнению, качество стало хуже.
    Ответ написан
    Комментировать
  • Что выбрать: OS X или Linux, т. е. какой ноутбук купить?

    @mmxdesign
    Software Engineer
    MacbookPro..... всегда его недоценивал пока мне его бесплатно не подарили... теперь пользуюсь только им...(хотя есть еще и Sony и Lenovo)
    Но после Мака к ним подходить не хочется.
    OS X оказалась такой стабильной и удобной ОС, что сосредоточен только на работе... ты ее даже не замечаешь... она есть и все. Практически не зависает, после сна мгновенно просыпается и уже готова для работы. Меньше глюков в работе ОС.
    Ничего настраивать не надо....

    PS. только потом пересев на Винду, будешь постоянно путать CMD с ALT )
    Ответ написан
    Комментировать
  • Какой диструбутив линукс будет лучшим выбором для веб- разработчика?

    Serhioromano
    @Serhioromano
    Web Developer
    Я пользуюсь Мак ОС. Это система тоже униксовая. Мне она нравится из за того что на нее софта уже достаточно. Можно все делать. И в тоже время все найтивно встает. К стати ноуд и подобные были одной из причиной прикупить Мак.

    Можно конечно беспланые как Убунту, но я реально считаю, что система должна приносить удовольствие во время работы. Ббольшая часть жизни проходит взирая на эту систему. Ну а мак реально не плохая система.
    Ответ написан
    Комментировать
  • Какой диструбутив линукс будет лучшим выбором для веб- разработчика?

    @drunking
    Для веб разработки: Windows + Vagrant->Ubuntu.
    Сам юзаю box.scotch.io
    Ответ написан
    Комментировать
  • Новичок в php, неправильно отображается код, что делать?

    DmitryPRG
    @DmitryPRG
    PHP программист
    Не так ты делаешь довольно много.
    Основная ошибка - это просто открыть файл в браузере. Этого не достаточно для того, бы заработал PHP.

    Скачай и установи себе
    open-server.ru

    Там у тебя будет папка которая будет открывать по пути, который уже будет обрабатываться твоим компьютером как сервером.
    И PHP тебе выведет тот текст, который ты написал.
    Ответ написан
    Комментировать
  • Новичок в php, неправильно отображается код, что делать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    учусь по видеоурокам, все сделала как надо

    если что-то пошло не так, то значит не все как надо.

    Выражу свое личное мнение: видеоуроки по языкам программирования это дичайший бред. Просто полнейший. Заплатите каких баксов 5 за онлайн курсы в виде лекций или просто поищите в сети бесплатные лекции. Будет намного полезнее. Все остальное - php.net - там есть документация на русском. Для начала ее более чем хватает.

    Для более углубленного понимания стоит так же почитать спеку по языку: https://github.com/php/php-langspec/tree/master/spec но это когда в голове базовые вещи сформируются.

    Что до вашей ошибки - это не ошибка. Посмотрите на строку в браузере. Видите там file:// ? Это значит что вы просто открыли файл в браузере. Вот когда там будет http и запрос будет обрабатываться web-сервером (apache, nginx или встроенный в сам php - решать вам. Рекомендую последний вариант так как ничего ставить не нужно будет) - тогда все будет хорошо.

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

    zelsky
    @zelsky
    Я изврещенец и линуксоид.

    import os
    link = 'https://pp.vk.me/c540104/c624218/v624218602/3321/uYVa4FQv_q0.jpg'
    os.system('wget %s'% link)


    Сохранит в домашний каталог.
    Ответ написан
    2 комментария
  • Как в php хранить картинки в json? И как оттуда взять?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Не надо хранить картинки в json
    2. Формулируйте мысли по русски пожалуйста, с соблюдением орфографии и пунктуации.
    3. В вопросе не плохо указать что именно Вы хотите сделать и зачем.
    Ответ написан
    Комментировать
  • Как осуществить выборку из трех несвязанных таблиц yii?

    @Dialog
    Что значит «не связанны, и на половину отличаются структурой»? Если они не связаны, то значит и выбирать их тремя запросами. Мне кажется, что вам стоит почитать несколько статей-мануалов про SQL.
    Ответ написан
    Комментировать
  • Литература, о том как читать книги?

    Color
    @Color
    Golang SWE, Cloud & DevOps
    Вообще, начинать учить язык по книге кажется правильно, но не очень работает. Много хороших новых знаний смешивается, понятия разных уровней накладываются и на практике все равно делаешь не так.

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

    Я так питон учил, сначала на Codecademy курс прошел, потом нашел подработку удаленно, а сейчас Лутца читаю. И именно такое ощущение, когда я понимаю о чем речь, но узнаю тонкости и улучшаю свой стиль.
    Ответ написан
    Комментировать
  • Когда осуществить переход с C++ на Objective-C?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Можно же сразу на Swift-е...

    На самом деле как хотите. Углубленное знание C++ не поможет вам писать на Objective-C (ну как, если вы будете еще паралельно на плюсах писать какие-то библиотеки то да, поможет). Знания Си будут полезны (а точнее понимание архитектуры ЭВМ и того как работают современные процессоры в том числе и ARM-ы) но как показывает практика - не обязательны.
    Ответ написан
    Комментировать
  • Как создать свою модель пользователя в django?

    @bromzh
    Drugs-driven development
    В новой джанге можно кастомизировать модель пользователя.

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

    UPD
    Сжатый пересказ, при учёте, что ты создаёшь приложение с нуля, а не мигрируешь с созданного приложения с готовой базой и пользователями:

    1. В настройках указываешь путь до твоей модели:
      AUTH_USER_MODEL = 'myapp.MyUser'
    2. Везде в моделях где используется внешний ключ на юзера, прописываешь settings.AUTH_USER_MODEL
      class Article(models.Model):
          author = models.ForeignKey(settings.AUTH_USER_MODEL)

      И тоже делаешь для сигналов:
      def post_save_receiver(signal, sender, instance, **kwargs):
          pass
      
      post_save.connect(post_save_receiver, sender=settings.AUTH_USER_MODEL)

    3. Создаёшь модель пользователя, в которой указываешь поле-идентефикатор (например, это может быть поле name, или поле email, или ещё какое-нибудь другое).
      class MyUser(AbstractBaseUser):
          identifier = models.CharField(max_length=40, unique=True)
          ...
          USERNAME_FIELD = 'identifier'

      В этой же модели прописываешь необходимые для регистрации поля:
      class MyUser(AbstractBaseUser):
          ...
          date_of_birth = models.DateField()
          height = models.FloatField()
          ...
          REQUIRED_FIELDS = ['date_of_birth', 'height']

      Ещё надо переопределить некоторые методы и поля при необходимости (в доках написано какие)
    4. Надо создать кастомный менеджер, создающий пользователя. В нём надо реализовать методы create_user и create_superuser
    5. Надо создать новые формы для твоего пользователя и кастомизировать класс для админки, учитывающий твои новые поля
    6. ???
    7. PROFIT
    Ответ написан
    2 комментария