Задать вопрос
  • Можно ли подключить php файл у vue?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    Я знаю что поддерживается только html но вот сейчас возникла такая необходимость
    ой как все запущено... ничего ты не знаешь джон сноу..ничего..
    Ответ написан
    2 комментария
  • PHP: Размер в памяти ассоциативного массива и переменных?

    egor_nullptr
    @egor_nullptr
    Если кратко, то массив будет занимать больше. Глобальность переменных не влияет на потребление памяти и скорость работы.
    Ответ написан
    Комментировать
  • Как запустить проект на C# в Visual studio code?

    UPD всё что ниже уже не актуально. Microsoft обновили расширения для работы с C# и сделали свою нормальную инструкцию прямо внутри Vs code
    https://code.visualstudio.com/docs/csharp/get-started

    1. Устанавливаешь .net 6 SDK

    2. Устанавливаешь все нужные плагины:


    3. Создаёшь новый проект по гайду
    4. Открываешь в vs code папку с проектом
    5. Жмёшь на кнопку отладки и запускаешь
      (при первом запуске он может напомнить, что в отладчике есть декомпилятор, который нелегально использовать на чужих приложениях - соглашаемся с этим)
      603d3bb386701819998214.png
      Если что - выбираем .net Core
      603d3bf3168e0691109502.png
      В итоге появится нужная кнопка
      603d3c19c5f27607073624.png


    Чтобы запустить без отладки - нужно будет покопаться в launch.json, либо использовать консоль

    PS: Вообще, советую пользоваться полноценной студией - может она на первый взгляд и пугает, но она сильно удобнее, чем vs code. (ну и в ней всё работает из коробки, что важно для новичков)
    PPS: А ещё существует Rider - для профессионального разработчика он стоит копеечные 15$ в месяц, а для школьника или студента вообще бесплатен. При этом он даёт целую кучу полезных инструментов, особенно для геймдева, если он вам интересен.
    Ответ написан
    13 комментариев
  • 4g и Wi-Fi почему одна частота сигнала, но разная дальность?

    b1ora
    @b1ora
    Контакты в профиле
    1. Мощность базовой станции
    2. Чувствительность базовой станции
    3. Секторные антенны
    Ответ написан
    13 комментариев
  • Правильно ли понимаю полиморфизм?

    AlexanderByndyu
    @AlexanderByndyu
    IT-архитектор, эксперт в Agile&Lean
    Основаные цели при использовании полиморфизма:
    • уменьшение дублирования в коде
    • создание более "гибкого" кода


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

    Приведу пример. Представьте, что у вас есть автомойка - класс Автомойка - которая может работать только для желтой Лады Калина. Другие автомобили в ней не могут быть помыты. В классе есть метод ПомытьЖелтуюЛадуКалину(ЖелтаяЛадаКалина автомобиль). Т.е. есть конкретный метод, который принимает конкретный тип автомобиля.

    В какой-то момент вы понимаете, что могли бы мыть и черные Волги. Вы строите еще один вход для черной Волги, т.е создаете в классе еще один метод ПомытьЧернуюВолгу(ЧернаяВолга автомобиль). Теперь ваш класс Автомойки расширил свои возможности.

    Вы будете добавлять новый метод каждый раз, когда будет появляться новый тип автомобиля, который вы сможете мыть. Самое главное, что каждый из этих методов будет делать практически одно и тоже. Тут у нас 2 проблемы:
    1. дублирование в методах Помыть*
    2. зависимость нашего класса Автомойка от внешнего контекста, где появляются новые типы автомобилей. При появлении нового автомобиля нам приходится модифицировать класс Автомойки (нарушение принципа blog.byndyu.ru/2009/10/blog-post_14.html)


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

    Получаем:
    класс Автомобиль
        свойство Высота
        свойство Ширина
        свойство ТипКузова
    
    класс Автомойка
        метод Помыть(Автомобиль автомобиль)
            настроитьМойкуПоВысоте(автомобиль.Высота)
            настроитьМойкуПоШирине(автомобиль.Ширина)
            настроитьМойкуПоТипуКузова(автомобиль.ТипКузова)
            начатьМойку()


    Теперь сколько бы разных автомобилей не добавлялось в систему наш класс Автомойка не будет меняться. Мы убрали дублирование и сделали наш класс более устойчивым к изменениям во внешней среде. У класс Автомобиль может быть наследник ЖелтаяЛадаКалина и у нее будут свойства/методы базового класса. Т.к. метод Помыть работает с абстракцией, то он будет вызывать полиморфные свойства/методы, ничего не зная о конкретной реализации и иерархии наследования, которая лежит под классом Автомобиль.

    При проектировании классов надо обращать внимание еще на один принцип blog.byndyu.ru/2009/10/blog-post_29.html, тогда дизайн вашей системы будет еще более гибким.
    Ответ написан
    2 комментария
  • Как посмотреть письмо перед отправкой в Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    boris tyrepharm, к сожалению вы не можете посмотреть "будущие" письма, так как такая генерация очень сложна.
    Но вы можете посмотреть существующее письмо в новом дизайне. К тому же - вы можете увидеть только как будет выглядеть ваше письмо, если его вывести в браузере, но это не одно и то же, как если оно пройдет через MTA и будет отображаться в Outlook/Thundebird/OWA и т.п.

    Например я хочу посмотреть как приблизительно(*) будет выглядеть сообщение с ID 336020 (в таблице b_event), после изменения дизайна в существующем шаблоне.
    use Bitrix\Main\Mail;
    
    /**
     * Get from b_event table
     * @var integer Existed event id
     */
    $displayedEventId = 336020;
    
    /**
     * List of site ids, for event theme generation
     * must be replaced by current site id in public
     * @var array
     */
    $arSites = [
    	's1'
    ];
    
    try
    {
    	/**
    	 * First, try to find event
    	 */
    	$arEvent = Mail\Internal\EventTable::getRow([
    		'filter' => [
    			'=ID' => $displayedEventId,
    		]
    	]);
    
    	if ( !$arEvent )
    	{
    		throw new \Exception('Event not found');
    	}
    
    	$arEvent['FIELDS'] = $arEvent['C_FIELDS'];
    
    	/**
    	 * Try to find all message templates for 
    	 * sites. In event handler we send for one letter
    	 * per site.
    	 */
    	$arEventMessageFilter = [
    		'=ACTIVE' => 'Y',
    		'=EVENT_NAME' => $arEvent["EVENT_NAME"],
    		'=EVENT_MESSAGE_SITE.SITE_ID' => $arSites,
    	];
    
    	$messageDb = Mail\Internal\EventMessageTable::getList([
    		'select' => ['ID'],
    		'filter' => $arEventMessageFilter,
    		'group' => ['ID']
    	]);
    
    	foreach ($messageDb as $arMessage)
    	{
    		$eventMessage = Mail\Internal\EventMessageTable::getRowById($arMessage['ID']);
    
    		$eventMessage['FILES'] = array();
    		$attachmentDb = Mail\Internal\EventMessageAttachmentTable::getList(array(
    			'select' => array('FILE_ID'),
    			'filter' => array('=EVENT_MESSAGE_ID' => $arMessage['ID']),
    		));
    		while($arAttachmentDb = $attachmentDb->fetch())
    		{
    			$eventMessage['FILE'][] = $arAttachmentDb['FILE_ID'];
    		}
    
    		$arFields = $arEvent['FIELDS'];
    
    		// get message object for send mail
    		$arMessageParams = array(
    			'EVENT' => $arEvent,
    			'FIELDS' => $arFields,
    			'MESSAGE' => $eventMessage,
    			'SITE' => $arSites,
    			'CHARSET' => $charset,
    		);
    		$message = Mail\EventMessageCompiler::createInstance($arMessageParams);
    		$message->compile();
    		echo $message->getMailBody();
    	}
    }
    catch( \Exception $e )
    {
    	var_dump($e);
    }
    Ответ написан
    Комментировать
  • Как вызвать отрисовку корзины в новом шаблоне битрикса?

    @dormadekhin Автор вопроса
    Связался с тех поддержкой битрикса, как оказалось этот файла остался в результате некорректного обновления шаблона, и его там не должно быть,
    так же поинтересовался как обновить содержимое корзины, ответ следующий
    BX.Sale.BasketComponent.sendRequest('refreshAjax', {fullRecalculation: 'Y'});
    Ответ написан
    Комментировать
  • На какой продукт последние два года переходят конструкторы автокада? И переходят ли?

    avc
    @avc
    Инженер и программист
    Никаких заметных процессов миграции я не вижу. Не так давно я проводил опрос в группе инженеров выставочников - ничего нового. Обмен данными между организациями по прежнему в основном в DWG/DXF, а то и вообще в PDF. Постоянно встречаются особо упертые конторы работающие на древних версиях AutoCAD в 2D, как на кульманах. Есть заметный рост использования BricsCAD, как самого развитого клона AutoCAD. Пожалуй, самый успешный и качественный продукт среди всех легких дешевых CAD. Но доля пользователей по прежнему мизерная. Autodesk продвигает для простых задач свой Фьюжн, раздает задаром для домашнего использования. Там тоже есть рост, но опытные пользователи AutoCAD не спешат менять быстрое прямое моделирование, на параметрическое и на совсем другую систему с другими подходами и форматами файлов.
    Насчет Нанокад есть некоторые сомнения про их светлое будущее. Он же на европейском движке. Из ODA их наверно уже выгнали (или нет?) и что они будут делать без движка Teigha?
    Ответ написан
    Комментировать
  • Какой курс по Node Js на udemy лучше?

    mr_qpdb
    @mr_qpdb
    ⏱ - is not eternal
    Самый лучший учитель - ты сам.
    Эти "учителя" на Udemy такие же обычные люди, как и ты. Они сделаны из одного теста, что и ты. Тут главное желание. Они берут бесплатные знания, и продают их людям, я конечно ничего не говорю, потому что они могут добавить в обучение свой опыт разработки, но у меня такое мнение, что лучше через такой опыт должен пройти ты сам, предварительно не зная об этом. Но думать тебе, это лишь мое субъективное мнение.
    Ответ написан
    6 комментариев