• Однодневкам-одновопросникам тостера запретить задавать вопросы?

    dom1n1k
    @dom1n1k
    Ну зашибись идейка!
    Необходимость что-то спросить часто (почти всегда) возникает внезапно. И ты такой идешь за помощью, а тебе херакс - сначала сам ответь на 10 вопросов! Прям сейчас ответить?.. У меня задача горит, а вы меня грузите своей дедовщиной? 9 из 10 просто уйдут, 1 нафлудит мусора в 10 вопросах, чтобы пройти фильтр.

    Вот что было бы реально полезно - так это кнопка "не нравится". Иногда очень хочется.
    Ответ написан
    Комментировать
  • Как стать специалистом на фрилансе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Хорошим специалистом на фрилансе можно стать также как и хорошим специалистом в офисе.
    Нужно работать, учиться, работать, учиться.
    Ответ написан
    15 комментариев
  • Сколько стоит заказать рекламный видеоролик, посвященный определенному сервису?

    nickolyashka
    @nickolyashka
    Сценарий + Анимация + Озвучка = Пахнет 100 000 рублей. Если только фрилансера искать, а не заказывать у студии можно сэкономить немного. Повесь на любую биржу задание, пусть покидают свои предложения.
    Ответ написан
    Комментировать
  • Что изучать верстальщику и в каком порядке?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Пишу по порядку, как реально нужно.

    Поиск по Тостеру, так как схожие вопросы задаются минимум 2-3 раза в неделю.

    адаптива не знаю, он у нас и не требуется

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

    про бэм и препроцессоры что-то где-то читал, но тоже не знаю

    Да не используйте, и не учите. Просто теряете время и ресурсы на написание код (или говнокода, не знаю).
    Просто без препроцессоров всё делается долго и нудно, и тяжело структурировать, копаясь в одном файле.
    А так, можете не учить, если хочется заморачиваться %)

    js так же, на уровне скопировал-вставил

    Выскажу свое личное мнение.
    Верстальщик без JS, это не верстальщик, это контент-менеджер со знанием HTML.
    Любой сайт от лендинга до портала требует JS, правда часто делают хрень, напичканную плагинами, даже если требуется 2-3 строки кода. Не нужно подключать плагины там, где оно не нужно и обратная сторона вопроса, не нужно писать свой код там, где можно использовать готовый плагин (не изобретать велосипед).
    Но если есть время, желание и умение, можно писать и свои плагины, для тренировки.

    Верстаем display:table/table-cell

    Тут буду краток. $^*(&%#(*$%($(%&*(*$#&*%($#%)($)^_*()#&@%$ - вырезано цензурой.

    не в одну компанию с такими навыками меня явно не возьмут

    Что мешает заниматься самообразованием?
    Благо живем в 21 веке, в интернете есть любые учебники, тесты, курсы, да чего только нет.
    На крайний случай, можно напросить в подмастерья к какому-нибудь верстальщику (знаю, часто требуются).
    Да, работать придется в основном "за еду", но будет опытный наставник, который скажет - так норм, а так не надо.

    надо изучать с бустрапа сразу

    Не зная принципов адаптивной верстки, использовать Бутстрап не получится.
    Так что в ьлюбом случае, понимание адаптивной верстки должно быть, при том "чистое", чтобы можно было разобраться не только в Бутстрапе. Фреймворков для адаптивной верстки еще очень и очень много.

    советы от товарищей по цеху, как развивались они и откуда брали инфу

    90% опыта приходит вместе с практикой.
    Можно прочитать 100 учебников и не понять, что это за свойство, а можно один раз применить и сразу понять.
    Нужно просто много и усердно практиковаться. Качать любые шаблоны PSD, верстать, верстать, верстать.
    Сначала простые, трехколоночные сайты. Потом посложнее и закончить каким-нибудь паралаксом.
    Но повторюсь, для обучения минимум плагинов.

    есть ли смысл работать в маленьком городе

    Не знаю, что за город у вас. Скажу про свой. Население около 900тыс.
    В городе порядка 5 топовых студий по созданию сайтов, не считая 2-3 десятков мелких контор.
    Также есть топовые IT компании, но про них говорить не буду, с таким багажом тебя туда пока не возьмут.
    Так что в любом городе есть смысл работать.
    Да и фриланс, удаленную работу никто не отменял.

    вопрос только Москва или оставаться в городе

    Что в Москве, медом намазано? Или думаешь, так вакансий больше?
    Нифига не больше, потому как и желающих поработать там не меньше чем вакансий.

    В общем, резюмируя всё вышесказанное - учись, развивайся.

    Удачи.

    ЗЫ: Недавно на Хабре опубликовали ссылку.
    webmasters.teamdev.com
    Чесслово, проникся. Отличный мануал.
    Ответ написан
    17 комментариев
  • Как реализовать деплой nuxt приложения?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Как залить приложение на сервер? Использовать FTP? Или git push? Или может какой-то сервис Codeship к примеру?

    Да как удобно, все варианты имеют право на жизнь в той или иной степени. Я клонирую приложения с гитхаба, потом делаю npm install.

    Как остановить уже запущенный nuxt-сервер а потом запустить его обратно?

    Если в package.json нету команды stop, то останавливают с помощью kill -9 <pid процесса>:) Вообще там должен бы быть какой-то nodemon/pm2/forever, которые перезапускают процесс при изменении кода.

    Нужно ли использовать nginx?

    Чтобы отвечать по порту 80, нужны права супер-пользователя. Можно в проде запускать приложение от рута, но это как-то стремно. Поэтому проксируют nginx'ом. Плюс он эффективнее раздает статику.

    P.S.: https://nuxtjs.org/guide/commands/
    Ответ написан
    5 комментариев
  • Как повысить уровень программирования?

    tiabc
    @tiabc
    Бизнес-партнер и консультант по технологиям
    Хорошие разработчики постоянно развиваются и никогда не стоят на месте. Любое развитие состоит в делании дел, в решении конкретных задач и в обратной связи, которую ты получаешь от других или в результате рефлексии.

    TL;DR: Читайте книжки, делайте дела, читайте чужой код.

    Что можно начать делать прямо сейчас, чтобы стать программистом лучше?

    1. Изучайте базу. Алгоритмы, сети, криптографию, архитектуру, ос, устройство браузеров, компиляторы и т.д. Изучение подобных вещей дает понимание какие задачи бывают в реальном мире и как "большие дядьки" решают возникающие проблемы. Это кладезь инсайтов.

    2. Устройтесь на фултайм-работу с сильной командой даже если джуниором. Я считаю, что есть только один способ расти как разработчик: работать фултайм над одним бизнес-продуктом. Такой подход учит решать проблемы масштабируемости, думать заранее, работать над процессом, которому вы следуете в разработке, решать задачи, возникающие с длительной эксплуатацией, решать проблемы с удобными окружениями и вообще учиться планировать свою работу в связи с нуждами бизнеса.

    3. Написание кода - не самая большая часть работы сеньор-девелоперов, я бы сказал. Но когда речь заходит о самом коде, нужно понимать что ты пишешь и зачем. Есть классические книжки, которые можно найти, например, в матрице компетентности программиста, есть современные, но полезные типа The Art of Readable Code, которую я очень рекомендую. Нужно читать книжки. На собеседовании я всегда спрашиваю какие книжки читал или читает соискатель и если ответ отрицательный, то это большой минус.

    4. Участвуйте в опенсорс. Там вам всегда приходится сталкиваться с образом мысли самых разных людей и кодом, который они пишут. Это учит вас читать чужой код, находить в нем ошибки и критически и аргументированно к нему относиться, предлагая свои решения. Опенсорс-разработка, так же как и книжки, дает вам тот чужой опыт, который бы вы никогда сами не получили от людей, которые часто умнее или опытнее вас в чем-то. В опенсорсе, кстати, в отличие от бизнесовой разработки, есть шанс в удовольствие писать очень качественный код, в котором в бизнесе далеко не всегда есть необходимость.

    5. Наберитесь терпения. Это не случится за один день. Думайте над именованием, разделяйте обязанности, изучайте алгоритмы и экосистему, оптимизируйте ваше рабочее место, изучайте новые технологии, читайте статьи и в течение ближайших лет регулярных усилий вы обретете новый способ мышления и будете разрабатывать поддерживаемое и надежное ПО. Легкого пути, к сожалению, нет.
    Ответ написан
    2 комментария
  • Реклама сайта по email?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    нельзя
    Ответ написан
    Комментировать
  • Почему до сих пор вакансии называются "Программист C#" или "Java Junior Developer", хотя знание фреймворков гораздо важнее знания языков?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    А пацаны годами один язык изучают до тонкостей, вот дураки то!
    Ответ написан
    Комментировать
  • На чем посоветуете делать сайт горсовета?

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

    Мне одному слышится это как: "Мне нужно, чтобы в будущем можно было не меняя стек прикрутить к нему пока не знаю что (=что угодно)"? Нода как инструмент с такими требованиями кажется вполне разумной.

    symfony, laravel, django - как альтернативы, но скорее всего ценник будет тот же, что и на ноде.

    Хотите cms? Пишите полностью весь список планируемых доработок. Потому что CMS - слишком специфичный и узкий инструмент, чтобы брать его под столь неопределенные формулировки. Вам сейчас кажется, вы возьмете битрикс, друпал что там еще, поставите ее на хостинг и вы в шоколаде, сэкономили фирме сотню. А через пару месяцев к вам придет ваш начальник и скажет: надо нам написать интеграцию сданных показаний счетчиков с нашей убер-системой и еще онлайн-чат создать для посетителей и систему рассылки им оповещений, ну и еще мы запускаем мобильное приложение, так что нам еще бэкэнд с апи нужен - и вот оказывается, что ни одна cms не способна на это, потому что из коробки не поддерживается, что все программисты со скиллами работают с фреймворками и той же нодой, а друпаловцы и битриксоиды лишь блоки переставлять умеют, да в jquery немного, что выбранный вами шаред-хостинг масштабирование предоставляет лишь в окошке яндекс-карт и выделенный сервер все-таки нужен (и не только для масштабирования, но и чтобы демона для ноды запустить, дабы ваш онлайн-чат работать мог) и что вы вовсе не в шоколаде, хотя по цвету похоже. И в итоге вы бегаете в мыле и думаете, писать ли вам онлайн-чат, работающий через крон или же заказывать разработку с нуля.
    Ответ написан
    Комментировать
  • Минимальные настройки безопасности Linux на VPS?

    Tyranron
    @Tyranron
    Ряд моментов Вы уже сделали, но я все равно их опишу для полноты списка.

    1. Создать отдельного пользователя и хороший пароль на sudo. Не использовать больше root напрямую. Совсем.

    2. SSH. Отключаем метод аутентификации по паролю. Если Вам не нужны другие методы, то их тоже можно отключить, оставив только publickey. Отключаем возможность аутентификации root'ом. Включаем использование только 2й версии SSH протокола.

    3. Устанавливаем Fail2Ban и настраиваем чтобы после нескольких неуспешных попыток подключения по SSH банило по IP на длительное время. Кол-во попыток и время бана можно тюнить в меру своей паранойи. У меня, например, банит на час после 2х неуспешных попыток.

    4. Iptables. Действуем по принципу "запрещено все, что не разрешено". Запрещаем по умолчанию весь INPUT и FORWARD трафик снаружи. Открываем на INPUT'е 22 порт. В дальнейшем открываем порты/forwarding по мере необходимости. Если у нас предполагаются сервисы на соседних серверах нужные только для внутренней коммуникации (Memcached, Redis, и т.д.), то открываем для них порты только для определенных IP. Просто так торчать наружу для всех они не должны.

    5. Настраиваем автоматические обновления apt-пакетов. Уровень security. То есть так, чтобы обновления безопасности накатывались автоматически, но при этом не выполнялись обновления со сменой мажорной версии (дабы обезопасить себя от "само сломалось").

    6. Устанавливаем ntpd. Серверное время должно быть точным. Также временную зону сервера лучше всего установить в UTC.

    7. TLS (не SSL) используем везде где можем. Через Let's Encrypt получаем бесплатные валидные сертификаты. В конфигах веб-серверов, mail-серверов, и других приложений торчащих наружу (в том числе и OpenVPN), запрещаем/убираем использование слабых шифров. Все ключи/параметры генерируем не менее 2048 бит. Самоподписные сертификаты подписываем с помощью SHA-256 (не SHA-1). Diffie-Hellman параметры (dh.pem) под каждый сервис лучше сгенерить отдельно. Проверяем TLS сервисов через Nmap. Минимальный grade должен быть A, не должно быть warning'ов.

    8. Правильный менеджмент пользователей/групп. Приложения/сервисы не должны запускаться под root'ом (разве что они действительно этого требуют и иначе никак). Для каждого сервиса создается свой пользователь.

    9. Если предполагается upload файлов через PHP (либо другие скриптовые языки), в директории, куда эти файлы загружаются (и которая доступна снаружи), должно быть жестко отключено любое выполнение скриптов/бинарников, что на уровне ОС (x права), что на уровне веб-сервера.

    Это была база.
    Дальше, в меру своей паранойи можно за'harden'ить сервер ещё следующими моментами:
    - SELinux, chroot
    - доступ к SSH только с определенных IP (нужно иметь 3-4 VPN-сервера под рукой)

    UPD И да, все это помнить/настраивать руками каждый раз может быть запарно. Используйте Ansible и автоматизируйте процесс (там родные и YAML, Jinja2 и Python).
    Ответ написан
    10 комментариев
  • С чего начать рефакторинг?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Ответ написан
    Комментировать
  • Платная авто подписка мтс?

    dom1n1k
    @dom1n1k
    Для начала сменить ориентацию с традиционной на... ну вы поняли.
    Ответ написан
    Комментировать
  • Как организовать смену пароля пользователя при первом входе?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Обычно реализовывается через password expiration.

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

    neatsoft
    @neatsoft
    Life is too short for bad software
    Тем что в случае оформления сертификата через cloudflare:
    • cloudflare будет обладателем приватного ключа - сможет просматривать и модифицировать трафик по своему усмотрению;
    • соединение будет зашифровано только на участке между клиентом и cloudflare (для шифрования соединения между cloudflare и сервером потребуется настоящий сертификат - самоподписанные никакой дополнительной защиты не обеспечивают, т.к. не проверяются);
    • сертификат будет действителен сразу для нескольких совершенно не связанных друг с другом доменов (для которых опция ssl на cloudflare была включена в одно и то же время).


    Если нужен нормальный сертификат:
    https://letsencrypt.org/ - бесплатно, сокращенный срок действия, автоматизированный перевыпуск
    https://www.ssls.com/ - $4.99/год (PositiveSSL, при оплате за 3 года)
    Никакой разницы между "domain validated" сертификатами за $5 и за $100 нет - они будут работать совершенно одинаково.

    Более дорогой сертификат может потребоваться если:
    • необходима поддержка нескольких доменов;
    • хочется получить "зеленую плашку" для большего доверия со стороны клиентов (такой сертификат выдается только после проверки документов).
    Ответ написан
    16 комментариев
  • Как заставить заказчика выплатить деньги?

    Не берите на себя проблемы заказчика. Если у него горят сроки, то это у него горят, не у вас. И если для заказчика действительно важно эти сроки соблюсти, то он оплатит работу до передачи кода (вам с бэкэндером ничего не мешает работать на своем сервере, требовать предоплату либо работать по безопасной сделке). Не платит (не подписывает акт выполненных работ) до передачи исходников - значит у него нет реальной проблемы, а есть лишь капание на ваши мозги, что надо все поскорее залить на сервак. К постоянным клиентам это не относится (но и человек, сделавший лишь один заказ не может считаться постоянным). Сейчас у вас прокатило и человек оплатил, со следующим не прокатит.
    Ответ написан
    1 комментарий
  • Какие API существуют в Visual Studio (C#) для работы с проектом?

    Rou1997
    @Rou1997
    Можно написать плагин для Visual Studio, но он будет работать только в Community и лучше, писать тоже плагины можно только в ней, еще в сторону COM можете покопать, там все на нем, но, пожалуй, лучше самому написать парсер *.sln, *.csproj и т.п.
    Ответ написан
    2 комментария
  • Как скрыть домен?

    BuriK666
    @BuriK666
    Компьютерный псих
    preg_replace('/^(https?:\/\/.).*(.\..*)$/','\1***\2', 'http://google.com');

    Так?
    Ответ написан
    3 комментария
  • Офлайн распознание капчи, есть ли готовая библиотека?

    @entermix
    Посмотрите Tesseract.js
    Ответ написан
    Комментировать
  • Как работает рассылка Lamoda?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    В рассылках от их партнёров (или просто от того же поставщика рассылок) может быть трекинг факта открытия скрытой картинкой, подгружаемой с удалённого сервера при открытии письма.

    Возможно, что поставщик рассылок имеет договорённости с Lamoda инициировать отправку письма ровно в момент открытия трекинговой картинки этим получателем.
    Ответ написан
    12 комментариев