Да ничего хорошего, конечно, нет. Каждый раз открываю я эту тулзу и плачу. Только вот писал её один наш co-op student и стоила она компании практически ничего. Другой новый co-op student может её спокойно продолжать пилить, поскольку все они сейчас знают JS.
Я хочу сказать то, что для постых задач нужна такая технология, которую можно отдать студенту, которая будет минимизирать стоимость разработки и для которой не нужен хардкорный программист который будут реализовывать загрузку изображений через OpenGL — для них и так работы хватает.
Другое дело, если задача — сложная, но тогда, все рано, придется использовать Qt или что то подобное.
Вот такие дела.
А несколько лишних мегабайт никого сейчас не волнует (хотя повторюсь, без слез на нашу тулзу смотреть нельзя, но она работает)
20 mb Qt много? У нас есть простая GUI утилика написанная на node.js + angular.js + electron. Так вот её дистрибутив весит 466 MB, который, конечно для удобства, заботливо положен в GIT репозиторий. (GIT LFS? нет не слышал...)
Таким образом, этот конструктор становится конструктором по умолчанию, «ну и пусть» — скажет gcc 4.2, но у clang-а по этому поводу совсем другое мнение.
Что именно не нравится clang'у? Мне кажется, что последующая ссылка ведет не туда или нет?
Приоткройте, пожалуйста, техническую сторону дела. Как вы разбираете C++? Используете frontend от Clang, GCC, извлекаете информацию из MSVC или написали что-то своё?
Как вы оцениваете возможные проблемы с разными трактовкой и набором возможностей языка у решарпера и у MSVC?
Добрый день.
Судя по описанию ошибки, система не может найти «lib/Mobile_Detect.php», возможно он не был скопирован. Попробуйте опцию «Перезагрузить Аккаунт» в CPANEL и пройти инструкцию заново.
А что возвращает wget на update_with_params.php? Сколько секунд он работает?
Это временное явление, т.е. всегда возвращает 503 или раньше работало?
Что написано в логе public_html/PHP_errors.log?
У меня, в целом, работает, но бывают периоды, когда hostinger подтупливает. Частые проблемы: отваливается БД «Too many connections» и «MySQL server has gone away» и коды 302 и 503
Вот, смотрите, не хватает каталога rss в пути. Ещё задача будет выполняться каждую 5-ю минуту часа, а не каждые 5 минут. Посмотрите ещё раз на картинку в разделе «Настройка CRON-задачи»
Наверное, вы не совсем правильно указали путь к CRON-задаче. В первое поле нужно вводить: public_html/rss/update_external.php, а у вас похоже update.php
Вообще-то автора можно полностью убрать из повествования.
Да, это вообще хороший стиль.
По сути, я с вами не согласен лишь в чрезмерном обобщении. Но я думаю, что проблема лежит в другой плоскости. Всё дело в культуре менеджмента. Возможно, это советское прошлое из нас всё выветриться не может. Но у нас менеджер считает, что если он потребует сделать задачу в меньший срок и надавит на подчинённого, то и результат он получит быстрее и, стало быть, порадует своего начальника. Однако, третий закон Ньютона продолжает повторять, что на любое действие обязательно появится противодействие. И вот такое искусственное завышение сложности задачи и есть та самая компенсация, в надежде выторговать себе больше времени. Разработчик просто привык сопротивляться «эффективным» менеджерам и пытается, иногда, всё-таки встретится со своими близкими.
Порой разработчик перегибает, конечно, и в этом вы правы.
Вы просили написать, почему минус. Статья читается так: Автор, весь в белом, тимлид с огромным опытом, с идеальным английским, да ещё и код пишет каждый день, жалуется на то, что братья славяне, его подчинённые, вокруг все такие дураки ленивые.
Жанр прямо скажем не нов. Вот только при чём здесь хабр? Где проблема, где анализ, где решение? Например, решением может стать перестать нанимать «наших» разработчиков.
Или
вместо того, чтобы начать думать, как решить проблему они часто начинают думать почему проблему решить нельзя
По-моему эта статья — самое важное, что я в жизни сделал.
Далеко не факт то, что буфер указателей будет сортироваться быстрее:
1. Выделение памяти под буфер и заполнение его
2. Обращение к элементом через разыменование
3. Буфер указателей менее дружественен для кеша
4. Для тяжёлых объектов должна использоваться move-семантика
В случае же linq производительность наверняка будет выше наивного подхода с выделением на каждом этапе буфера и копирования в него.
В C++ это считается очень плохим стилем. Всегда стараются работать с теми же данными.
А что там можно особо наоптимизировать? O(n) он не сможет уменьшить. Настоящая оптимизация начнётся тогда, когда можно алгоритм или контейнер заменить или подсчитать что-то заранее. На это только человек способен. Да и тот же select копирует элементы, хотя далеко не всегда это нужно.
Мне кажется то, что привычка использовать Linq приводит к значительному падению производительности кода. Посудите сами, когда так легко дважды скопировать Linq выражение, поменяв в нём пару байтов, будет ли программист заморачиваться? А получит в итоге два прохода по коллекции.
Правильно я понял то, что для того чтобы стать «классным разработчиком» лучше поменьше читать про алгоритмы, ООП и про то, как всё устроено внутри, а то, вдруг, захочется что-нибудь написать самому, а не срастить с десяток либ ради примитивной функциональности и не разгребать баги на взаимодействии между либами?
В одной компании, один «классный разработчик» получил задание внедрить проверку орфографии. Проект был на C++, а первая либа в гугле оказалось на Java. Проект стал зависть от JDK инсталлятор увеличился в 10 раз, а проблемы межъязыкового взаимодействия ещё долго вымораживали мозг.
Мне кажется, что «классным разработчиком» вы называете классного прототиписта, который быстро выдаёт черновой функционал, но так и не может добиться приемлемого уровня качества.
В современных играх объём работ художников, моделеров и аниматоров на порядки дороже, чем работа программистов. Проблема не в сложности разработки под Linux, а точнее сложность это не принципиально. Проблема в аудитории. Нет игрового рынка под Linux. Если Valve поспособствует его рождению, то игры появятся как грибы после дождя.
Да ничего хорошего, конечно, нет. Каждый раз открываю я эту тулзу и плачу. Только вот писал её один наш co-op student и стоила она компании практически ничего. Другой новый co-op student может её спокойно продолжать пилить, поскольку все они сейчас знают JS.
Я хочу сказать то, что для постых задач нужна такая технология, которую можно отдать студенту, которая будет минимизирать стоимость разработки и для которой не нужен хардкорный программист который будут реализовывать загрузку изображений через OpenGL — для них и так работы хватает.
Другое дело, если задача — сложная, но тогда, все рано, придется использовать Qt или что то подобное.
Вот такие дела.
А несколько лишних мегабайт никого сейчас не волнует (хотя повторюсь, без слез на нашу тулзу смотреть нельзя, но она работает)
20 mb Qt много? У нас есть простая GUI утилика написанная на node.js + angular.js + electron. Так вот её дистрибутив весит 466 MB, который, конечно для удобства, заботливо положен в GIT репозиторий. (GIT LFS? нет не слышал...)
Не очень понял по поводу:
Что именно не нравится clang'у? Мне кажется, что последующая ссылка ведет не туда или нет?
Как вы оцениваете возможные проблемы с разными трактовкой и набором возможностей языка у решарпера и у MSVC?
Судя по описанию ошибки, система не может найти «lib/Mobile_Detect.php», возможно он не был скопирован. Попробуйте опцию «Перезагрузить Аккаунт» в CPANEL и пройти инструкцию заново.
update_with_params.php
? Сколько секунд он работает?public_html/PHP_errors.log
?rss
в пути. Ещё задача будет выполняться каждую 5-ю минуту часа, а не каждые 5 минут. Посмотрите ещё раз на картинку в разделе «Настройка CRON-задачи»public_html/rss/update_external.php
, а у вас похожеupdate.php
Да, это вообще хороший стиль.
По сути, я с вами не согласен лишь в чрезмерном обобщении. Но я думаю, что проблема лежит в другой плоскости. Всё дело в культуре менеджмента. Возможно, это советское прошлое из нас всё выветриться не может. Но у нас менеджер считает, что если он потребует сделать задачу в меньший срок и надавит на подчинённого, то и результат он получит быстрее и, стало быть, порадует своего начальника. Однако, третий закон Ньютона продолжает повторять, что на любое действие обязательно появится противодействие. И вот такое искусственное завышение сложности задачи и есть та самая компенсация, в надежде выторговать себе больше времени. Разработчик просто привык сопротивляться «эффективным» менеджерам и пытается, иногда, всё-таки встретится со своими близкими.
Порой разработчик перегибает, конечно, и в этом вы правы.
Жанр прямо скажем не нов. Вот только при чём здесь хабр? Где проблема, где анализ, где решение? Например, решением может стать перестать нанимать «наших» разработчиков.
Или
Правда?
1. Выделение памяти под буфер и заполнение его
2. Обращение к элементом через разыменование
3. Буфер указателей менее дружественен для кеша
4. Для тяжёлых объектов должна использоваться move-семантика
В C++ это считается очень плохим стилем. Всегда стараются работать с теми же данными.
Мне кажется то, что привычка использовать Linq приводит к значительному падению производительности кода. Посудите сами, когда так легко дважды скопировать Linq выражение, поменяв в нём пару байтов, будет ли программист заморачиваться? А получит в итоге два прохода по коллекции.
Зачем тащить в язык куски C#? В C++ есть свои средства и, как минимум, не хуже.
и здесь:
нет противоречия?
В одной компании, один «классный разработчик» получил задание внедрить проверку орфографии. Проект был на C++, а первая либа в гугле оказалось на Java. Проект стал зависть от JDK инсталлятор увеличился в 10 раз, а проблемы межъязыкового взаимодействия ещё долго вымораживали мозг.
Мне кажется, что «классным разработчиком» вы называете классного прототиписта, который быстро выдаёт черновой функционал, но так и не может добиться приемлемого уровня качества.