• Как развить навык проектирования приложения или как стать Senior?

    @OldCrazyCoder
    Писать код. Читать код. Например, популярные опенсорсные проекты на гитхабе. Если очень уж книгу хочется, то вот минимальный джентельменский набор:
    1. Совершенный код. С. Макконнелл
    2. Чистый код: создание, анализ и рефакторинг. Роберт Мартин
    3. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Банда четырех))
    4. PHP. Объекты, шаблоны и методики программирования. Мэт Зандстра
    5. Рефакторинг: улучшение существующего кода. Мартин Фаулер
    И т.д. Книг крайне много. И статей много. И простое их чтение мало что даст. Практика, много практики. Критичное отношение к своему коду, однако без перегибов - не стоит упираться в перфекционизм.
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    devspec
    @devspec
    Помогло? Отметь решением
    Вам помогут только время и большое количество реализованных проектов. Всё приходит с опытом.
    Я, например, каждые полгода делаю ревью собственного кода за предыдущие полгода и ужасаюсь - как я мог так писать? А ведь полгода назад я мнил себя профессионалом... и так каждые полгода ))
    Ответ написан
    2 комментария
  • Что должен знать системный архитектор?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Чтобы быть системным архитектором, нужно иметь за плечами большой опыт не только в написании кода, но и владеть знаниями различных интеграционных технологий.
    Архитектор строит комплексную систему с полным пониманием требуемых нужных архитектурных блоков и информационного обмена между ними. Архитектор также рассчитывает нагрузку на эти блоки и каналы передачи данных, прогнозирует максимальные характеристики без масштабирования и закладывает архитектуру масштабирования такой системы на следующий этап развития.

    В зависимости от задачи - могут быть использованы различные готовые компоненты и библиотеки из имеющихся в наличии.
    Выбор того или иного решения во многом зависит от конечных целей проекта и лимитированных параметров на реализацию и дальнейшее функционирование такой системы (временные и человеческие ресурсы, финансы, каналы передачи данных, ограничения технологий и протоколов и т.д.)
    Ответ написан
    Комментировать
  • Почему все серверы ставят на Linux?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1.
    Почему все серверы ставят на Linux?
    Укажите на источник информации.

    2. Основные причины использования Linux - это абсолютная бесплатность, открытость кода, гибкость для настройки под нужную задачу.

    3. Основные причины использования Windows - постоянная поддержка со стороны производителя и удобство администрирования, львиная доля серверного ПО для любых задач с удобным GUI.
    Ответ написан
    8 комментариев
  • Почему все серверы ставят на Linux?

    @dinegnet
    С чего это вы решили?

    У меня половина серверов на FreeBSD (ради нативного ZFS прежде всего)
    У моего основного хостера - примерно 30% на FreeBSD

    На Solaris тоже сервера встречаются (не веб-сервера, а скажем внутрибанковские).

    Linux довольно распространен в web - и только.

    Есть еще сервера внутри предприятий (автоматизация),
    есть еще магистральные роутеры,
    есть SAN-сервера
    и пр. и пр.

    Просто они не публично доступные, поэтому у вас не перед глазами - тем не менее через них проходит много и лично ваших данных.

    Одна из серьезных причин - бесплатность Linux.
    Вторая причина - игры между крупными игроками рынка во время эпохи становления Linux (во времена первых версий ядра Linux) - они вливали миллиарды, тогда как раз был избыток денег на финансовых рынках.
    Ответ написан
    3 комментария
  • У вас недавно было успешное собеседование на тестировщика: назовите основные темы, о которых вас спрашивали?

    hprot
    @hprot
    QA
    Зависит от знания софта+ЯП. Могу только подсказать стандартные направления на собеседованиях всех QA.
    1) HTTP-протокол
    2) Браузеры, консоль браузера
    3) SQL(запросы)
    4) Тест api(софт)
    5) Знания ЯП, ООП
    6) Теория тестирования(регресс, смоук, различие по ящикам и т.д.)
    7) Тестирование МП(софт)
    8) Форматы json/xml
    Ответ написан
    2 комментария
  • Как быстро можно освоить Bash?

    nicosha
    @nicosha
    VOIP Developer, DEVOps
    Комментировать
  • Чем отличается nat от proxy? чем отличается proxy от vpn?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Очень внятно все написано на википедии.

    Nat это просто маршрутизация пакетов. Это часть функционала TCP/IP протокола.

    Прокси - отдельный софт, который работает с конкретным протоколом, например http/https, и следовательно разбирает эти пакеты для более гибкой настройки, логирования и т.д. Вдобавок программа-клиент должна уметь работать через прокси (можно конечно сделать прозрачный прокси на маршрутизаторе но это уже отдельная тема), но соответственно прокси подойдет только для http/https.

    VPN - virtual private network, вы поднимаете виртуальный интерфейс и подключаетесь к удаленному ресурсу, создавая виртуальную локальную сеть поверх другого подключения. В результате между вашим и удаленным устройством получается как бы прокинут виртуальный кабель прямого подключения, который снаружи выглядит как зашифрованный канал, внутри которого что-то передается.

    Через vpn можно подключиьтся к удаленному прокси серверу, таким образом все запросы между вашим компом и прокси сервером будут зашифрованными для внешнего наблюдателя.
    Ответ написан
    Комментировать
  • Какие сетевые меры предосторожности надо принять после установки Debian на VPS?

    @Flicker
    *-coder
    Ознакомтесь с ответами отсуда
    Ответ написан
    Комментировать
  • Могут ли два разных пользователя Linux иметь одну и ту же домашнюю папку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Могут. Но неудобно. Нужно разобраться с группой и umask
    Ответ написан
    6 комментариев
  • Как оценить себя, как разработчика?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Идите устраиваться на работу. Вот на сколько ЗП вас возьмут, столько вы и стоите. Не больше, ни меньше.
    Для более точного результата можно повторить несколько раз подряд.
    Ответ написан
    3 комментария
  • Как лучше объединить несколько жестких дисков в один?

    @pfg21
    ex-турист
    раид0 не для этого предназначен :)
    воспользуйся LVM
    или файловой системой с поддержкой размещения на нескольких физических разделах - btrfs zfs...
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для ноутбука?

    @deadmemoras
    Ты слабак что ли?
    Arch конечно же
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для ноутбука?

    opium
    @opium
    Просто люблю качественно работать
    Ответ в вопросе и нет смысла городить огород
    Ответ написан
    2 комментария
  • Как вы делаете бэкапы?

    SSar
    @SSar
    База примерно такого же размера как и у вас, и те же проблемы были в прошлом, посему сделали следующее:
    1. Перешли на Percona (форк MySQL) наиболее быстрый из наших тестов среди форков.
    2. Использовали ее фирменный и легковесный Percona XtraBackup который практически не тормозит базу и бесплатен:
    https://www.percona.com/software/mysql-database/pe...
    Если же у вас проблемы с местом на хостинге, ну т.е. нет у вас еще 16-20 гиг в заначке под файлы бэкапа, то тут уже по cron писать свои SQL скрипты для больших таблиц и бэкапить их по частям (к примеру по UnixTime индексного поля) на удаленный ftp или через nfs.
    Ответ написан
    Комментировать
  • Как вы делаете бэкапы?

    @dady_KK
    PM
    Мы делаем аналогично, но у нас на проектах очень маленькие базы. А Вам бы я посоветовал настроить репликацию мастер-слейв и делать бекап со слейва, в инете много туториалов на эту тему. Это должно решить вопрос с доступностью сайта + всегда можно дамп сжимать ганзипом и проверять после этого архив, а лучше делать распаковку и импорт в тестовую базу и следить за возникновением ошибок во время этого.
    Ответ написан
    2 комментария
  • Как расширить раздел KVM?

    Black_beard_ast
    @Black_beard_ast Автор вопроса
    Sysadmin/Ops engineer.
    Нашел решение тут.
    - Выключаем машину
    - Удаляем все снепшоты
    - Добавляем нужное количество места в свойствах VM
    - Загружаемся, создаем новую партицию используя fdisk
    fdisk /dev/sda
    Смотрим партиции - p
    Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0003a870
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048    62914559    30944256   8e  Linux LVM

    Создаем новую - n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended

    Делаем ее primary - p и выбираем номер партиции, в моем случае 3, сектора оставляем по умолчанию нажимая Enter
    Select (default p): p
    Partition number (3,4, default 3): 3
    First sector (62914560-83886079, default 62914560): 
    Using default value 62914560
    Last sector, +sectors or +size{K,M,G} (62914560-83886079, default 83886079): 
    Using default value 83886079
    Partition 3 of type Linux and of size 10 GiB is set

    Сохраняем изменения w и наблюдаем новую партицию смотрим новую партицию используя fdisk -l
    fdisk -l
    Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0003a870
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048    62914559    30944256   8e  Linux LVM
    /dev/sda3        62914560    83886079    10485760   83  Linux

    - Перезагружаем машину
    - Указываем системe диск как LVM:
    pvcreate /dev/sda3
      Physical volume "/dev/sda3" successfully created

    - Смотрим наши LVM группы использя к примеру df -h
    Filesystem                            Size  Used Avail Use% Mounted on
    /dev/mapper/centos_server-root   27G   13G   15G  46% /

    - Расширяем LVM:
    vgextend centos_server /dev/sda3
      Volume group "centos_server" successfully extended

    - Расширяем нужную группу на все свободное место:
    lvextend -l +100%FREE /dev/centos_server/root 
      Extending logical volume root to 36.50 GiB
      Logical volume root successfully resized

    - Увеличиваем партицию
    xfs_growfs /dev/centos_server/root
    - Снова смотрим место на дисках df -h
    df -h
    Filesystem                            Size  Used Avail Use% Mounted on
    /dev/mapper/centos_server-root   37G   13G   25G  34% /
    Ответ написан
    1 комментарий
  • Как расширить раздел KVM?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    сначала пересобрать таблицу разделов через fdisk
    потом resize2fs
    профит
    Ответ написан
    2 комментария