• Делает ли из меня Linux-профи установка и использование дистрибутивов Gentoo/Arch?

    Zoominger
    @Zoominger
    System Integrator
    Нет, установка Генту делает из вас хорошего копипастера мануалов.
    Источник: личный опыт.
    Ответ написан
    3 комментария
  • Как можно модернизировать?

    @anerev
    Собрав самых известных хакеров континента все пришли к выводу что ваш код совершенен. Не хотели бы вы устроится в google ?
    Ответ написан
    1 комментарий
  • Как вытащить определенное слово из сообщения vk_api?

    @anerev
    regexp, .split(), .replace() Всё же от цели зависит
    Ответ написан
    Комментировать
  • Нужна помощь с ошибкой, при создании бота на Python?

    @Linxet
    Могу предположить, что Ваш файл скрипта имеет название telebot.py
    Этим и может быть вызвана данная ошибка, смените название файла.
    Ответ написан
    1 комментарий
  • Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

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

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Как удалить все данные с сервера без возможности восстановления?

    @alex1478
    Способ надёжнее простого dd по ssh:
    mkdir /target
    mount none -t tmpfs -o size=1G /target/
    debootstrap stable /target/ https://deb.debian.org/debian/
    echo "Killer_system" > /target/etc/debian_chroot
    chroot /target
    mount none -t proc /proc/
    mount none -t sysfs /sys/
    mount none -t devtmpfs /dev/
    mount none -t devpts /dev/pts/
    apt install openssh-server
    echo "Port 11122" >> /etc/ssh/sshd_config
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    /etc/init.d/ssh start
    passwd root

    Теперь подключаетесь к ssh, запущенному из озу:
    ssh root@<IP> -p 11122
    Передёргиваем диск:
    echo 1 > /sys/block/sda/device/delete
    for i in /sys/class/scsi_host/host?/scan ; do echo "- - -" > $i ; done

    Теперь sda станет sdb
    dd if=/dev/urandom of=/dev/sdb bs=4096
    В конце работы:
    echo b > /proc/sysrq-trigger
    Это перезапустит сервак, но он конечно уже не загрузится.

    В отличии от предыдущего способа, мы 100% сможем дождаться завершения работы dd
    Ответ написан
    18 комментариев
  • На каких интернет-ресурсах новичку можно разместить исходники для code review?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    1. Регистрируешься на github.com;

    2. Создаёшь репозиторий;

    3. Устанавливаешь себе на машину Git;

    4. Настраиваешь Git:
    git config --global user.name "Твоё имя латинницей"
    git config --global user.email твой_email

    5. Клонируешь репозиторий с GitHub в какую-нибудь папку:
    git clone https://ссылка_на_репозиторий.git

    6. Переносишь исходники в созданную git`ом папку (в ней ещё лежит файл .gitignore и папка .git).

    7. Внутри папки с исходниками выполняешь последовательность команд:
    git add --all
    git commit -m 'update'
    git push origin master

    8. Проверяешь, что исходники появились в репозитории на GitHub.

    9. Делишься ссылкой на репозиторий с желающими почитать твой код.

    Если что-то непонятно, в Интернете полно вопросов и ответов, пошаговых руководств, видео уроков, и других учебных материалов по теме.
    Ответ написан
    Комментировать
  • С какой проблемой вы столкнулись, когда начали писать проекты на Django?

    1) Документация была на 70% для function-like стиля кодирования, а не через классы. (Но сейчас, вроде уже догнали). Но надо признать дока очень крутая.

    2) Внезапно оказалось, что нет нормального способа сформировать PDF документ из HTML страницы (Для php/java/.net есть либы, что это делают в один клик, а вот на django предлагалось фигачить вручную канвас).

    3) Для деплоя django предлагается два варианта, и везде спорят какой из них лучше со всякими бенчами и прочее. По итогу оказалось, что вообще без разницы (разница мизерная). Уточнял у ребят из mail.ru на их конференции.

    4) Порой слишком много разных либ, для решения какой-то проблемы. Но большинство либ какие-то убогие, фрагментарные и вторичные. Достаточно сложно выбрать наиболее перспективный вариант.

    5) Python + django => буржуйский стек (у нас php занимает его нишу в большинстве случаев), поэтому готовься к тому, что все русскоязычные видосы будут с украинским акцентом, а какие-то видосы по Django Rest Framework и прочее - исключительно на английском.

    6) Админка Django очень крутая для каких-то простых crud и односвязанных моделей, но что-то более сложное уже сделать не получится, и надо писать свою админку.
    Ответ написан
    5 комментариев
  • Возможно ли узнать список участников беседы ВК, из которой тебя кикнули?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    нет
    Ответ написан
    Комментировать