Pull to refresh
20
0
Дмитрий Шестеркин @NightWind

User

Send message

Да ничего хорошего, конечно, нет. Каждый раз открываю я эту тулзу и плачу. Только вот писал её один наш co-op student и стоила она компании практически ничего. Другой новый co-op student может её спокойно продолжать пилить, поскольку все они сейчас знают JS.
Я хочу сказать то, что для постых задач нужна такая технология, которую можно отдать студенту, которая будет минимизирать стоимость разработки и для которой не нужен хардкорный программист который будут реализовывать загрузку изображений через OpenGL — для них и так работы хватает.
Другое дело, если задача — сложная, но тогда, все рано, придется использовать Qt или что то подобное.
Вот такие дела.
А несколько лишних мегабайт никого сейчас не волнует (хотя повторюсь, без слез на нашу тулзу смотреть нельзя, но она работает)

20 mb Qt много? У нас есть простая GUI утилика написанная на node.js + angular.js + electron. Так вот её дистрибутив весит 466 MB, который, конечно для удобства, заботливо положен в GIT репозиторий. (GIT LFS? нет не слышал...)

У меня работает. Попробуйте переместить все скрипты из папки rss в, скажем, rss2. Иногда Хостингер блокирует папки каким-то образом.
Тут clang совершенно прав. Я бы перенёс значение по-умолчанию из определения в объявление.
Спасибо за статью!

Не очень понял по поводу:
Таким образом, этот конструктор становится конструктором по умолчанию, «ну и пусть» — скажет gcc 4.2, но у clang-а по этому поводу совсем другое мнение.

Что именно не нравится clang'у? Мне кажется, что последующая ссылка ведет не туда или нет?
Приоткройте, пожалуйста, техническую сторону дела. Как вы разбираете C++? Используете frontend от Clang, GCC, извлекаете информацию из MSVC или написали что-то своё?

Как вы оцениваете возможные проблемы с разными трактовкой и набором возможностей языка у решарпера и у MSVC?
Добрый день.
Судя по описанию ошибки, система не может найти «lib/Mobile_Detect.php», возможно он не был скопирован. Попробуйте опцию «Перезагрузить Аккаунт» в CPANEL и пройти инструкцию заново.
  1. А что возвращает wget на update_with_params.php? Сколько секунд он работает?
  2. Это временное явление, т.е. всегда возвращает 503 или раньше работало?
  3. Что написано в логе public_html/PHP_errors.log?
  4. У меня, в целом, работает, но бывают периоды, когда hostinger подтупливает. Частые проблемы: отваливается БД «Too many connections» и «MySQL server has gone away» и коды 302 и 503
503 значит «сервис временно недоступен». Т.е. единственный вариант подождать, если раньше нормально работало.
Вы имеете в виду обновление раз в час? Если так, то у вас, похоже, та же ошибка что и выше:
задача будет выполняться каждую 5-ю минуту часа, а не каждые 5 минут. Посмотрите ещё раз на картинку в разделе «Настройка CRON-задачи»
Вот, смотрите, не хватает каталога 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 выражение, поменяв в нём пару байтов, будет ли программист заморачиваться? А получит в итоге два прохода по коллекции.
А чем Вас не устроил такой код, кроме того, что не похож на Linq?

boost::copy( data | filtered( [](const TestClass &a) { return a.iVal >= 5; } ), std::back_inserter(vec) );
boost::sort( vec, [](const TestClass &a1, const TestClass &a2) { return a1.sVal < a2.sVal; } ); 


Зачем тащить в язык куски C#? В C++ есть свои средства и, как минимум, не хуже.

Полный пример
#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm.hpp>
#include <algorithm>
#include <iostream>
#include <vector>

struct TestClass
{
  int iVal;
  int sVal;
  
  TestClass( int val ): iVal(val), sVal(val) {}
};

int main()
{
  using namespace boost::adaptors;

  TestClass data[] = {7, 6, 4, 3, 8};
  std::vector<TestClass> vec;
  
  boost::copy( data | filtered( [](const TestClass &a) { return a.iVal >= 5; } ), std::back_inserter(vec) );
  boost::sort( vec, [](const TestClass &a1, const TestClass &a2) { return a1.sVal < a2.sVal; } ); 
  
  boost::transform( vec, std::ostream_iterator<int>(std::cout, " "), [](const TestClass &a) { return a.iVal; } );
  
  return 0;
}
А здесь:
Как раз читать про алгоритмы, ООП, шаблоны проектирования и т.д. надо побольше.

и здесь:
… тратить несколько дней рабочего времени на «дай-ка я разберусь как оно там устроено внутри» пока все прекрасно работает просто нет смысла.

нет противоречия?
Правильно я понял то, что для того чтобы стать «классным разработчиком» лучше поменьше читать про алгоритмы, ООП и про то, как всё устроено внутри, а то, вдруг, захочется что-нибудь написать самому, а не срастить с десяток либ ради примитивной функциональности и не разгребать баги на взаимодействии между либами?

В одной компании, один «классный разработчик» получил задание внедрить проверку орфографии. Проект был на C++, а первая либа в гугле оказалось на Java. Проект стал зависть от JDK инсталлятор увеличился в 10 раз, а проблемы межъязыкового взаимодействия ещё долго вымораживали мозг.

Мне кажется, что «классным разработчиком» вы называете классного прототиписта, который быстро выдаёт черновой функционал, но так и не может добиться приемлемого уровня качества.
В современных играх объём работ художников, моделеров и аниматоров на порядки дороже, чем работа программистов. Проблема не в сложности разработки под Linux, а точнее сложность это не принципиально. Проблема в аудитории. Нет игрового рынка под Linux. Если Valve поспособствует его рождению, то игры появятся как грибы после дождя.
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity