Linux Administrator / DevOps
  • Попал на стажировку к говно-кодерам. Нужен совет

    Вы прошли курсы, и имеете теоретические знания. Сотрудники конторы имеют практические знания и определенное количество существующих/новых клиентов, которых все устраивает.Главная задача ИТ-компании — это получать прибыль от продажи ПО. Качественный код, до определенной степени, это делать помогает. Но только до определенной степени.
    Попробуйте взглянуть на вещи с позиции клиента — заказчика ПО.
    Как бы вам сказать... Тут ситуация, когда человеку привили хорошие практики, а он «пришел на завод», где тонкую электронику чинят кувалдой да паяльником, которым разве что вёдра лудить.
    Знаю множество примеров, когда ПО разрабатывается БЕЗ системы контроля версий. Если клиент доволен — то почему бы и нет? Я не говорю, что это правильно. Неправильно, и в принципе очень неудобно. Но Клиенту-то что с этого?
    Я за последние пол года видел троих таких клиентов. Все трое после разбора полетов рвали волосы сначала себе, потом исполнителю.
    Клиент: — мне нужно склепать сайт за 5-10-20 дней, очень срочно! Какие Ваши оценки?
    Контора: — если делать быстро, то 5 дней, если аккуратно, то 20.
    Клиент: — делайте быстро, но с приемлемым качеством.
    Контора: — ок.
    Предложу сделать заглушку за 5, а потом месяц доводить до ума.
    Если заказчик не согласен — это не наш заказчик.
    И да, я объяснял начальству, что я тупо не буду делать «абы шо за 5 дней» — потом это аукнется и мне и конторе, не раз.
    Копипаст, конечно, зло, но как говорят классики, «все уже разработано до нас». К сожалению, изобретение велосипедов вместо готового и давно обкатанного функционала — одна из основных проблем новичков в сфере ИТ. Впечатление, что ты можешь сделать лучше, больше, изящнее — чаще всего обманчиво.
    Копипаст — зло, а вот найти готовый кусок кода, понять как он работает и на его основании сделать своё — это правильно. При условии что это что-то небольшое, если это что-то большое — лучше поискать либу.
    Что делать — учиться. Welcome to the Real World, как говорится. По моему скромному ИМХО, профессионала от новичка отличает умение работать и подстраиваться под любую ситуацию, и учиться, учиться, учиться...
    Добро пожаловать. В реальный мир.
    Человек угробит существующие навыки и знания.
    Поймите, есть разница между подстраиваться при необходимости и постоянно работать против своих принципов. Вот завтра вам придут и скажут «MySQL это стильно, модно, молодёжно! Теперь ты работаешь с ним!», что вы сделаете?
    Это не значит, что нужно писать говнокод, но как мне кажется, сугубо из написанного Вами, на Вашем уровне очень сложно отличить мух от котлет, т.к. практики у Вас маловато. На Вашем месте, я бы попытался понять логику и преимущества используемых подходов. Не бойтесь спрашивать у старших товарищей. Для этого очень помогает установка, что каждый разработчик старается писать код наилучшим образом, исходя из существующих реалий, окружения и знаний. Взгляд через призму этой установки на процессы компании может многое прояснить.
    Если некогда и некуда посмотреть — рано или поздно человек начнет писать «на отцепись» и это будет черти-что. Чтобы писать качественный код и рости нужна обстановка, которая к этому располагает.
    Я знаю несколько компаний.
    Одна занимается разработкой сайтов, у них постоянно вал работы, нет денег и нет притока свежих кадров. За то время что мы с ними работаем, нам удалось их заставить использовать git и переехать на bitbucket, заставить использовать composer и описывать требования к окружению, еще что-то они изучают сами. Это была масса работы, но это получилось сделать. Есть одно «но»: уровень программистов там не изменился. Как писали говно, так и пишут.
    Есть другая контора. Тут пришлось ребятам объяснять что с базой нужно работать иначе. Помогло не сильно, но помогло. Новых кадров тоже нет, но те программисты что были — растут понемногу.
    Есть третья контора. Текучка у них неслабая, но с приходом новых людей состояние проектов визуально улучшается. Плюс они всё же слушают наши рекомендации и делают соответствующие оптимизации. Есть у них пара закидонов в плане работы основной их системы, но это уже идет от начальства.
    Есть четвертая контора. Легаси, их сайты уже могут ходить в пятый класс. За полтора года сотрудничества уволился один человек, пришло трое. Они потихоньку заканчивают переписывать свои сервисы с использованием открытого фреймворка. Переходят на utf8. Работы много, но в процессе переносов-переписываний и рефакторинга они устраивают обсуждения спорных моментов и в итоге получают стабильные и довольно шустрые системы. Тут и программисты растут и начальство, в целом, довольно продуктами.

    Контора топикстартера аналогична первой. Максимум на что он может там рассчитывать — чуть набъет руку и не растеряет знания.
    Если есть возможность — я бы валил оттуда.

  • Релокація нетрадиційної сім’ї

    Вы ошиблись — не христианские ценности, а крестьянские. В вашем случае именно так.
    Послушайте что говорит Папа, а не ближайший поп.

    Поддержали: Loboda Andriy, Anastasiia Nevidomska
  • Как примонтировать шару нынче в Линукс?

    За это отвечает компонент session вашего окружения.
    Не везде он есть, но последний раз когда я проверял его в Gnome и XFCE — работало.

  • Створення емулятора віддаленого VPS за допомогою VirtualBox

    Как хост подключен к интернету?
    Если напрямую, то дополнительный адрес взять неоткуда и надо колдовать с NAT, но всё равно «так как на DO» не будет.
    А если через роутер, то можно смело включать bridge и машина будет в одной сети с хостом.
    i.imgur.com/5m4yDNF.png (машина запущена, поэтому часть настроек заблокирована, адаптер только один).
    У хоста адрес 192.168.0.2/24, у гостя — .15/24.
    Разумеется, если потушить сеть на хосте, то у гостя тоже сеть отвалится.
    Если нужно чтобы что-то было видно из мира — надо на роутере настраивать проброс (на IP:порт гостя).

    Предлагаю:
    1. Создать новую ВМ
    2. Сразу зайти в настройки, выбрать один сетевой адаптер в режиме Bridged Adapter
    3. Поставить CentOS с SSH (хотя я считаю что Debian-системы в настройке проще за счет декомпозиции конфигов и более-менее вменяемых параметров по умолчанию, но и тут настраивать надо много чего)
    4. После установки настроить фаерволл (открыть порты tcp/22, tcp/80 и, по желанию tcp/443, на почитать — wiki.archlinux.org/index.php/Firewalls, на любом Linux есть iptables/ip6tables)
    5. Поставить Apache, MySQL (прошу простить меня, если вы — адепт PostgreSQL), какой-то MTA (я люблю Postfix, но выбор широк)
    6. Залить сайт (можно по sftp/scp — есть FileZilla и WinSCP), базу можно заливать массой способов, но я предпочитаю залить на сервер дамп и через mysql-client его залить
    Вот теперь это будет больше похоже на продакшн-сервер.

    Если этого покажется мало, продолжаем защищаться:
    — Ставим sshguard (анти-брутфорс)
    — Ставим logcheck (грепает присылает по почте логи — кто зашел, что делал)
    — Скрываем информацию в хедере Server (например, dou отдается nginx 1.4.6, который стоит на Ubuntu, скорее всего 14.04), в конфиге пишем/правим «ServerTokens Prod»
    — Отключаем хедер X-Powered-By (в php.ini — «expose_php = no»)
    — Отключаем .htaccess и переносим все правила из него в конфиг:
    <Directory "/path">
    AllowOverride None
    </Directory>
    — Ставим nginx для ускорения раздачи статики
    — Настраиваем open_basedir и disable_functions для php
    — Ставим правильные права на файлы сайта, будем считать что у вас php:
    * забираем у Apache права на запись отовсюду, кроме пары необходимых директорий, вроде /assets у yii:
    chmod go-w -R /path
    chown user:usergroup -R /path
    * на директории с правом записи для запрета исполнения php-кода ставим фильтр вроде
    <Directory "/path/rwdir">
    <FilesMatch "*\.php$">
    Deny from all
    </FilesMatch>
    </Directory "/path/rwdir">
    — Настраиваем monit для мониторинга и перезапуска sshd, apache, mysqld, прочих критичных сервисов

    Поддержали: Alex, anonymous
  • Windows 10 и все все все

    Окей, я не маю нічого проти збору голосових даних для покращення роботи розпізнавалки голосу (хоча тут є питання нащо стільки трафіку — 80мб/год, здається).
    Наскільки я зрозумів M$ також збирають дані коли і до якої вай-фай точки підключався девайс, більш того ці дані начебто зберігаються й можуть бути надані при відповідноми запиті. Ще там були питання щодо імен файлів на жорсткому диску — яких саме файлів, навіщо?

  • Windows 10 и все все все

    Тобто ви не проти що Win10 збирає «телеметрію»?

  • Выбор города для ПМЖ, за пределами Украины

    Пока дочери путлера живут в «фашистской гейропе», его пресс-секретарь женится на украинке с американским паспортом, а его дочь хочет во Францию к маме — никаких ракет не будет.

  • Валютні кредити V2

    Банкам уже дали сотни миллиардов грн рефинансирования. Многие из тех банков, кому давали кредиты, уже не существуют.
    Это необходимо расследовать и ответственных за это судить, с конфискациями.
    Почему вы забеспокоились, что вам придется за кого — то платить только сейчас?
    Я никогда не хотел платить за кого-то. Но тут есть разниица — рефинансирование = кредит, а это = «вынь да полож».
    Почему банкам можно получать поддержку государства, а простым гражданам нет?
    Потому что банк — юридическое лицо, которое одалживает у государства деньги, а эти физлица хотят халявы.
    Поддержал: Denys Rafael
  • Валютні кредити V2

    Ок.
    Какая у вас там З/П? Доставайте 50к грн и несите в ближайший банк — вы кому-то помогли отдать кредит. Еще я буду благодарен если за меня тысяч 20-30 заплатите.
    FYI: в 2011 году было около 10.5 миллионов трудоустроенного населения (первое что нашел), сейчас меньше. Ущерб банкам оценивается в 100 млрд грн.

  • Валютні кредити V2

    Сначала ответьте на вопрос: risk management касается только корпораций и банков?

    Почему я должен платить из своего кармана за покупку человека, который ко мне никакого отношения не имеет? Я от этого вообще ничего не получил. И не получу. Никогда. А меня хотят заставить отдать 10к гривен (по факту — больше, в разы), просто так.
    Я повторюсь — приняли в мае Меморандум о реструктуризации — документ, реально призванный цивилизованно решить проблему на примелемых условиях для всех — пользуйтесь, это реальное решение.

  • Валютні кредити V2

    Специально для этого был принят Меморандум о реструктуризации валютных кредитов — censor.net.ua/...ii_valyutnyh_kreditov_nbu
    Им помогли. А вот халявы не будет. Ибо нефиг.

  • Предложите имя для менеджера зависимостей C++

    cppdep
    depman-pp
    yacdep — Yet Another Cpp Dependencies Manager

  • Спам в Viber — как бороться?

    Окей, как запустить иммунитет рынка в данном случае?
    Я вижу такой вариант: показать что спам будет караться. Это проделывается пару раз, а после этого рекламодатель дважды подумает перед тем как заказывать такую «услугу».

    Поддержали: Nick Symonov, Alex Zakharov
  • Спам в Viber — как бороться?

  • Спам в Viber — как бороться?

    Так я уже к этому и пришел — подавать иск на рекламодателя :)

  • Спам в Viber — как бороться?

    Пробовал, но там люди нужные мне, перетянуть, увы, тоже не вариант.

  • Посоветуйте наушники, которые бы максимально защищили от внешнего шума

    Чому? За свої гроші досить непоганий продукт, як на мене.

  • Посоветуйте наушники, которые бы максимально защищили от внешнего шума

    Почти любые закрытые наушники с circumaural амбушюрами ценой $50+.
    Из личного опыта порекомендовать могу Sennheiser HD 202 или HD 380 Pro

  • Вся валюта — только в НБУ

    Гонтареву на мыло!

  • Программисты должны работать бесплатно

    Вы думаете это кому-то нужно?
    Я работаю субподрядчиком по нескольким гос. проектам (сайты). Сказать что там мрак — ничего не сказать.
    Госслужащие не способны оценить качественную работу и работать на них «забесплатно» будет в ущерб всем, потому что советские люди к бесплатному относятся абы как. «Бесплатных» программистов будут заставлять делать настолько тупую и бессмысленную работу, что это будет ад, но главное при этом, что результаты будут никому нафиг не нужны.

← Сtrl 12345 Ctrl →