• Какие инструменты для react'a можно использовать для реализации такого же взаимодействия с графическими элементами, как в figma(photoshop, illustrat)?

    fomenkogregory
    @fomenkogregory
    Юниор софтварный инженер
    Canvas. Реакт или не реакт уже дело десятое. У меня например на ангуляре сделано.
    Ответ написан
    5 комментариев
  • Как осуществить переход между страницами в Windows Presentation Foundation?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    Microsoft Docs: How to: Navigate to a Page
    Microsoft Docs: NavigationWindow Class
    Хабр: WPF Navigation: Используем связку Page + Frame

    namespace PageNavigation.Services
    {
        public interface INavigationService
        {
            void NavigateToPage1();
    
            void NavigateToPage2();
        }
    }


    using System.Windows.Controls;
    using PageNavigation.Pages;
    
    namespace PageNavigation.Services
    {
        public class NavigationService : INavigationService
        {
            private readonly Frame _frame;
    
            public NavigationService(Frame frame)
            {
                _frame = frame;
            }
    
            public void NavigateToPage1()
            {
                _frame.Navigate(new Page1());
            }
    
            public void NavigateToPage2()
            {
                _frame.Navigate(new Page2());
            }
        }
    }


    Такой Ioc:
    using System.Windows.Controls;
    
    namespace PageNavigation.Services
    {
        public static class Ioc
        {
            public static INavigationService NavigationService { get; private set; }
    
            public static void Init(Frame frame)
            {
                NavigationService = new NavigationService(frame);
            }
        }
    }


    Или такой Ioc:
    https://autofac.org/
    using System.Windows.Controls;
    using Autofac;
    
    namespace PageNavigation.Services
    {
        public static class Ioc
        {
            private static IContainer _container;
    
            public static INavigationService NavigationService
            {
                get { return _container.Resolve<INavigationService>(); }
            }
    
            //public static MainViewModel MainViewModel
            //{
            //    get { return _container.Resolve<MainViewModel>(); }
            //}
    
            public static void Init(Frame frame)
            {
                var builder = new ContainerBuilder();
                
                builder.RegisterType<NavigationService>()
                    .As<INavigationService>()
                    .SingleInstance()
                    .WithParameter(new TypedParameter(typeof(Frame), frame));
    
                //builder.RegisterType<MainViewModel>()
                //    .SingleInstance();
    
                _container = builder.Build();
            }
        }
    }


    Главное окно XAML
    <Window
        x:Class="PageNavigation.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="MainWindow"
        Width="525"
        Height="350"
        Loaded="OnLoaded"
        WindowStartupLocation="CenterScreen"
        mc:Ignorable="d">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="266*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
    
            <Frame x:Name="_frame" />
    
            <StackPanel
                Grid.Row="1"
                Margin="8,0,0,6"
                Orientation="Horizontal">
    
                <Button
                    MinWidth="75"
                    MinHeight="29"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top"
                    Click="OnNavigateToPage1ButtonClick"
                    Content="Page1" />
    
                <Button
                    MinWidth="75"
                    MinHeight="29"
                    Margin="8,0,0,0"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top"
                    Click="OnNavigateToPage2ButtonClick"
                    Content="Page2" />
            </StackPanel>
        </Grid>
    </Window>


    Главное окно C#
    using System.Windows;
    using PageNavigation.Services;
    
    namespace PageNavigation
    {
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void OnLoaded(object sender, RoutedEventArgs e)
            {
                Ioc.Init(_frame);
            }
    
            private void OnNavigateToPage1ButtonClick(object sender, RoutedEventArgs e)
            {
                Ioc.NavigationService.NavigateToPage1();
            }
    
            private void OnNavigateToPage2ButtonClick(object sender, RoutedEventArgs e)
            {
                Ioc.NavigationService.NavigateToPage2();
            }
        }
    }


    Страница 1 XAML
    <Page
        x:Class="PageNavigation.Pages.Page1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="Page1"
        d:DesignHeight="300"
        d:DesignWidth="300"
        mc:Ignorable="d">
    
        <Grid>
    
            <TextBlock Margin="5">
                Это Page 1
            </TextBlock>
    
            <Button
                Padding="12,3,12,3"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Click="OnNavigateToAnotherPageButtonClick"
                Content="Перейти на Page 2" />
        </Grid>
    </Page>


    Страница 1 C#
    using System.Windows.Controls;
    using PageNavigation.Services;
    
    namespace PageNavigation.Pages
    {
        public partial class Page1 : Page
        {
            public Page1()
            {
                InitializeComponent();
            }
    
            private void OnNavigateToAnotherPageButtonClick(object sender, System.Windows.RoutedEventArgs e)
            {
                Ioc.NavigationService.NavigateToPage2();
            }
        }
    }


    Страница 2 XAML
    <Page
        x:Class="PageNavigation.Pages.Page2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="Page2"
        d:DesignHeight="300"
        d:DesignWidth="300"
        mc:Ignorable="d">
    
        <Grid>
    
            <TextBlock Margin="5">
                Это Page 2
            </TextBlock>
    
            <Button
                Padding="12,3,12,3"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Click="OnNavigateToAnotherPageButtonClick"
                Content="Перейти на Page 1" />
        </Grid>
    </Page>


    Страница 2 C#
    using System.Windows;
    using System.Windows.Controls;
    using PageNavigation.Services;
    
    namespace PageNavigation.Pages
    {
        public partial class Page2 : Page
        {
            public Page2()
            {
                InitializeComponent();
            }
    
            private void OnNavigateToAnotherPageButtonClick(object sender, RoutedEventArgs e)
            {
                Ioc.NavigationService.NavigateToPage1();
            }
        }
    }
    Ответ написан
    1 комментарий
  • Как подключиться к локальной базе данных в microsoft sql server management studio?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Зайдите от админа машины, он по идее должен иметь доступ к базе.

    PS возможно не
    root
    а
    sa
    Ответ написан
    6 комментариев
  • Что делать, если Windows при установке не видит дисков?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Если на hdd нет ничего важного, отформатируйте его в ntfs, или удалите все разделы. Возможно, на всех дисках все разделы ext3(ext4,etc) и windows их не видит. Хотя, вря тли, по идее windows должна увидеть диски и предложить их отформатировать.
    Ответ написан
    8 комментариев
  • Что делать, если Windows при установке не видит дисков?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Видимо на материнке стоит хитрый контроллер и у винды на него нет драйвера. Надо скачать драйвер, распаковать на флешку и когда дойдете до выбора на какой диск ставить там будет кнопка для загрузки драйвера. Нажать на неё и указать где на флешке находится папка с распакованным драйвером
    Ответ написан
  • Что делать, если Windows при установке не видит дисков?

    @Karpion
    1. В вопросе обязательно надо указывать информацию о компьютере. Тут - модель мат.платы; и хорошо бы - вообще всё, включая модели дисков. А собрав эту информацию - можно и самостоятельно погуглить про них.
    2. Посмотрите настройки BIOS/UEFI, связанные с дисками.
    3. Попробуйте загружаться в установщих Windows, подключая диски по очереди. Возможно, диски как-то конфликтуют.
    4. Попробуйте подключать диски в разные SATA-порты.
    5. Как крайний вариант - ставить W'10 в вирт.машину.
    Ответ написан
    1 комментарий
  • Что делать, если Windows при установке не видит дисков?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    но при запуске с флешки Windows говорит о том, что он не может найти хоть один диск
    может тупо речь о том что нет свободного места для установки?

    ps Ext4 винда ни когда не признает свободным местом
    Ответ написан
    1 комментарий
  • Почему при итерации по ключам объекта с помощью цикла for typescript определяет тип ключа как string?

    E1ON
    @E1ON
    Programming, Gamedev, VR
    Ну да, это строка. Вам нужно конкретизировать key, что бы в нём были ключи итерируемого обьекта:

    const object: IObject = {
        number: 0,
        superNumber: 0,
    }
    
    let key: keyof IObject;  // "number" | "superNumber"
    for (key in object) {
        object[key] =  Math.random();
    }
    Ответ написан
    1 комментарий
  • Используете ли вы React-подход components/containers в проектах?

    TchernyavskD
    @TchernyavskD
    Formoshlep
    Если мы говорим про понятие контейнера в виде реакт - компонента:
    Почитайте Атомик дизайн под Реакт, либо Feature Sliced
    Если совсем проще, то можно достичь, что Реакт будет только для рендера вью, а вся логика уйдет из уровня реакта, либо ее большая часть. Это идеально можно реализовать, например, с effector. Последние полгода нигде нет контейнеров.

    Почему AtomicDesign спасет вашу душу.

    Некоторые считают, что этот подход слишком заморочен. Заставляет много думать о расположении элементов, а при усложнении - перемещать его в другие директории. Если спросить Родионова - найдется ещё несколько причин, почему не надо использовать Atomic Design. В этом посте я хочу рассказать об обратном: как использовать подход Брэда Фроста в React.

    В самом начале необходимо понять - нужен ли вашей команде этот архитектурный дизайн. Достаточно ответить на следующие вопросы:
    - сколько человек будут разрабатывать фронтенд?
    - сколько команд будут использовать ваш код?
    - сколько проектов используют один UI дизайн?
    Если у вас один небольшой проект, в котором всего два фронтендера - вам не нужен AtomicDesign. Если в вашем проекте около 10 фронтендеров и намечается второй проект - нужно задуматься о внедрении AtomicDesign. Тем более если в вашей компании проекты используют общую библиотеку компонентов или планируется внедрение.

    Многие задают мне один и тот же вопрос: "Куда положить компонент X?". Отвечаю сразу для всех компонентов: AtomicDesign - это подход, обеспечивающий вам архитектуру UI компонентов - не более. То есть контейнеры/коннекторы/роутеры вы можете класть в любую директорию, кроме ui. Я всегда рекомендую начать изучение с прочтения книги автора atomicdesign.bradfrost.com, но ниже немного опишу составные части.

    Сразу следует понять, что компоненты AtomicDesign — это бизнес-сущности, это то, чем могут оперировать дизайнеры и разработчики вместе. Не надо включать сюда различные таймеры появления блоков или логику переключения вкладок. Пусть даже они у вас описаны в виде компонентов или HOC'ов.

    Так почему это все спасает души? Чтобы понять ответ, обратимся к ещё одной теме фронтенда: типизированный javascript. Typescript/Flowtype придумали для наложения определенных ограничений на код, чтобы в дальнейшем его было проще поддерживать и читать. AtomicDesign накладывает ограничения на дизайнеров и фронтендеров, обязывая их общаться на одном языке бизнес-сущностей.

    Но необходимо добавить несколько слов о поддержке библиотеки компонентов AtomicKit. В какой-то момент возникает проблема усложнения компонентов, и многие задаются вопросом: "Как же быть, неужели теперь нужно перемещать компонент из атомов в молекулы?" — Нет.
    Перед стартом разработки необходимо тщательно проектировать набор компонентов и не менять его предназначения, пока он существует под таким названием. Если же вам необходимо усложнить компонент, добавить в него какие-то элементы - просто создайте ещё один компонент, который будет добавлять то, что вам нужно. Так вы не сломаете совместимость со всей библиотекой и реализуете необходимую вам фун
    Ответ написан
    1 комментарий
  • Имеют ли расширения браузера доступ к localstorage?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    да, запросто.
    Ответ написан
    Комментировать
  • Имеют ли расширения браузера доступ к localstorage?

    @dmitry-toster
    Да, причем весьма активно этим занимаются
    Ответ написан
    Комментировать
  • Как правильно указать тип для onClick event, где target - кнопка с атрибутом name?

    @blolg
    Вам нужно преобразовать тип target к HTMLButtonElement, т.е.
    (e.target as HTMLButtonElement).name
    Ответ написан
    3 комментария