• Как аргументировать начальству создание существующего проекта заново, с ноля?

    miraage
    @miraage
    Старый прогер
    Я бы в лично заявил руководителю что-нибудь такое.

    "Иван Петрович, мне нравится коллектив, мне нравится идея проекта, но очень много претензий к коду. Браться всё переписывать - убыточно с точки зрения бизнеса, однако рано или поздно случится апокалипсис. Давайте найдем способ привести это всё маленькими шагами в человеческий вид. Если продолжим поддерживать текущую реализацию - получим текучку кадров, ибо с этим работать очень тяжело и убыточно".
    Ответ написан
    2 комментария
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    @lega
    В большинстве случаев это экономический не целесообразно, и профессионал должен это учитывать.

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Начальство боится потерять то, что уже есть и как-то работает. Если вы будете делать новое параллельно , во внеурочное время, думаю никто не будет против :) У меня такой опыт;
    Нам передали проект с говнокодом, и архитектор и сен. дев. сказали что нужно переписать все с нуля, иначе это нам потом аукнется. Ответственный руководитель, добрый но трусливый, не дал ход изменениям. Через год руководитель ушел. И мы остались сидеть на говнокоде. А переписать все заняло бы наверно 2 недели упорной работы. Теперь просто некогда. Жаль что не решились. В принципе начальника можно было тогда уломать, но никто не был достаточно настойчив.

    По моему опыте с обобщающими ассоциациями нужно быть осторожным. Это может интерпретироваться как болтология и нежелание работать. Мол возмущаться и жаловаться все горазды..

    Думаю самый очевидный аргумент, что такая архитектура не расширяется и достигла своего предела. Если мы планируем расширяться, то нужна новая, модульная, распределенная архитектура, где несколько людей смогут работать над несколькими файлами параллельно, а фреймворк гарантирует что это все вместе будет потом работать. Посмотрите еще сколько эта страница загружается. Наверняка дольше чем нужно. Скажите что это негативно влияет на конверсию (Это чистая правда, есть статьи на хабре)
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    sim3x
    @sim3x
    Никак

    Они или дойдут до етого сами и тогда наймут приличного СТО, который с большой вероятностью уволит всю команду

    Или не дойдут и медленно умрут

    Если менее критично, то тебе нужно искать книги по практике переговоров

    Также стоит убрать дизайнера от руководства тех деталями

    react - clojure
    https://www.youtube.com/watch?v=WssdWSbAPKE
    Ответ написан
    3 комментария
  • Что такое потоки в node.js?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Это такая штука, которая выдает (или принимает, или и то и другое) данные кусочками (chunk). Чтобы объяснить, зачем они нужны, нужно немного отвлечься и вспомнить, как работает nodejs.

    Преимущество nodejs состоит в том, что пока БД или ФС реагирует на команду, мы можем запустить другой коллбэк. За счет этого мы можем обработать много запросов какбэ параллельно, но с точки зрения программиста параллельности нет, потоков нету, race condition не возникает и башка у него об этом не болит. И у нас все быстро работает, пока ни одна функция не занимает процессор слишком надолго, пока она не работает слишком долго. А если она займет, то, в силу однопоточности, у нас все остальные запросы зависнут.

    Но иногда нам все-таки сделать большую работу — прочитать или записать большой файл, например. С помощью потоков мы дробим эту работу на кусочки, которые не занимают проц надолго. Это не всегда возможно, но в большом количестве случаев вполне себе работает.

    P.S. В данном ответе речь идет о stream (не путать с thread).
    Ответ написан
    5 комментариев
  • Как научиться писать самостоятельно код?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В школах и институтах учили строить алгоритмы, еще когда рисовали блок-схемы.
    Это не зависит от языка программирования - нужно просто составить алгоритм для решения задачи. Изучая различные аспекты языка программирования, различные библиотеки, фреймворки и так далее вы просто приобретаете знания о дополнительных инструментах, которым нужно пользоваться для решения задачи.

    Но само решение придумывает программист, а не язык программирования.

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

    Например, взять какую-нибудь игрушку с множеством товара и найти самый выгодный или дешевый товар. Вам будет понятна цель - найти нужный вам товар
    При этом не будет важно в каком виде - в виде веб-странички, в виде простого текста на экран, или в виде заполненной таблички в базе данных.
    При этом не будет важно какими инструментами вам нужно воспользоваться.
    Главное, что вы осознаете что именно хотите получить. И пишете программу, которая выдает вам результат, используя имеющиеся знания.
    Чем больше знаний, тем удобнее в конечном счете пользоваться тем что вы написали и тем быстрее и проще вам это писать.
    Ответ написан
    Комментировать
  • Есть ли обучение по созданию push уведомлений?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Если ты не понимаешь теорию, значит на практике у тебя ничего стоящего не выйдет.
    А так вполне себе хорошая теория тут https://developer.mozilla.org/en-US/docs/Web/API/P...
    И она содержит ссылочку на вполне себе реальный пример https://github.com/chrisdavidmills/push-api-demo

    Как эта штука используется на практике.

    После того, как вы определились с тем, что вы собираетесь отправлять, вам нужно сделать несколько вещей.
    1. Запросить у пользователя разрешение на отправку уведомлений. Делается это через Notification.requestPermission. Если мы получили подтверждение, то идем дальше, если нет, забиваем на это дело. Здесь нужно быть очень осторожным и делать это ненавязчиво.

    2. Создать фоновый обработчик, который будет принимать push-уведомления от сервера. Это делается через вызов navigator.serviceWorker.register. Например так https://github.com/chrisdavidmills/push-api-demo/b...
    Он подписывается на канал. Канал - это как комната в чате.

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

    3. Написать сервер уведомлений. У nginx есть хороший модуль. Он будет обслуживать клиентов.

    Рекомендую к просмотру https://www.youtube.com/watch?v=5A5Iw9z6z2s
    Ответ написан
    7 комментариев
  • Простая JavaScript игра. Как обезопасить ajax-запросы от фальсификации?

    Считайте время на сервере. Когда игра начинается отправляйте старт запрос, когда заканчивается стоп запрос. А там уже вычисляйте разность.
    Ответ написан
    3 комментария
  • Есть локальные СУБД для javascript?

    Rou1997
    @Rou1997
    Есть WebSQL, ну и банальный localstorage, но не удивлюсь, если "Осел" и их не поддерживает.
    Но зато, раз локально, то ActiveX должен поддерживаться, это уже "фирменная" "плюшка" IE, через ActiveX по крайней мере с файлами работать можно, а может и ADO получится "прикрутить", или Excel и т.п.
    Ответ написан
    3 комментария
  • Как лучше перенести доменную почту с gmail на yandex?

    @kmaroff Автор вопроса
    Верстаю, делаю сайты на Вордпрес и Опенкар
    Отвечу сам себе. Делаем бэкап штатными средствами google:
    https://takeout.google.com/settings/u/4/takeout , после устанавливаем firefox thunderbird, подключаем его по imap к аккаунту на который нужно импортировать почту. Далее импортируем из .mbox почту в firefox thunderbird и синхронизируем ее с нужным аккаунтом.
    Финиш.
    Ответ написан
    Комментировать
  • Какую фантастику порекомендуете, где главный герой программист/инженер?

    frost18
    @frost18
    Программист PHP
    Лукьяненко Сергей - Лабиринт отражений
    Ответ написан
    Комментировать
  • Какую фантастику порекомендуете, где главный герой программист/инженер?

    @Byteler
    40 лет в сети
    Клиффард Саймак, Станислав Лем
    Ответ написан
    Комментировать
  • Есть ли в данный момент крупные проекты, где применяется язык Go?

    @abcyu
    Разработчик
    В чем у Вас сомнения? Go уже много лет как в production у серьезных фирм.

    Google
    Docker
    Mozilla
    Canonical
    Facebook (for Parse)
    Dropbox
    BBC
    Iron.io
    37signals
    SoundCloud
    CloudFlare

    и др.......
    Ответ написан
    8 комментариев
  • Подключение 11 мониторов к одному компьютеру?

    @123459
    вообще, amd официально заявляет:
    https://youtu.be/Jf0X0lNFmgw?t=68
    https://youtu.be/Jf0X0lNFmgw?t=324
    https://forums.servethehome.com/index.php?threads/...
    linustechtips.com/main/topic/377308-4-displays-1-r...
    https://community.amd.com/message/2686775#2686775
    на r9 280x и 290 2 x dvi и 1 x HDMI могут работать без dp адаптера
    но в зависимости от видеокарты, в ней может быть встроенный активный конвертер dp->dvi

    переходники dp активные?
    пассивные переходники dp не подходят
    если активные - переходники dp имеют версию протокола dp 1.2 или старее?

    если видеокарта имеет встроенный активный конвертер dp->hdmi:
    вы пробовали выключить мониторы кнопкой, перезагрузить компьютер и включить мониторы?

    мониторы, подключаемые к hdmi и dvi одинаковые?
    выбранный в мониторе источник hdmi или автовыбор?

    переходники dvi->hdmi пассивные?
    если переходники dvi активные (dvi аналоговый в hdmi цифровой) то они не подходят.

    вы не используете eyefinity?
    вы используете crossfire?
    разрешение каждого монитора больше чем 2560 x 1600?
    если да - dvi не будут работать, макс разрешение dvi 2560 x 1600
    макс разрешение hdmi 4096 x 2160

    как обойти:
    можно взять активный mst переходник dp-> 3x hdmi, а четвертый монитор включить в hdmi порт на видеокарте
    или активный mst переходник dp-> 2x hdmi и два монитора подключить к hdmi и dvi

    или активный mst переходник dp-> 4x hdmi и два монитора подключить к hdmi и dvi, а третью видеокарту продать.
    Учтите, если вы используете gpgpu, то лучше использовать все три видеокарты, потому что так будет доступно больше видеопамяти.
    если вы собираетесь использовать crossfire в играх - лучше поменять на 2 топовые видеокарты, т.к. тройной crossfire работает хуже, кроме того 270 имеют низкую производительность и у них проблемы с crossfire на 4k разрешениях.
    upd, увидел модель процессора - в нём всего 16 pcie линий, соответственно вторая и третья видеокарта будет сильно ограничена в пропускной способности:
    2 x PCIe 3.0/2.0 x16 (x16 or dual x8) - когда вставлена одна карта, она работает в режиме x16;когда установлены две карты, обе работают в режиме x8, по 8 линий на каждую.
    1 x PCIe 2.0 x16 (x4 mode) *1 - когда вставлены 3 видеокарты, они работают так: первая x8 вторая x4 третья x4, причем третья на скорости стандарта pcie2 - в два раза медленнее.
    3 x PCIe 2.0 x1

    *1. The PCIe 2.0 x 16 slot (PCIEX4_3) shares bandwidth with SATAExpress_E1 connector. The default setting is in Auto mode that automatically optimizes the system bandwidth. If you install PCIe 2.0 x4 device, the system will automatically detect and disable SATAExpress_E1 connector.
    потому, если вам нужно запускать тяжелые вычислительные приложения, или играть, то третья видеокарта будет работать медленно, вторая тоже замедлится по сравнению с конфигурацией с двумя видеокартами. Выигрыша от тройного crossfire почти не будет, если вы включите его.

    или поменяйте видеокарты на версии с 6 mini dp портами и подключите по 6 dp мониторов в каждую, без конвертеров.
    Ответ написан
    Комментировать
  • Как найти публикации о СПО (opensource) и актуальности его использования к примеру, в госсекторе?

    bingo347
    @bingo347
    Crazy on performance...
    Я бы вам не рекомендовал использовать свободное ПО в гос секторе, у меня был такой опыт, вылилось все в штрафы от прокуратуры, так как у нас нет бумаги о том что ПО лицензионное. GPL/BSD/MIT лицензия не признается нашими чиновниками, они лучше будут кормить всяких Microsoft'ов и прочую каку и получать за это откаты
    Ответ написан
    8 комментариев
  • Какой linux поставить на ноут 2007 года?

    Denormalization
    @Denormalization
    На еще более старом экземпляре(2005г) у меня стоит ArchLinux, который ежедневно обновляется. Ядро последнее - все летает.
    WM Openbox.
    Ответ написан
    Комментировать
  • Какой мощный ноутбук для работы?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Если нужен мощный - берите что-то на базе barebone Clevo, вот у меня с Core i7-4900MQ и Nvidia 780M уже год как, довольно мощный должен сказать. По цене как минимальный Macbook Pro Retina, по весу и мощности гораздо больше.
    Вы же не написали что у вас за работа)
    Ответ написан
    Комментировать
  • На чем пишут программное обеспечение для космических ракет/спутников/самолетов?

    @barmaglod
    В рамках космической программы "Буран" был разработан язык ДРАКОН, который до сих пор используется в различных проектах вроде "Протон-М", "Тополь-М" и других.
    Сайт
    Ответ написан
    Комментировать
  • Как правильно учить Javascript?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Вы наверное слышали, что каждый уважающий себя программист обязан написать несколько велосипедов? И JavaScript-программисты тоже так делают и еще как! Так вот в этом нет ничего плохого, это отличное самообучение.

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

    Не пытайтесь брать сразу сложные вещи, начинайте с малого. Как заметили выше, не смотрите пока что на очень сложные книжки, их читать сейчас почти бесполезно.
    Ответ написан
    6 комментариев