• Как переквалифицироваться из разработчика в руководителя?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Разработчик, занимаясь разработкой, никогда не сможет вырасти в руководителя проекта.
    Это РАЗНЫЕ должности и разные карьеры.

    1) интерн разработчик - джуниор разработчик - разработчик - сеньор разработчик. Возможно тимлид. Возможно архитектор.

    2) Менеджер - менеджер с опытом управления. Возможно менеджер проекта. Возможно менеджер по (тут может быть что угодно). Возможно свой бизнес.

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

    Ezhyg
    @Ezhyg
    Интернет - сеть сетей, она использует любые каналы связи. По этим же каналам связи, можно пускать что угодно, но не делать это частью интернета. Например интернет через телефонную линию, GSM/3/4/5G-модем, спутниковый канал, Wi-Fi и т.д, все эти каналы связи могут использоваться и не для интернета. Та же VPN - не часть интернета, по своей сути.
    ГАС Выборы вообще частично (не скажу насколько) отдельными каналами проведена, правда часто отдельный канал проводит обычный интернет-провайдер, просто вместо доступа в интернет по нему бегает VPN или настроена маршрутизация к ближайшему "узлу системы". А иногда параллельно и интернет в той же линии :).

    Да и вообще, помимо интернета есть и другие сети, использующие те же, а иногда и другие линии. ОпСоС-ы много где просто протянули свою оптику между узлами, где это оказалось дешевле, чем арендовать чужие каналы.

    это я утрировал, конечно же, но суть не меняется
    Ответ написан
    Комментировать
  • Как выбрать программиста с адекватной ценой за час?

    @cicatrix
    было бы большой ошибкой думать
    Знаете, это рынок.
    Представьте себе, не дай бог, у вас судебное разбирательство, и надо вам нанять адвоката. Один стоит 1000 р. в час, другой - 15000 р. в час. Как оценивать работу адвоката?

    Вообще, у программиста-фрилансера (как и у адвоката) должен быть опыт решения похожих задач в прошлом и лучше всего - рекомендательные письма / координаты предыдущих нанимателей, чтобы у них можно было поинтересоваться качеством его работы.
    Ответ написан
    25 комментариев
  • TINYINT vs ENUM: в ситуации, когда возможных целочисленных значений всего несколько?

    Melkij
    @Melkij
    PostgreSQL DBA
    Enum с числовыми полями работает описанным в мануале способом, но этот способ... Скажем так, иногда вызывает удивление.

    mysql> create temporary table speedlimit (i int, lim ENUM('20', '30', '40', '50', '60'));
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> insert into speedlimit values (1, 60);
    Query OK, 1 row affected, 1 warning (0.04 sec)
    
    mysql> insert into speedlimit values (2, 5);
    Query OK, 1 row affected (0.04 sec)
    
    mysql> insert into speedlimit values (3, '60');
    Query OK, 1 row affected (0.04 sec)
    
    mysql> select * from speedlimit;
    +------+------+
    | i    | lim  |
    +------+------+
    |    1 |      |
    |    2 | 60   |
    |    3 | 60   |
    +------+------+
    4 rows in set (0.00 sec)
    
    mysql> select * from speedlimit where lim > 20;
    Empty set (0.00 sec)
    
    mysql> select * from speedlimit where lim > '20';
    +------+------+
    | i    | lim  |
    +------+------+
    |    2 | 60   |
    |    3 | 60   |
    +------+------+
    2 rows in set (0.00 sec)


    Если вы понимаете, почему поведение именно такое и знаете, что это поведение не будет удивлять других разработчиков - можно использовать. По размеру enum до 255 значений занимает 1 байт, как и tinyint. Но я не рекомендую использовать enum с числовыми значениями.
    Ответ написан
    6 комментариев
  • Как скомпилировать в один большой запускной файл?

    Nipheris
    @Nipheris Куратор тега C++
    он зависит от большого количества so-библиотек.

    У вас два варианта:
    1. Использовать статические варианты библиотек вместо динамических (so) - это то, что предлагает Vitaly.
    2. Продолжать собирать как сейчас, но научиться собирать нормальные пакеты под нужные вам дистрибутивы, с нормальным описанием зависимостей - тогда системный пакетный менеджер при установке вашего пакета поставит все нужные вам зависимости.

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

    Stalker_RED
    @Stalker_RED
    array_chunk() чтобы разбить на части.
    foreach по этим частям, каждую оборачиваем в группу, и выводим элементы.
    Ответ написан
    Комментировать
  • Можно ли на Хабре создавать новый аккаунт если тебя заминусовали?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Модератор говорит, что если не выявят дополнительные аккаунты, то можно))
    Ответ написан
    Комментировать
  • Есть ли возможность добавить форматирование текста в CSV-файл для Excel?

    @kisaa
    Нет
    https://stackoverflow.com/a/25645620
    CSV (от англ. Comma-Separated Values) — значения, разделённые запятыми. Там нет места стилям и форматам.
    Ответ написан
    2 комментария
  • Как написать функцию итератор?

    Melkij
    @Melkij
    PostgreSQL DBA
    Это называется не итератором.

    insert into terms (term, freq) values (?, 1) on conflict (term) do update freq = excluded.freq + 1 returning freq;

    В функцию завернуть по желанию. 9.5+
    Ответ написан
    Комментировать
  • Как обновляют структуру БД и данные на продакшене?

    Melkij
    @Melkij
    PostgreSQL DBA
    Поскольку вопрос о трансформации имеющихся данных - то индивидуально для каждой задачи.

    Начать необходимо вот отсюда: https://habrahabr.ru/post/146901/
    И, собственно, придти к выводу, что лучше оставить как есть в одном поле. Если в каких-то местах нужны другие формы обращений - прописать их явно, а не конструируя по имеющимся заблуждениям о фио.

    А так:
    0) делается дополнительный бекап
    1) выкатывается alter table добавляющий новый поля
    2) выкатывается приложение, умеющее писать синхронно старую и новую структуру, но читающее только старую
    3) отдельным процессом в цикле небольшими частями преобразуются данные - это если подлежит автоматической обработке
    4) выкатывается приложение использующее только новую структуру
    5) архивируется и удаляется исходная структура

    Для всего-то тысячи записей может проще будет залочить табличку на несколько секунд.

    Если тривиальной автоматике обработка не подлежит, то часто вместо 3 пункта делают выгрузку primary key, source_data, как-нибудь изменяют и готовят csv primary key, source_data, new_data, копируют в temporary table, затем делают слияние мультитабличным update этих двух таблиц с recheck'ом по source_data. Затем выгружают данные для которых не было обновления, разбираются, ещё раз обновляют и т.д. до заполнения всего.
    Ответ написан
    2 комментария
  • Django. Админка, можно ли обойтись без неё?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Да, это возможно. Знаю на практике.
    Ответ написан
    Комментировать
  • Как отправить команду по COM/Serial port с помощю nodejs?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    'H' на конце - это всего лишь признак шестнадцатеричного значения, передавать его в Buffer.from не надо.
    Значение BCC необходимо предварительно рассчитать, взяв XOR всех байтов, входящих в команду. XX - просто обозначает расчётное значение (в данном примере должно быть 23H).
    Соответственно, строка должна выглядеть так:
    var data = Buffer.from("045002760323", "hex");
    Ну и, если полностью прочитаете описание протокола, то увидите, что после отправки команды необходимо получить от диспенсера подтверждение (ACK), ответ, и выдать ACK подтверждая получение ответа.
    Ответ написан
    4 комментария
  • Почему ini_set в проекте устанавливается при определенном событии? Правильно ли это?

    lidacriss
    @lidacriss
    wtf
    И меняют на все время, а не на время конкретной операции?

    Меняют как раз таки на время, а не на "всегда"
    ini_set
    Устанавливает значение заданной настройки конфигурации. Настройка будет хранить установленное значение пока выполняется скрипт. После завершения работы скрипта значение настройки вернется к исходному.

    Это нужно, в том случае, когда нам надо загрузить что-то, что грузится долго и чтобы не отпал скрипт по таймауту
    Ответ написан
    Комментировать
  • Как организовать работу с командой поддержки?

    sim3x
    @sim3x
    Удалить поддержку из группы в скайпе
    Ответ написан
    Комментировать
  • Почему Chrome загружает картинку, отображая ее сначала как черно-белую?

    villiwalla
    @villiwalla
    HTML-верстка
    Прогрессивный jpg
    Ответ написан
    Комментировать
  • Как выдернуть данные по значению ключа в поле JSONB?

    0xD34F
    @0xD34F
    SELECT *
    FROM table_name
    WHERE (column_name->>'product_id')::integer IN (1,2,3,4,5,6,7,8,9,10)
    Ответ написан
    Комментировать
  • Можно ли молодой веб-студию стартовать без портфолио?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    Очевидно, что ложить в портфолио другой (своей) студии их нельзя

    Если NDA не подписывали — то класть можно.

    Делать фейковые проекты - нормально для старта на фрилансе, а вот для студии, вроде, как-то не серьезно.

    Это еще почему?
    Забубеньте крутой лендинг по ремонту и обслуживанию звездолетов, от заказчика, у которого 7 щупалец и который живёт внутри планеты из жидкого аммиака.
    Так и вопросов дурацких не будет, и портфолио нестандартное —> сразу интерес больше —> время на сайте дольше —> конверсия выше.
    Ответ написан
    Комментировать
  • Не работает скрипт ajax, не получает данные от обработчика, что сделать?

    @imhuman
    seccess не о том думаете))
    Ответ написан
    Комментировать
  • Как определить номер мобильного телефона при посещении веб-страницы?

    sim3x
    @sim3x
    Никак нельзя сделать
    Ответ написан
    Комментировать
  • Как установить mysql 5.5 и php 5.4 на ubuntu 16.04?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Лучше делайте тестирование на виртуалке через Вагрант или через Докер-контйенеры, и не нужно вам будет софт ставить и конфликты разрешать
    Ответ написан
    4 комментария