Задать вопрос
  • Программирование деформирует человека как личность?

    DevMan
    @DevMan
    при чем тут программирование?
    или по вашему остальные (кроме топ–менеджеров газпрома и прочих роснефтей) меньше устают?

    40+ лет.
    20+ лет зарабатываю программированием.
    есть ли усталость и выгорание? безусловно.
    можно ли с этим бороться? элементарно: периодически менять место работы/направления.
    Ответ написан
    6 комментариев
  • В чем основные отличия mySQL от Postgre?

    alekciy
    @alekciy
    Вёбных дел мастер
    Использую обе РСУБД. Предпочитаю Postgresql, хотя конечно начинал с MySQL. Из того, что на практике приводит к такому предпочтению:
    1) Отсутствие проблем на по сути пустом месте. Из последнего было, в одной базе есть таблицы с большим количеством текстовых полей. При вставке в одно из них чуть меньше 200 символов он отказывался ссылаясь на то, что переводите на динамические. И я значит должен начать курить тему движков мускула и выяснять, что мне оказывается нужна Barracuda. При той же InnoDb. Хочется спросить такого черта.
    Или вот еще вспомнил. При попытке записи в поле данных, больше чем это возможно для данной колонки он делает запись тупо обрезав лишнее. И проблему могут не заметить очень долго вплоть до момента когда подниматься из бэкапа поздно, там все уже битое.
    Или вот взять и сменить могут дефолтные значение переменных в рамках минорной версии. База после накатки апдейтов и ребута может просто не подняться. На хабре даже была статься по этому поводу.
    В общем множество подобных ситуаций после которых так и хочется воскликнуть "какого черта?!". Со слоном я не помню ни одной такой ситуации.
    2) RETURN во вставках/обновлениях. Можно получить в ответе любое поле такого запроса. И ни каких тебе танцев с LastInsertId.
    3) В последних версиях есть UPSERT которого очень не хватало.
    4) В целом более строгий подход и нет ощущение бардака.
    5) После запуска Postgres Pro появилась полностью руссифицированная документация. Помогает вкатиться в тему новичкам.

    Из минусов некоторое время было отсутствие адекватного UI клиента. Но после того, как стал использовать PhpStorm эта проблема была закрыта.
    Ответ написан
    1 комментарий
  • Какое железо лучше для нагруженного веб-сервера?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Для нагруженных сервисов железо не так важно, важна архитектура.
    Железо - это вертикальное масштабирование и оно всегда имеет ограничения, с которыми все сталкиваются через полгод-год-два. Впрочем, этот твой вопрос тому доказательство.
    Надо делать упор на горизонтальное масштабирование, чтобы не зависеть от характеристик железа.
    Другими словами, должно быть много недорогих (слабых) серверов, а не один дорогой и мощный.
    Лично мне такой подход позволяет держать нагрузку ~24000 запросов в секунду на десяти дешёвых серверах.
    Если нагрузка возрастёт, то я куплю ещё 2-5-10 дешёвых серверов вместо того, чтобы думать о характеристиках железа
    Ответ написан
    Комментировать
  • Как на 1 хостинге запустить несколько веб скриптов, на разных субдоменах?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Пишите Go lang сервисы, которые вам нужны.
    Каждый сервис слушает разный порт.
    Ставите веб сервер, например nginx и настраиваете виртуальные хосты, которые прокируют запросы к Go lang сервисам.
    Конфиг nginx'a будет выглядеть примерно так
    server {
        listen *:80;
        server_name yourdomain1.com; # домен, который вам нужно
        ...
        location / {
            proxy_pass http://127.0.0.1:9000; # IP адрес и порт, на котором слушает сервис Go lang.
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
    server {
        listen *:80;
        server_name yourdomain2.com; # домен, который вам нужно
        ...
        location / {
            proxy_pass http://127.0.0.1:9001; # IP адрес и порт, на котором слушает сервис Go lang.
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    Ответ написан
    1 комментарий
  • В каких приложениях Go существенно эффективнее чем Node.js и PHP?

    @mitya_k
    • Первая, причина, Go популярен за свою бедность синтаксиса, кому-то это нравится...
      Для больших компаний типа Google это плюс так, как можно посадить посадить 100500 программистов, которые вынуждены писать очень много однотипного болерплейта кода.
    • Вторая причина, там где требовалось решать низкоуровневые задачи, без бизнес-логики(например, много работать с байтиками), плюс требовалась многопоточность для этого приходилось использовать СИ++. Теперь есть простая альтернатива в виде Go. Опять же это актуально для больших компаний, где есть подобные задачи. Например, писать какой-нибудь парсер террабайтных логов
    • И последняя, можно сгенерить бинарь без зависимостей, что нравится работающим в DevOps, а для скриптования "богатый язык" особо не нужен. Опять же актуально для больших компаний, где есть большие отделы DevOps


    Из всех 3 пунктов вытекает зарплата и популярность в больших компаниях.
    Ответ написан
    Комментировать
  • Не рано ли изучать Rust?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я думаю, что стоит учить Rust именно сейчас потому, что язык перспективный. Вакансии начнут появляться через пару-тройку лет. Язык сложный, поэтому нужно время на его изучение. Пока выучите и рынок подтянется.
    К тому времени будете в топе разработчиков с реальным опытом.
    У Rust есть хороший потенциал по вытеснению C, особенно с учетом того, что его дизайн способствует эффективному применению в многопоточных системах. Ввиду предстоящего бума ARM-процессоров перспектива очень даже заманчива.
    На текущий момент Rust + работа зарубежом (фриланс) вполне нормальная перспектива.
    Ответ написан
    7 комментариев
  • Какой монитор на IPS матрице выбрать?

    dom1n1k
    @dom1n1k
    Ну если именно IPS и с ограниченным бюджетом, то всё довольно просто - открываешь Dell серию UltraSharp (индекс модели должен начинаться с U или UP) и берешь максимальную модель, на которую хватило денег.
    Ответ написан
    3 комментария
  • Какая СУБД обеспечит минимальное время доступа к непрогретым данным?

    opium
    @opium
    Просто люблю качественно работать
    если выборка простая и по индексу это скорее проблема доступа к диску, поставьте базу на ссд
    Ответ написан
    1 комментарий
  • Как на PHP генерировать CSV, который будет корректно отображаться везде?

    glebovgin
    @glebovgin
    Full Stack Web Developer
    Дело в BOM
    $fp = fopen('testcsv.csv', 'w');
    fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF)); // BOM
    fputcsv($fp, array('Item', 'Столбец 1', 'Данные'), ';');
    fclose($fp);
    Ответ написан
    8 комментариев
  • Как бороться с состоянием гонки в очереди laravel с множественными воркерами?

    lazychaser
    @lazychaser
    Использую отличное решение от одного товарища. Он использует оптимистичное блокирование, https://github.com/ph4r05/laravel-queue-database-ph4
    Проверено на нескольких проектах
    Ответ написан
    Комментировать
  • Как вы делаете Real-Time приложения на Laravel?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Правильно ли это?
    Да.

    Может, есть способ проще для этой цели?
    Кому-то и ajax — real-time. Если ты из этих «кому-то», то да, есть.
    Ответ написан
    2 комментария
  • Как вы делаете Real-Time приложения на Laravel?

    @ReDev1L
    Погуглите Server Side events(SSE).
    Они легче вебсокетов и сделаны как раз для этого. (вебсокеты - двусторонний канал, SSE - односторонний.)
    Ответ написан
    Комментировать
  • Как правильно отправить кросс-доменный запрос?

    @h88p
    Pre-Junior HTML Developer
    В папке сервера
    npm install cors

    В app.js
    var express = require('express')
    var cors = require('cors')
    var app = express()
    
    app.use(cors())
    Ответ написан
    Комментировать
  • Почему у PHP плохая репутация?

    @IceJOKER
    Web/Android developer
    А кто сказал, что у него плохая репутация?
    Одна из ведущих языков в web

    Раньше из-за плохого внедрения ООП может и был плохим, но теперь в нем есть все что нужно.
    Ответ написан
    Комментировать
  • ЧПУ url как у вк?

    @MaksPaverov
    .htaccess:
    RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]


    index.php:
    <?php
        $url = explode('/',strtolower(substr($_SERVER['REQUEST_URI'], 1)));
    
        switch($url[0]) {
            case '': { 
                include 'pages/main.php';
                break;
            }
            case 'how_to_buy':{
                include 'pages/how_to_buy.php';
                break;
            }
            case 'payment_methods':{
                include 'pages/payment_methods.php';
                break;
            }
            case 'guarantees':{
                include 'pages/guarantees.php';
                break;
            }
            case 'payment':{
                include 'pages/payment.php';
                break;
            }
            case 'myorders':{
                include 'pages/myorders.php';
                break;
            }
        }
    ?>
    Ответ написан
    1 комментарий
  • Как научиться создавать сайты, если в программировании полный 0?

    @nickerlan
    Для начала нужно цель прояснить и срок. Если просто быстро сайтики собирать научиться - то рекомендую сначала с tilda.cc поиграться, потом с webflow.io. Их по крайней мере с нуля быстро можно освоить. И наверное это тоже можно назвать программированием.

    Если же цель - достичь хорошего уровня, то нужно уже профессиональные инструменты осваивать.
    Я бы взял как программу минимум HTML, CSS, JS, NodeJS, React, Mongo. Подача мне вот тут нравится https://codedojo.ru/
    Еще, на базовом уровне алгоритмы хорошо бы изучить. Понять какие бывают структуры данных. Поиграться с функциональным и объектно ориентированным программированием.

    Как бы я построил обучение.
    Я бы выбрал проект, который хочется довести до конца. Реальную задачу.
    И начал бы просто ее делать. Задавая вопросы гуглу, здесь или знакомым программистам. Садится, писать, пробовать и до победного.

    И параллельно решал бы задачи, начиная с простых. Тут список сайтов где можно тренироваться https://tproger.ru/digest/competitive-programming-...
    Ответ написан
    Комментировать
  • Как научиться создавать сайты, если в программировании полный 0?

    @Deq56
    Python dev, JS, CSS, Asterisk, Mikrotik
    Устройся на работу, в какую нить галеру, там на уровень не смотрят, а с помощью самообучения очень долго получитсья
    Ответ написан
    Комментировать
  • Как в битриксе используя ORM получить значение из нескольких сущностей?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Тут можно почитать про связи между ORM сущностями.

    Если сущности, о которых вы спрашиваете, связаны, то делается это довольно просто.

    Допустим вот так описано поле по которому идет связь между сущностью Book и Author внутри класса BookTable:
    new Entity\ReferenceField(
        'AUTHOR',
        'SomePartner\MyBooksCatalog\Author',
        array('=this.AUTHOR_ID' => 'ref.ID'),
        array('join_type' => 'LEFT')
    )

    тогда чтобы выбрать какое либо поле из сущности author надо в getList добавить Author.<Код поля>. например так:
    BookTable::getList(array(
        'select' => array(
            'TITLE',
            'AUTHOR_NAME' => 'AUTHOR.NAME',
            'AUTHOR_LAST_NAME' => 'AUTHOR.LAST_NAME'
        )
    ));

    Пример взят из статьи по ссылке приведенной выше.
    Ответ написан
    3 комментария