• Названия таблиц и полей в Oracle SQL?

    Lorien_Elf
    @Lorien_Elf
    Keep calm and drop database
    К таблицам и полям в ORACLE можно обращаться, используя любой регистр. Например выражения

    select mycol from my_table;
    select MYCOL from MY_TABLE;
    select Mycol from My_table;


    Полностью эквивалентны. Но только при условии, что таблица и поля при создании указывались без кавычек.

    Иными словами create table my_table (mycol char(10)); хорошо, а create table "My_Table" ("Mycol" char(10)); - плохо, лучше так не делать.
    Ответ написан
    1 комментарий
  • Как максимально ускорить данный код на Python?

    @keddad Автор вопроса
    Ученик
    Окей, в итоговой версии я избавился от рекурсии, типизации и Arrayев. Основной профит получил от рекурсии, конечно. Этого не хватило для решения задачи, но код заметно ускорился.
    n, m = map(int, input().split())
    
    parent, weight, rank = [-1 for _ in range(n)], [0 for _ in range(n)], [1 for _ in range(n)]
    
    
    def find_set(v):
        while parent[v] != -1 and parent[v] != v:
            parent[v] = parent[parent[v]]
            weight[parent[v]] += weight[v]
            weight[v] = 0
            v = parent[v]
        if parent[v] == -1:
            parent[v] = v
        return v
    
    
    def union_sets(a, b, cost):
        a = find_set(a)
        b = find_set(b)
        if a != b:
            if rank[a] < rank[b]:
                a, b = b, a
            parent[b] = a
            weight[a] += cost
            weight[a] += weight[b]
            weight[b] = 0
            if rank[a] == rank[b]:
                rank[a] += 1
        else:
            weight[a] += cost
    
    
    def main():
        with open("input.txt", "r") as inp:
            with open("output.txt", "w") as out:
                inp.__next__()
                for line in inp:
                    st = line.split()
                    if len(st) != 4:
                        out.write(str(weight[find_set(int(st[1]) - 1)]) + "\n")
                    else:
                        union_sets(int(st[1]) - 1, int(st[2]) - 1, int(st[3]))
    
    
    main()
    Ответ написан
    1 комментарий
  • Где разместить Telegram Бота на C#?

    @Espleth
    1) Найти любой хост windows server
    2) Можно использовать Mono и искать linux-хост или место под docker-контейнер
    3) Почти то же самое что и п.2, только вместо .net framework + mono использовать .net core
    4) https://aws.amazon.com/ru/windows/?hp=tile&tile=so... а такой вариант не прокатит?
    Ответ написан
    Комментировать
  • С чего и как начать продажу команды разработчиков с нуля без портфолио?

    @vaservaser
    "Чтобы продать что-нибудь ненужное, нужно купить что-нибудь ненужное". А у вас денег нет
    Ответ написан
    6 комментариев
  • Каковы перспективы изучения web дизайна?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, дизайн и разработка - это две очень разных вещи. Во-вторых, дизайнеру надо изучать не технологии, а учиться рисовать, развивать чувство прекрасного, изучать психологию, цветовосприятие, эргономику и т.п. А в-третьих, в работе дизайнера очень много боли. Постановка задачи обычно очень неконкретная. Оценка дизайна всегда субъективна, а потому очень много споров с заказчиками. Каждый начальник склада с умением рисовать на уровне каки-маляки и вкусом типа www.theworldsworstwebsiteever.com будет учить вас делать свою работу. К тому же макеты очень легко украсть. В общем это та область, в которую идти надо по велению сердца и в силу природных талантов.
    Ответ написан
    Комментировать
  • Можно ли использовать несколько шаблонов дизайна в Django?

    @dimuska139
    Backend developer
    Вообще Django - это не CMS, а фреймворк. Поэтому сравнивать с Drupal/Wp и т.п. - неуместно. Но ничего тебе не мешает запилить эту логику самостоятельно. Создай модельки themes и themes_templates: в первой у тебя будут храниться темы, а во второй - пути к шаблонам для них. Можно вместо путей к файлам хранить и сами шаблоны текстом - тоже прокатит. Но это не очень "красивое" решение, я считаю.

    В themes_templates сделай поле type, в котором будет храниться тип шаблона, который будет указывать, для чего конкретно шаблон. В themes сделай поле is_active, которое будет указывать, какая тема активна в текущий момент. Во view, где у тебя указывается, какой шаблон рендерить, ходи в базу и вытаскивай нужный путь к шаблону (ну или его контент, если решил в базе в виде текста хранить) в зависимости от активной темы (themes.is_active = True) и типа шаблона (у каждой страницы свой тип шаблона).
    Ответ написан
    Комментировать
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Стоит задача выделил из каждого видео 2 динамичные минуты.
    VLC плеер считает и записывает кол-во изменений в соседних кадрах.

    Вариант 1: нужен один двухминутный отрезок
    Cамыми динамичными будут 120 секунд видео, имеющие максимальную сумму изменений. Соответственно, берем окно шириной 120 секунд, и проходом по всему массиву считаем сумму чисел (на каждой итерации +1 новое и -1 старое значение). По дороге отмечаем таймстепм максимума.
    Вариант 2: нужно top-120 самых динамичных секунд
    Линейным проходом по всему массиву поддерживаем этот топ в актуальном состоянии (вставка в отсортированный список, отрезание самого меньшего значения), по окончании прохода - пересортируем топ по таймстемпам секунд.
    Ответ написан
    1 комментарий
  • Система личных сообщений (шардинг)?

    @stul5tul
    Описано аж целых 2 архитектуры системы личных сообщений VKontakte - старая и новая Как переписать с нуля базу данных личных сообщений...
    5 триллионов сообщений
    2 миллиарда сообщений в сутки
    Ответ написан
    Комментировать
  • Исчез выбор нужной версии языка C++?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Установите отдельно vs2010/2012/2013 (в зависимости от требуемого набора с++11 фич)
    https://msdn.microsoft.com/ru-ru/library/hh567368.aspx
    В general -> platform toolset верите необходимый тулсет
    Ответ написан
    Комментировать
  • Как создать манипулятор потока?

    JBMurloc
    @JBMurloc
    Аспирант, инженер, физик, программист.
    Объявить манипулятор можно так:
    ostream& tab(ostream & output)
    {
        return output<< '\t';
    }


    Использовать так:
    cout << 'a' << tab << 'b' << 'c' << endl;
    т.е. просто передаём в поток функцию.

    Работает это благодаря тому, что в шаблоне класса basic_ostream есть следующая перегрузка оператора <<:
    basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>& (*pf) (basic_ostream<charT,traits>&) );


    Взято отсюда: qaru.site/questions/284188/how-do-the-stream-manip...
    Ответ написан
    Комментировать
  • Какие книги по SOLID принципам стоит прочитать?

    @red-barbarian
    Принципы, паттерны и методики гибкой разработки на...
    есть и не для c#
    solid это не нечто абстрактное. принципы применяются в контексте гибкой разработки для сохранения жизни проекта при изменении требований.
    невозможно их изучать отдельно.
    второе. есть две крайности теория без практики и практика без теории. эти крайности мешают развиваться.
    Ответ написан
    Комментировать
  • Какие книги по SOLID принципам стоит прочитать?

    @ilitaexperta
    Никакие. SOLID это мусор. Встречал много людей, любящих рассуждать об архитектуре. Их всех объединяет одна вещь - они не могут спроектиоровать и написать с нуля систему.

    Потому что чтобы проектировать нужно иметь практический опыт, банально видеть много хороших и плохих примеров кода\архитектуры и самому писать крупные проекты с нуля, а не кусочки в составе команды.

    Вам же советую больше заниматься практикой, а не мусорные книжки читать. У вас сама постановка вопроса неправильная. Какую нафиг книгу? Все что можно узнать о SOLID - гугится в википедии за 15 секунд.

    Вообще лучше не думайте об архитектуре, просто делайте проекты. Первые несколько раз получится дерьмо, зато потом заткнете за пояс любого знатока значения буковок из SOLID
    Ответ написан
    Комментировать
  • Какие книги по SOLID принципам стоит прочитать?

    @danilstepa
    Лучшее, что я читал по SOLID, это четвертая часть этой книги Паттерны проектирования на платформе .NET Автор очень хорошо и по полочкам раскладывает все принципы. Знать .NET совсем не обязательно
    Ответ написан
    Комментировать
  • Какие книги по SOLID принципам стоит прочитать?

    @resident
    Быстрая разработка программ. Принципы, примеры, практика

    https://www.ozon.ru/context/detail/id/1573723/

    Пусть не пугает год книги, она действительно стоящая.
    Ответ написан
    Комментировать
  • Как реализовать фабричный метод без switch?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Фабричный метод - это т.н. виртуальный конструктор. Внутри функции не должно быть конструкций выбора. Сам фабричный метод передается в другое место для порождения объектов некоторого класса с определенным интерфейсом.

    Конструкции выбора обычно присутствуют внутри абстрактных фабрик. В фабрику приходит некий идентификатор типа и (если идентификатор определен) фабрика создает объект некоторого класса с определенным интерфейсом.

    Абстрактную фабрику можно реализовать на основе контейнера фабричных методов. Шаблоны C++ и стандарты C++11/14 нам в этом только помогут. Самый простой код такой фабрики может выглядеть вот так:
    Пример фабрики
    template< typename TInterface, typename... TArguments >
    class AbstractFactory final
    {
    public:
    	// Produce the implementation, but return the pointer to interface.
    	inline std::shared_ptr<TInterface> Produce( const std::string& implementation_name, TArguments... arguments )
    	{
    		auto found_function = m_factory_functions.find( implementation_name );
    		return ( found_function == m_factory_functions.end() )? std::shared_ptr<TInterface>{} : found_function->second( std::forward<TArguments>( arguments )... );
    	};
    	
    	// Define the implementation.
    	template< typename TImplementation >
    	inline const bool DefineImplementation()
    	{
    		return DefineImplementation<TImplementation>( TImplementation::ClassName() );
    	};
    	
    	// Define the implementation.
    	template< typename TImplementation >
    	inline const bool DefineImplementation( const std::string& implementation_name )
    	{
    		// Abort the incorrect registration.
    		static_assert( std::is_base_of<TInterface, TImplementation>::value, "Implementation may only be derived from interface of Factory." );
    		
    		auto found_function = m_factory_functions.find( implementation_name );
    		if( found_function == m_factory_functions.end() )
    		{
    			m_factory_functions[ implementation_name ] = &AbstractFactory<TInterface, TArguments...>::template ConstructImplementation<TImplementation>;
    			return true;
    		};
    		
    		return false;
    	};
    	
    	// Check the implementation name is already defined.
    	inline const bool IsImplementationDefined( const std::string& implementation_name ) const
    	{
    		return m_factory_functions.find( implementation_name ) != m_factory_functions.end();
    	};
    	
    private:
    	// The factory function just produce implementation.
    	template< typename TImplementation >
    	static std::shared_ptr<TInterface> ConstructImplementation( TArguments... arguments )
    	{
    		return std::static_pointer_cast<TInterface>(
    			std::make_shared<TImplementation>( std::forward<TArguments>( arguments )... )
    		);
    	};
    
    private:
    	// Factory function produces the implementations of TInterface.
    	using FactoryFunction	= std::shared_ptr<TInterface> (*)( TArguments... arguments );
    	
    	std::unordered_map<std::string, FactoryFunction>	m_factory_functions;
    };


    Работает она примерно так:
    cpp.sh/93obm
    Ответ написан
    Комментировать
  • Создание UML диаграмм для sln проектов C++?

    @visirok
    Заходите на мою страницу www.sirotin.eu
    В этом деле много ньюансов. В зависимости от Ваших запросов, размеров проекта и сложности кода Вам могут пригодиться разные инструменты. Советую попробовать Trial версию Enterprise Architect фирмы Sparx. вам должно хватить варианта Professional. Trial работает бесплатно месяц.
    Ответ написан
    Комментировать
  • Почему нет IDE для функциональных языков программирования?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Erlang plugin для INTELLIJ IDEA чем не подошел ?
    Ответ написан
    Комментировать
  • C++ Конструкторы в наследуемом классе?

    myjcom
    @myjcom Куратор тега C++
    const string label& -
    вот так откомпилируется - const string &label
    Ответ написан
    3 комментария