Задать вопрос
  • Как править чужой код так чтоб его не сломать?

    @kttotto
    пофиг на чем писать
    Во первых нужно закладывать время на разбор легаси кода, об этом сразу надо говорить с заказчиком. Зная задачу, всегда понимаешь, ЧТО надо написать, но в случае с легаси надо еще и понять КУДА это написать. Без этого никак и поэтому это время надо учитывать.

    Второе. Когда-то меня учили, что код нужно менять только дописывая его, в крайнем случае удаляя, но ни в коем случае не переписывая. Поэтому, если надо изменить поведение - наследуешься, переопределяешь метод и используешь новый класс. Мне сложно судить о php, как этот проект реализован, но ООП для того и придумали, что его легче поддерживать и он легче модифицируется.

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

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

    А вообще чтение легаси, это дело опыта. Я помню первые свои чужие проекты, я думал, что попал в ад. Сейчас копаться в чужом коде, это мое любимое дело) Я могу часами сидеть разбирать чужой код, что начальству приходится меня попускать: "я понимаю, я тоже это люблю, но надо дело делать")) Люблю просто на гитхабе полазить по чужим проектам, посмотреть как люди думают.
    Ответ написан
    Комментировать
  • Как быстро научиться веб-программированию, верстке, созданию сайтов?

    @ynblpb_spb
    дятел php
    https://htmlacademy.ru/
    дерзайте и удачи вам!
    Ответ написан
    Комментировать
  • Как лучше сделать базу данных?

    @Fortop
    Tech/Team lead
    На сколько оправдано и безопасно использование GUID в качестве первичного ключа и передача его в файле обмена


    Если вы не планируете масштабировать вашу CRM на десятки серверов, то GUID будет избыточен.

    Пока приложение работает с одно БД автоинкримент или генератор последовательностей в рамках сервера БД намного практичнее
    Ответ написан
    2 комментария
  • Не запускается приложение на widows xp, что еще попробовать сделать?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    Смотреть системные логи
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

    Я учился на конкретных задачах. Обучение практически всегда начиналось с состояния хочу сделать вот это (четко осознаваемый конечный результат), но вообще понятия не имею как это делать, и даже с какой стороны подойти и за что хвататься...

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

    Далее из модулей, как из кубиков лего пытаешься собрать функциональные блоки. Тут важно понимать, что чем более автономные модули и блоки у тебя получаются, тем лучше, особенно для целей тестирования. Если ты забиваешь болт на тестирование, то тебе нечего делать в разработке.

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

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

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

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

    Обрати внимание, самое главное качество во всем этом многабукафф - упорство на грани фантастики. Любой, кто не дойдет до конца, не треснет себя по лбу в соты раз с воплем, так вот же она где, эта запятая, пропущена - сломается в самый неподходящий момент на боевом проекте...

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария
  • Где я могу проверить качество своего резюме?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Не надо спрашивать HR и рекомендаций сервисов!
    - напишите о своих навыках в описании о себе максимально подробно — это главное поле, остальные миллион полей -- полная дичь
    - напишите 2-3 места работы с описанием релевантных задач (не протокольного формата, а просто — что делали)
    - постарайтесь обойтись без местоимения "я" и без эпитетов (без единого чтобы вообще)
    - поменьше галиматьи про "выберите навыки из списка", меньше про длинные названия университетов и курсов... меньше про личный спорт и хобби — это все фишки сервисов не нужные... вот список того, чем пожертвовал ради хорошего описания, которое не затеряется в куче полей:
    5b4f1446bced5585230989.png

    ...

    P.S. спрашивать кадровиков, это как спрашивать девушку "какие парни тебе нравятся" они говорят "умные и спелые", а по факту выбирают нахрапистых и наглых или смазливых или вообще фиг поймешь как... также и тут, делайте хорошую презентацию без советов кадровиков (но с моими советами :)

    PS>S. Распространяйте резюме эффективно, вот описание как искал работу через vc.ru
    Ответ написан
    17 комментариев
  • Как организовать поиск на одной странице?

    Создать мини-приложение с помощью js-плагина из названий приложений.
    По клику на название из селектора - скролл на id.
    Ответ написан
    Комментировать
  • Почему не работает пересылка формы в модальном окне Angular?

    Ptolemy_master
    @Ptolemy_master
    Рискну предположить, что, скорее, всего, этот диалог находится вне scope контроллера. Заход в функцию SendData осуществляется? Когда вы в браузете делаете правый клик на кнопке, заходите в Inspect, то во вкладке scope вы видите эту функцию? (Я использую Batarang для этой цели, а что у вас, я не знаю).
    Ответ написан
    2 комментария
  • Можно ли открыть свой сервер управления версиями с функцией Pull Request?

    @buzina_v_ogorode
    Gogs, Gitlab
    Ответ написан
    Комментировать
  • Каково это быть project manager?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Что-то вы бегаете из крайности в крайность. То вас заинтересовала переквалификация в программиста, то не знаете кто круче фронтенд или бэкенд, теперь уже и в менеджеры.

    В чем проблема погуглить истории о различных менеджерах?
    Почитайте биографии и интервью на том же гиктаймсе.
    Хороший менеджер, который может вырасти - это человек с уже сложившимися бизнес-понятиями. Такому научиться во взрослом возрасте сложно.
    Ответ написан
    2 комментария
  • С помощью какого инструмента можно прописать библиотеки в шаблон проекта, а затем скачать свежие версии?

    alvvi
    @alvvi
    export default apathy;
    Подумал можно в npm, но по теме нашел мало инфы.

    Какого рода инфу вы искали, интересно? :)
    NPM создан для этого.
    Gulp-модули вы откуда скачали? Неужели вручную с гитхаба архивами стянули?
    Ответ написан
    5 комментариев
  • Как узнать сколько будет выполняться вызванная функция?

    @OwDafuq
    Stopwatch s = new Stopwatch();
    s.Start();
    //Work
    s.Stop();
    Console.WriteLine(s.Elapsed);
    Ответ написан
    Комментировать
  • Какой язык в данный момент востребованный?

    @lobbobobby
    Это бессмысленный вопрос.
    Там где больше народа - больше и конкуренция.
    Один из самых востребованных - PHP, JS.
    Но настоящее бабло там светит только самым квалифицированным.
    Большинство же - по сути подбирают объедки.
    Ответ написан
    Комментировать
  • Какой язык в данный момент востребованный?

    Astrohas
    @Astrohas
    Python/Django Developer
    Английский
    Ответ написан
    Комментировать
  • Рисование графиков, есть ли интересная статья или пример?

    dummyman
    @dummyman
    диссидент-схизматик
    Из jquerийных простенький morris и посложнее flot.
    Для Анжелы n3. Для любителей Ember Charts.
    Простенькие ChartJS и uvCharts.
    Очень легкий и хорошо разжеванный ChartList.
    Не менее хорошо разжеванный, но платный, ZingChart.
    Поддержку legacy обеспечит FusionCharts - обещают работу на IE6.
    Профессионалам понравится список фичей plotly.
    Вы бы конкретнее указывали какие графики вам нужны. А то все не подходят, а что нужно - секрет. Хотите создавать свою систему - читайте исходники существующих. - Врятли любая статья будет лучше и более полной чем исходники рабочих библиотек.
    Ответ написан
    5 комментариев
  • Как получить только цифры из строки MySQL?

    @Fortop
    Tech/Team lead
    Не хранить в столбце значение и размерность.
    Вообще.
    Никогда.

    Если вам нужно хранить расстояние, то создаете 2 столбца
    Значение ,  Размерность
    100.25, км
    Ответ написан
    Комментировать
  • Как правильно оценить стоимость своей работы?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    не правильно Дядя Федор, ты себестоимость своего труда считаешь.
    Даже если у тебя 500 рублей в час -> ты не учитывал накладные расходы, на поиск и обработку заказа (даже если тебе чувак сам написал), на тестирование, на всякие согласования и консультации, на сдачу / приемку. Ты не учитываешь что у тебя из переговоров только какая-то часть получается заказов (соответственно ты тоже должен это включать в расчет цены), и потраченное время на других потенциальных заказчиков тебе тоже кто-то должен возмещать, иначе ты с голоду помрешь при такой калькуляции что сейчас у тебя есть.
    но это все "себестоимость" - реальная цена труда - это столько за сколько ты можешь его продать (а это уже продавать нужно уметь), и я тебе говорю, можно продавать раз в 10 дороже чем ты это делаешь сейчас,
    пойми -> ты продавал продукт (в виде бота), а не 1 час программирования.
    Вобщем мой совет тебе обратится такой "желающий" за 500 рублей бота получить, говори ему сразу например 20 тысяч -> и пускай валит кулем, если нет столько бабок за разработку -> значит не дорос еще ботов покупать, пускай за 500 рублей себе конфеток купит.
    Тебе не нужно гнаться за КАЖДЫМ заказчиком, выставляй ценник от 20 тысяч например за пару дней работы, откажись от 90% заказчиков-нищебродов, и начни нормально работать. У кого есть бабки они тебе оплатят и больше за разработку, лучше работать 1 день в месяц с достойным заказчиком, чем весь месяц с какими-то нищибродами (которые изза 500 рублей еще торговаться будут).
    П. С.
    Сейчас фантастическое количество людей которые хотят например себе получить интернет-сервис, или там какого-нибудь бота за "500 руб", это неадекватные больные на всю голову люди, которые не ценят ни чужой труд, ни результаты этого труда, с ними даже разговаривать нельзя. Они вообще ко всем лезут, стучатся в лички, начинают уговаривают и тд. Посылай их сразу нахер.
    Ответ написан
  • Как управлять какой либо программой через другую программу?

    Посмотрите эти варианты:
    Ответ написан
    Комментировать
  • Ошибка записывать большое кол-во строк в excel??

    @artshelom Автор вопроса
    Если вдруг кто сталкнется решил вопрос заменив: Row row = sheet.getRow(i); на Row row = sheet.createRow(i);
    Ответ написан
    Комментировать