• В чем преимущества *nix, linux перед windows (для веб разработчика)?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Вообще нет никакой разницы.
    Работать надо в той системе в которой удобно.
    Ответ написан
    17 комментариев
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @spotifi
    Нету никаких проблем.
    Если только ваше конкретное используемое для ваших задач ПО нормально работает с Windows.

    Например, в моем случае используется Ansible и Docker, который не поддерживается на Windows. Приходится использовать Vagrant. Это достаточно удобно. Но ресурсы все же кушает.

    А так - даже Vim хорошо себя чуствует на Windows. Нативный. Не cygwin.

    Microsoft это тоже понимает.
    И вот уже они встроили подсистему Linux Ubuntu в Windows 10. Это не виртуализация, а именно полноценная подсистема.

    И многие вещи, например, те же шрифты - в Windows работают лучше, чем под Linux.

    Могут сказать - что лучше использовать для разработки ту же среду что и для production.

    Но дело в том, что даже если вы сидите на Ubuntu Desktop, то ваша среда серьезно отличается от среды сервера FreeBSD, CentOS, Debian, Ubutntu Server. И для полноценного CI все равно умные дядьки категорически рекомендуют и на Linux даже использовать Docker для полноценной эмуляции.

    Но ведь Docker-то можно использовать и на Windows. Правда, запускается он там подольше.

    Где именно вести разработку, где вам удобнее - это ваше личное дело. Вопрос ваших предпочтений. Никаких объективных причин в наше время, когда существуют Docker, Vagrant и виртуальные машины, когда куча приложений изначально сделанных для *nix запускаются в native под Windows - нет никаких причин себя строить. Кроме любопытства - а как оно там на других системах живется.

    У тех кто вас троллит есть еще одна причина: им приятно показать себя более умными. Как же - ведь Linux можно сконфигурить руками.

    Ага, конечно.

    Или используют готовые десктопные дистрибутивы. Не зря Ubuntu так популярна.
    Или если освоили ArchLinux - то построили себе совершенно убогое окружение по готовым мануалам.

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

    На деле 99% твердящих о гибкости Linux - далее чем ставить Apache и MySQL из пакетов - ничего сами и не умеют. Фактически работая в то же настроенной другими людьми десктопной среде. Но разве вы не умеете делать то же самое под Windows?

    Другое дело, что разворачивать и тестировать нужно под аутентичным операционным окружением.
    Неважно под Ubuntu ты сидишь или под Windows.

    Лучшие практики советуют использовать полностью изолированный и независимый от рабочего места разработчика инструментарий - виртуальные машины, Vagrant, Docker, отдельные физические сервера.

    В этом случае под твоей любимой ОС работает только текстовый да графический редактор. А все развертывание для тестирования и для продакшн проводится в совсем другой среде.

    Используя Docker хоть под Windows ты будешь получать даже больше преимущество повторяемости рабочей среды чем тем кругом, кто советуют тебе просто перейти на Linux. Если на более слабом железе это и было бы существенно (Docker под Linux стартует быстрее), то на твоем - несущественно на чем работать.
    Ответ написан
    9 комментариев
  • PHP: автозагрузка классов. Объясните на пальцах на простом примере?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Все свои классы располагаете в папке app/ (к примеру)
    Всем классам задаете namespace Fogersp\SuperProject
    В composer.json пишете в секции autoload

    ...
    "autoload": {
      "psr-4": {
        "Fogersp\\SuperProject\\": "app"
      }
    },
    ...


    Это значит, что классы с нэймспейсом Fogersp\SuperProject автозагрузчик будет искать в папке app/
    Например, класс Fogersp\SuperProject\DB\Entry должен располагаться в файле app/DB/Entry.php

    Далее в корне проекта выполняете команду
    composer dumpautoload
    и композер создаст вам автозагрузчик.

    Теперь в точке входа подключаете этот загрузчик и не паритесь о подключении файлов
    include '../vendor/autoload.php';

    Вот и всё =)
    Ответ написан
    10 комментариев
  • Стоит ли работать и учиться на программиста?

    @heidll
    Не зная математики будьте готовы работать за 10к в месяц на фрилансе клепая говносайтики.
    Ответ написан
    Комментировать
  • Стоит ли работать и учиться на программиста?

    @Alexey_Kutepov
    Разработчик программного обеспечения
    Какая математика? Я же просто хотел писать игры! =))
    Ответ написан
    Комментировать
  • Стоит ли работать и учиться на программиста?

    @rtxf
    С такой постановкой вопроса ответ только один — нет. Идите туда, к чему лежит душа, в любой отрасли можно получать такие же деньги, если есть желание постоянно учиться и совершенствоваться. Будь вы математиком, механиком, медиком или строителем.
    Ответ написан
    Комментировать
  • Стоит ли работать и учиться на программиста?

    Nidora
    @Nidora
    Бонус 200 руб всем новым клиентам! VDS - 149 руб
    Такие мысли в основном не "приходят" в голову. Если у вас всю жизнь лежит душа к данной профессии, то вам и думать про это не нужно было бы. Вы просто работали.
    А если всё с нуля учить, то это сложная профессия для понимая. За год вы выучите, только базовые понимания.
    Для "идеального" изучения - 3-5 лет.
    Ответ написан
    Комментировать
  • Стоит ли работать и учиться на программиста?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Стоит. Обязательно идите. Чем вас будет больше, тем ценнее программисты будут как специалисты.
    И "работать на программиста" тоже стоит. Мне вот тут пол помыть пару раз в неделю нужно бывает.
    Ответ написан
    Комментировать
  • MySQL. В чем отличие INNER от CROSS JOIN?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    JOIN, INNER JOIN и CROSS JOIN в случае MySQL синтаксически эквивалентны.
    Ответ написан
    Комментировать
  • Как пройти собеседование на должность веб-программиста?

    opium
    @opium
    Просто люблю качественно работать
    фигня первый раз обычно не берут
    за жизнь я прошел наверно сотню собеседований
    ходите и тренируйтесь
    Ответ написан
    3 комментария
  • Как реализовать массив подстановок для запроса в MySQL?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Внимание, а теперь правильный ответ
    public function query($sql, $params = NULL){
            $sth = $this->dbh->prepare($sql);
            $sth->execute($params); // <----
            return $sth;
        }

    Это базовая функция, которая должна использоваться при выполнении ВСЕХ запросов.
    В том числе запросов на вставку, обновление и удаление, а также запросов, которые при всем желании не могут вернуть объект. Например
    $db->query("DELETE FROM t WHERE id=?", [$id]);
    $count = $db->query("SELECT count(*) FROM t")->fetchColumn();

    В принципе, этого уже достаточно, поскольку для получения списка объектов можно написать
    $list = $db->query("SELECT count(*) FROM t")->fetchAll(\PDO::FETCH_CLASS, "class");

    Но если прям так очень хочется, то можно засунуть этот код в хелпер-функцию
    public function listObjects($sql, $class, $params){
            return $this->query($sql, $params)->fetchAll(\PDO::FETCH_CLASS, $class);
        }
    Ответ написан
    Комментировать
  • Как ускорить запуск приложений MS Office?

    polym0rph
    @polym0rph
    Основатель Bits.media
    Можно с префетчером поэкспериментировать, можно вообще заняться оптимизацией системы.

    Кардинальный метод- установить SSD, тогда все в разы шустрее будет.
    Ответ написан
    3 комментария
  • Как реализовать массив подстановок для запроса в MySQL?

    @Salim_Gareev
    function db($query, $arr=false){
    global $mysqli;
    if(!$mysqli or isset($mysqli)){
    	$mysqli = new mysqli('localhost', 'user', '???', 'db');
    	$mysqli->set_charset("utf8");
    }
    $stmt = $mysqli->stmt_init(); 
    if($stmt->prepare($query)){
    	if(is_array($arr)){
    	$refarg = array($stmt, str_pad('', count($arr), 's'));
    		foreach ($arr as $key => $value){
    			$refarg[] =& $arr[$key];
    		}
    	call_user_func_array("mysqli_stmt_bind_param", $refarg);
    	}
    	$stmt->execute();
    	$qb = $stmt->get_result();
    	if(preg_match("/select (.*)/i", $query)){
    		if(preg_match("/(.*) limit 1/i", $query)){
    			$result = mysqli_fetch_array($qb);
    		}else{
    			$result = array();
    			while($arr = mysqli_fetch_array($qb)){
    			$result[] = $arr;
    			}
    		}
    	}elseif(preg_match("/insert (.*)/i", $query)){
    		$result = $mysqli->insert_id;
    	}else{
    		$result = true;
    	}
    	$stmt->close();
    }else{
    	$result = false;
    }
    return $result;
    }

    Для mysqli писал когда то функцию. Возможно вам поможет в качестве примера.. В качестве 2 параметра функция принимает массив.
    Ответ написан
    7 комментариев
  • Как реализовать массив подстановок для запроса в MySQL?

    @MadridianFox
    Web-программист, многостаночник
    Используя ...$arr вы не получите ключи в массиве. Поэтому почему бы не сделать третий агрумент обычным агрументом, и не передавать туда массив, который без изменений будет передаваться в execute?
    public function query($sql, $class, $params){ // $params = [":age"=>20]
            $sth = $this->dbh->prepare($sql);
            $res = $sth->execute($params); // <----
            if (false !== $res) {
                return $sth->fetchAll(\PDO::FETCH_CLASS, $class);
            }
            return [];
        }
    Ответ написан
    Комментировать
  • Редирект после отработки скрипта PHP, как правильно сделать?

    @BorisKorobkov Куратор тега PHP
    Web developer
    Во-первых, редиректу надо указывать путь на сайте, а не сервере.
    header('Location: /index.php');

    Во-вторых, если обработка несколько секунд, то обрабатывать надо в этом же скрипте, а потом редиректить на результат.
    Если же обработка очень долгая, то надо записывать в очередь обработки и выводить "ваш запрос принят и обрабатывается". Отдельным демоном или по крону обрабатывать из очередь и через веб-сокет выводить результат клиенту.
    Ответ написан
    4 комментария
  • Как обернуть выделенный текст в кавычки в PhpStorm?

    @EugenCherniy
    File -> Settings -> Editor -> SmartKeys
    Включить Surround selection on typing quote oe brace
    Ответ написан
    1 комментарий
  • Как убрать sublime 3 из контекстного меню?

    Ezhyg
    @Ezhyg
    Ещё, в догонку:

    ShellExView
    Displays the details of shell extensions installed on your computer.

    ShellMenuNew
    Disable/Enable items in the New submenu of Explorer.

    ShellMenuView
    Disable/enable static menu items in context menu of Explorer.


    и вообще, очень полезны пакеты программ NirSoft и Sysinternals
    Ответ написан
    4 комментария
  • Как в phpstorm двигать текст влево/вправо?

    LB777
    @LB777
    В таком случае он двигает на одну табуляцию (равносильно четырём пробелам), но в sass и д.р. такой вариант не покатит, т.к. там отчет идет через два пробела.
    Как двигать выделенный текст на два пробела в право и в влево?
    Ответ написан
    2 комментария
  • Есть ли вакансии для it-специалистов в спортивных клубах?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    "зашел к директору арену"
    "да и вообще не видят в этом смысла."

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