Задать вопрос
  • Xming + PuTTY не переключается раскладка клавиатуры

    @demsi
    При запуске Xming через XLaunch в 3 окне по счету "Additional parameters" в поле "Additional parameters for Xming" введите строчку:
    -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:ctrl_shift_toggle

    В итоге будут две раскладки клавиатуры(русская и английская) и переключаться они будут по ctrl+shift.
    Ответ написан
    Комментировать
  • Ошибка syntax error, unexpected 'if' (T_IF), expecting ']'?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Совсем не вижу не правильно поставленные скобки.

    ну тогда поставьте IDE или блокнот с подстветкой хотя бы.
    Ответ написан
    Комментировать
  • Как эффективно развивать себя как разработчика?

    aRegius
    @aRegius
    Python Enthusiast
    Вам будет гораздо легче решать большую часть стоящих перед вами задач (а другим гораздо легче вам в этом помогать), как только вы перестанете описывать их общими фразами (типа "максимально эффективно", "полноценный дев", "хорошим специалистом" и т.п.).

    Будьте конкретны:
    - "Моя цель на ближайшие 6 месяцев - вырасти до позиции XXX в текущей компании". И далее:
    - "Что мне нужно сделать для того, чтобы в течение 6 месяцев в моей компании вырасти до XXX ?"

    С этим уже можно обратиться к людям, обладающим достаточной компетенцией в помощи вам с ответом на этот вопрос: "Для того, чтобы в нашей компании стать XXX, нужно знать ЭТО и уметь ТО".

    - "Что мне нужно для того, чтобы узнать ЭТО и научиться делать ТО ?". Cоставляете план действий (разбиваете необходимые шаги на месяцы, недели, дни) с дежурными сроками (для проверки запланированного и достигнутого, внесения в связи с этим необходимых корректировок и т.п.) - и вперед.

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

    Успехов.
    Ответ написан
    Комментировать
  • Как проверить разроботчика на честность?

    @immaculate
    Программист-путешественник
    Если бы этот вопрос имел решение, целая отрасль вымерла бы (HR). В общем и целом никак нельзя проверить до начала работы. Все методы имеют ограничения и не гарантируют ничего. И потом, даже хороший разработчик может оказаться несовместим с вами. Рабочие отношения - тоже отношения, которые не ограничиваются формулой деньги=продукт, и не каждые два человека могут сотрудничать, даже если каждый из них профессионал в своей сфере.

    Ровно месяц назад я отказался от дорабатывания сайта, который писал человек, пишущий в своем профиле на Upwork, что он:
    1) Закончил МГУ
    2) Закончил сложные нетривиальные курсы на Coursera
    3) Имеет 5 лет опыта разработки веб-сайтов
    4) и другие регалии

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

    Sanes
    @Sanes
    Что вы к нему (разрабочику) пристали? Или доверяете или нет. Не тратьте своё и чужое время.
    Ответ написан
    Комментировать
  • Какой опыт Git нужен веб-разработчику для работы в команде в компании?

    Желательно понимать, что делают и зачем нужны следующие команды:
    git status
    git checkout
    git reset
    git fetch
    git pull
    git push
    git diff
    git add
    git commit
    git stash
    Ответ написан
    7 комментариев
  • Расскажите подробно про php://input, как пользоваться?

    php://input возвращает все необработанные данные после HTTP-заголовков запроса, независимо от типа контента.

    Данные, могут быть:
    • application/x-www-form-urlencoded ( application/x-www-form-urlencoded тип application/x-www-form-urlencoded для простых форм- application/x-www-form-urlencoded ) или
    • multipart/form-data-encoded (в основном multipart/form-data-encoded для загрузки файлов)

    Это связано с тем, что это единственные типы контента, которые должны поддерживаться браузерами. Поэтому сервер и PHP традиционно не ожидают получения какого-либо другого типа контента (что не означает, что они не могли бы).

    Если вы просто отправляете POST-ом обычную HTML-форму, запрос выглядит примерно так:
    POST /page.php HTTP/1.1
    key1=value1&key2=value2&key3=value3

    Но если вы много работаете с Ajax, может понадобиться обмен более сложными данными с типами (строка, int, bool) и структурами (массивы, объекты), поэтому в большинстве случаев JSON является лучшим выбором. Но запрос с JSON-полезной нагрузкой выглядел бы примерно так:
    POST /page.php HTTP/1.1
    {"key1":"value1","key2":"value2","key3":"value3"}

    Теперь содержимое будет application/json (или, по крайней мере, ни один из вышеперечисленных), так что $_POST -wrapper из PHP не знает, как с этим справиться (пока).

    Данные всё еще там, вы просто не можете получить к нему доступ через $_POST. Поэтому вам нужно получить его с "сыром" виде помощью file_get_contents('php://input') (если он не закодирован в формате multipart/form-data).

    Это также способ доступа к XML-данным или любому другому нестандартному типу контента.
    Ответ написан
    Комментировать
  • Как влиться в тренд нынешней веб-разработки?

    @SuperOleg39ru
    Front-end разработчик
    Добрый день!

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

    flexbox, grid layout
    - это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
    Немного о новинках в css тут.
    Поддержка браузерами тут.

    gulp, webpack и пр.
    - это инструменты, которые созданы для облегчения рутинных задач.
    Для верстки очень удобно использовать gulp - вы описываете задачи, такие как создание локального сервера, мгновенная перезагрузка страницы при изменениях, минификация ваших файлов, и прочее.
    Посмотрите отличный скринкаст от Ильи Кантора!

    препроцессоры
    - представьте, что вам чего-либо не хватает в html и css.
    Например, вы хотите разбивать большие html файлы на множество мелких, или вам нужно вставить в html динамическое содержание - для этого созданы html шаблонизаторы. Вы используете в работе синтаксис конкретного шаблонизатора, затем тот же gulp автоматически собирает эти файлы в обычный html, который понимает браузер.
    Аналогичная ситуация с css, препроцессоры позволяют разбивать файлы на мелкие, и собирать в один, доступны переменные и функции, и многое другое.
    Популярный шаблонизатор Pug
    Один из css-препроцессоров Stylus

    пакетные менеджеры
    - это удобный способ скачать конкретные библиотеки, и переносить их из проекта в проект. Статья про npm тут

    Ну и конечно статьи и подкасты:
    https://habrahabr.ru/
    jsraccoon.ru

    https://soundcloud.com/web-standards
    https://radiojs.ru/

    Конкретные статьи и ресурсы для новичка:

    frontender.info/a-baseline-for-front-end-developers
    frontender.info/a-guide-to-flexbox
    css-live.ru/articles-css/pravilnye-kontrolnye-toch...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://habrahabr.ru/company/zfort/blog/321214/
    https://frontendmasters.gitbooks.io/front-end-hand...

    Дерзайте!
    Ответ написан
    6 комментариев
  • В Laravel как вернуть в форму уже заполненные данные при неправильном вводе?

    DJZT
    @DJZT
    Laravel - code for you
    Если валидация не прошла, то метод update должен сделать редирект обратно на роут edit вот так
    return redirect()->route('article.edit')->withInputs()->withErrors();


    и ты сможешь так же использовать old()

    А лучше используй объект request
    Ответ написан
  • Как искать работу за границей?

    NetBear
    @NetBear
    Дисклеймер:
    - Нижеприведённое мои личные наработки без притензии на истину в последней инстанции.
    - Важно понимать, что всегда присутствует коэффициент удачи, который может многократно увеличить отдачу от ваших усилий, равно как и помножить их на ноль.
    - В любом случае это лучше, чем сидеть на попе ровно и ничего не предпринимать :)

    Пассивный поиск:
    - Создайте красивое резюме для сайтов проф. знакомств.
    - В сети есть многочисленные рекоммендации как такое резюме составлять. Не ленитесь его постоянно совершенствовать. Это не большие трудозатраты.
    - Обязательно укажите, что Вы находитесь в поиске работы и согласны на переезд в другую страну.
    - Помимо LinkedIn в Европе очень популярен сайт XING, поэтому не будеть лишним продублировать ваш красивый профиль на обеих площадках.
    - Ждите пока на Вас выйдут.

    Активный поиск:
    - Описанного в п. "Пассивный поиск" можно ждать бесконечно и не дождаться.
    - В LinkedIn подписывайтесь на профильные группы. Ищите объявления о найме. Рассылайте резюме куда можно и куда нельзя. Договаривайтесь об интервью, даже если это очевидно не выстрелит. Будте дерзким и напористым, но без фанатизма.
    - Есть ещё такой сайт, как JobServe. Там можно создать поисковый фильтр по ключевым словам, странам итд. Можно также подписаться на рассылку и получать результаты поиска по эл. почте.
    - Красивое резюме конвертировать в Word и PDF. Составить красивый cover letter. Желательно, чтобы последний был написан таким образом, чтобы его можно было максимально просто адаптировать к разным реалиям, т.к. он рассылается вместе с резюме и должен быть индивидуальным для каждой вакансии. В добавок не помешает написать красивое типовое письмо с обращением к агенствам по подбору персонала и пояснением чего вы от них собственно хотите. Дальше, ищем в сети те самые агенства по найму, работающие в интересующих вас географических регионах. Чем больше, тем лучше. Веером рассылаете им заготовленное красивое письмо о том что Вы много знаете и умеете и готовы продать родину по сходной цене. Из десятков откликнуться единицы, с ними продолжите переговоры. Где-то возможно дойдёт и до интервью, а там и до заветного трудоустройства рукой подать. Остальные занесут Вас в свои базы данных, которые Вам придёться раз в несколько месяцев обновлять повторной рассылкой вежливых напоминаний о себе.

    Update 1:
    Вот, кстати, замечательное дополненние от Aleksei Podgaev относительно сертификата по английскому. У меня в своё время тоже была проблема, общая для большинства людей, для которых английский неродной и они не находятся в англоязычной среде. Проблема заключается в неспособности оценить свой уровень, т.к. нет обратной связи с носителями языка. Я для себя нашёл следующий хак. Я подготовился и прошёл экзамен IELTS. Очень поучительно и даёт реальный толчёк в уровне языка. Если будет интересно, поделюсь своей методикой подготовки. Это отдельная интересная тема.

    Update 2: Хочу поделиться своими наработками в подготовке к IELTS

    Общая часть:
    Вышеозвученный дисклеймер в равной мере имеет отношение и к системе подготовки к IELTS. Это мой личный опыт. Нижепреведённое может не подойти вам полностью или частично в силу особенностей вашей личности, склада ума или жизненных обстоятельств.

    Как бы то ни было, мой личный опыт можно резюмировать следующими тезисами:

    1. Готовиться нужно только с преподавателем.

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

    3. Период подготовки не должен быть продолжительным. Не более 3-4 месяцев.

    4. Занятия в период подготовки должны быть интенсивными. Я старался брать 4-5 уроков в неделю, иногда брал сдвоенные.

    5. Я занимался удалённо, т.е. я был в Израиле, а преподаватель жила в Испании. Мне настолько понравилась талая система занятий, что на сегодняшний день даже если преподаватель будет жить в соседнем доме, я буду заниматься по той же схеме. Собственно схема:
    - У преподавателя есть публичный Гугл Календарь, в котором студент находит удобный для себя незанятый отрезок времени и назначает урок. Я, как правило, забивал уроки на неделю-две вперёд.
    - После того, как преподаватель подтверждал предложенное время, я оплачивал уроки на неделю вперёд переводом через Пейпал на счёт преподавателя.
    - Сам урок идёт по Скайпу. Первое время мы делали видеоконференции, затем я настоял на том, чтобы оставить только звук, т.к. на экзамене у вас не будет подспорья в виде картинки и возможности прочитать мимику или по губам. На экзамене требуется умение воспринимать на слух. Помимо всего прочего, я записывал аудио всех уроков. Это даёт возможность проработки сложных моментов самостоятельно итд.
    - В экзамене IELTS четыре части, т.е. помимо восприятия на слух и разговорных навыков, вам необходимы навыки "понимания прочитанного", а также написания эссе. Для тренеровки двух последних, моя преподаватель давала мне кучу письменных заданий, чтобы, так сказать, набить руку. Задания загружались ею в Гугл Докс и расшаривались со мной. После выполнения последних, преподаватель может проверить задания и сделать свои пометки, которые видны в Докс, т.к. имеется история версий и можно посмотреть начальный и конечный вариант.

    6. Закончить интенсив необходимо не в последний день перед экзаменом, а по меньшей мере за неделю до того как. Лучше за две.

    Техническая часть:

    1. Вот ссылка на сайт соединяющий преподавателей со студентами -- https://buddyschool.com. Вполне вероятно существуют аналогичные платформы, я не искал.

    2. Алгоритм поиска преподавателя следующий:
    - Смотришь рейтинг преподавателей и отзывы от бывших студентов.
    - Прицениваешься. В моём случае урок (60 мин) стоил 8.5 евро. Это было в 4 раза дешевле, чем на тот момент хотели местные преподаватели за 45 минут урока.
    - Списываешся с преподавателем/ями и начинаешь договариваться.
    - Берёшь пробный урок (обязательно!).
    - Если все звёзды сошлись, начинаешь заниматься.

    3. Я в своё время сделал такой финт ушами. Отобрал штук 10 +/- подходящих преподавателей и веером разослал им сообщение следущего содержания:

    Subject: Intensive IELTS preparation training required.

    Hello,

    I have registered for the closest IELTS test in my area. It's on May 16.
    I reside at GMT+2 time zone. So, my suitable time for the classes is at evening on weekdays and a bit more flexible on weekends.
    What I already have. Currently I’m on some middle-advanced English level, as I evaluate it. May be I mistake.
    What I need. I need some tutor strongly familiar with IELTS format to build for me (or might be already have this built) a highly intensive month-long training includes the practice for all four IELTS parts:
    - A bit less focus on Listening and Reading parts. It may be limited by set of necessary tips and hints and as addition several practical tasks.
    - A bit more attention to the other two parts Writing and Speaking, that the Skype format is tailored for them.
    So, my questions are:
    - Do you have enough familiarity with IELTS test format and preparation methods?
    - Do you have enough free slots for at least three classes each week of the next month until May 16?

    Regards,
    %username%


    Затем из ответивших, выбрал наиболее подходящих, их было 3. С ними со всеми я провёл пробный урок, по результатам которого отсеял ещё двоих.

    Update 3:

    В виду того, что размер ответа превысил установленный предел, он был отредактирован и перенесён в качестве публикации на Мегамозг -- megamozg.ru/post/10570
    Добавлен ещё один большой раздел о составление красивого резюме.

    Как-то так.
    Надеюсь окажется полезным.
    Удачи.
    Ответ написан
    10 комментариев
  • Стоит ли из владельца сайта переходить в дизайнеры?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    если занимались сайтами, то почему бы наоборот не вникнуть в специфику продвижения, seo, оптимизации, развития бизнеса, привлечения клиентов, увеличение продаж и посещений, в эту сферу.
    по анализу фриланс-бирж и общению с специалистами, эти области намного оплачиваемее, чем дизайн сайтов. чтобы стать дизайнером сайтов, нужно будет вам начинать с нуля практически, а в области продвижения и оптимизации, если вы уже занимались сайтами, будет многое знакомо.
    чем бы вы не начали заниматься, главное желание.
    и через несколько лет напиши пожалуйста тут комментарий, все таки чем вы занялись и что приносит вам больший доход... может действительно будете газом торговать?
    Ответ написан
    Комментировать
  • Какие самые реальные и действенные проекты\работы\фриланс для python-программиста?

    voidnugget
    @voidnugget
    Программист-прагматик
    Пишу на питоне ещё с 15 лет (2.4+)... ненавижу его runtime и архитектуру. Язык хороший - реализация никакущая. Ну да его синтаксис достаточно упрощён, но и за синтаксический сахар приходится платить сложностями отладки и поддержки.

    Сейчас же почти все известные мне конторы не используют питон в продакшенах с более-менее высокой нагрузкой. Яндекс тому пример. Чаще питон используется для решения прикладных задач администрирования, так как это делается, к примеру, в SaltStack. Все дружно слезают с питона, РНР и рельсов на Golang, Java/Scala, и иногда даже Groovy - производительность выше в десятки раз, и managed runtime на много стабильнее. Правда в случае с JVM очень сильно раздувается куча в виду избыточности объектной модели (оператву жрёт как дурное, а я байтики считать привык). Сейчас это должно лечится с помощью Project Graal и Truffle, правда пока до этого дошёл только jRuby, который тоже в пару десятков раз быстрее Ruby. По идее и Groovy тоже должен переползти как-то ... Вот про jyton ничего не знаю.

    Много моих знакомых слезло на Golang с Ruby и Питона.
    Стоит попробовать - он достаточно простой и идиоматичный, вот рефлексию стоит обходить стороной - она очень медленная, впрочем как и везде. Работу может и не найдёте сразу, но после реализации пары простых проектов будет проще предлагать в качестве целевой платформы.

    Фрилансить с питоном начать можно, но очень желательно опробовать ещё хотя бы пару окружений и фреймворков типа Groovy Grails, или Typesafe Stack. Сейчас требования рынка возросли в пару раз за последние два года - нужны ассинхронности/многопоточности, push-нотификации в мобильные приложения и по вэбсокетам/комету. И это всё с богатыми js-фронтендами на всяких там Angular'ах и React'ах. Естественно можно крутить костыли типа Celery / Gearmand / Beanstalk / RabidMQ, но накладные расходы на коммуникацию слишком большие :( Компилируемые языки со своими Managed Runtime'ами позволяют строить монолитные приложения в которых подобные решения избыточны в рамках одной и той же машины, а если это куча нод в кластере то нужно мерить/думать.

    Django сейчас сложно поддерживать так как он достаточно сильно развился за последние 3 года, и я очень сомневаюсь что сохранится совместимость новых версий со старыми.

    А вот с pyramid (pylons) и SQLAlchemy можно строить достаточно хорошие приложения. У них есть enterprise поддержка и соответствующие гарантии.

    Типовые задачи на питоне:
    - написать какой-то мелкий скрипт с Gui на PyQT / Pyside для какой-то аналитики и отрисовки графиков, иногда попадаются задачки с gstreamer'ом
    - написать какое-то простое RESTful CRUD приложение, в стиле "одна табличка БД - один контролеер", это конечно же тонна копипасты и мне больше нравятся DataMapper'ы по типу TastyPie. Иногда люди хотят чистого Tornado или Flask'a, так как им не нравится overhead в джанге и pylons.
    - написать скрипты для деплоя чего-то, обычно люди не знают про SaltStack.

    В плане архитектуры питонистам чужды различные SOA с CQRS-ES'ом, потому что сам компилятор не располагает. Хотя её достаточно просто поддерживать.

    Проблема всех проектов на Node.js / Python / Ruby это отсутствие долгосрочной поддержки библиотек и фреймворков - часто ломается обратная совместимость, и нужно постоянно следить за состоянием всех зависимостей. Опять же нужен TDD/BDD для того что это всё хорошо контролировать. Тестируешь руками - себя не уважаешь.

    Ну и вроде всё ...
    p.s. я опубликую на хабре статью сегодня-завтра "Freelance - you're doing it wrong" там поделюсь опытом работы и основными организационными проблемами в рамках удалённой работы и фриланса, покажу разницу между ними.
    Ответ написан
    6 комментариев
  • База данных людей и мероприятий с вебмордой. Есть готовые решения?

    @asd111
    по идее в php фреймворке yii можно сгенерить модели по таблицам, потом сгенерить crud - т.е. вебморду для добавлени удаления и просмотра элементов и всё готово.
    Допустим у вас есть таблицы ученики, учителя, экскурсии.
    В Yii нужно будет зайти в генерилку(Gii) написать названия таблиц или поставить * чтобы сгенерить все модели сразу. Потом сгенерить CRUD для моделей и вуаля получили по адресу
    /ученики - список учеников
    /учителя - список учителей
    /экскурсии - список экскурсий
    с возможностью менять, удалять, создавать
    Пример из документации
    1. Создание базы данных и модели, контроллера, view вручную.
    www.yiiframework.com/doc-2.0/guide-start-databases.html
    2. Создание модели, контроллера, view автоматически для базы данных из предыдущего примера.
    www.yiiframework.com/doc-2.0/guide-start-gii.html
    Ответ написан
    1 комментарий
  • MacBook для web и iOS разработки?

    rakot
    @rakot
    По мне так хром с 20-40 вкладками может всю память съесть, вообще под ваши требования 16 гигов надо, а так будете в своп уходить, но с ssd это уже так заметно.
    Ответ написан
    Комментировать
  • На машине через прокси, на виртуалке напрямую (через прокси без прокси)

    Kotofey
    @Kotofey
    Вам помогут утилиты, предназначенные для проксификации и соксификации программ не умеющих работать с прокси серверами самостоятельно. Ранее я пользовался FreeCap и SocksCap. Возможно уже есть более продвинутые аналоги.
    Ответ написан
    Комментировать