• В чем суть децентрализации Proof of Stake?

    ShamanSBubnom
    @ShamanSBubnom
    Сам Proof of Stake не определяет механизм работы, а только концепцию. Например, в delegated proof of stake каждый узел с помощью одинакового для всех алгоритма, но который нельзя заранее просчитать( в shuffle функцию включается хэш предыдущей транзакции ), на основе пропорции твоих монет и общих ранжирует участников. И у первого будет время сформировать блок. Если он этого не делает, то право переходит следующему .
    А если кто-то нарушит правила , сформирует блок сам и отправит всем, то они его не примут так как по их данным у него не было на то прав.
    Ответ написан
    Комментировать
  • Статья на хабре - "Upgrade до Middle PHP-разработчика за 3 месяца". Если я не читал этих книг, но смог написать свой магазин, я все равно Junior?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    Тут набежали снобы, которые все никак не самоутвердятся.
    Все эти градации junior - senior очень условны и не нужны, все зависит от того, пройдешь ли ты собеседование или нет, будешь справляться с задачами или нет, подходит ли твой стек знаний под задачи или нет.
    Ответ написан
    Комментировать
  • Статья на хабре - "Upgrade до Middle PHP-разработчика за 3 месяца". Если я не читал этих книг, но смог написать свой магазин, я все равно Junior?

    @m0nym
    У меня джуниоры и магазины писали и склады автоматизировали.
    Но от этого они не становились миддлами.
    Нужно несколько лет, а не несколько месяцев.

    Что до "вакасия Junior" - это все очень условно.
    В разных фирмах очень по разному.
    Джун где нибудь в Гугле - это вполне себе сеньор в Мухосранске.
    Ответ написан
    Комментировать
  • Какая разница между параллельным и многопоточным программированием?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    При многопоточном программировании имеется несколько потоков, которые выполняют разные "программы", взаимодействующие друг с другом. Например, поток пользовательского интерфейса, поток вычислений, поток обработки ввода/вывода. Многопоточное программирование позволяет упростить (при адекватном подходе) архитектуру программы, но требует отдельных навыков при проектировании и отладке.

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

    Dit81
    @Dit81
    Security researcher, pentester, internet-marketer
    Я проходил там один курс по web-безопасности, но хочу пройти еще несколько... Впечатления очень хорошие! Много нового и интересного и уроки ведут хорошие лекторы и специалисты
    Ответ написан
    Комментировать
  • Как относитесь к курсам на Stepik?

    @JihadTV
    Отличный сервис, очень много курсов от крутых отечественных преподавателей.
    Ответ написан
    Комментировать
  • Максимальное количество повторяющихся элементов в массиве?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Если числа целые, неотрицательные и небольшие, то просто заведите второй массив, чтобы в нем считать, сколько раз каждое число встретилось. При увеличении счетчика сразу же проверяйте значение на максимум.

    Как то так:
    maxval = -1;
    maxcount=0;
    for (i = 0; i < n; ++i) {
      ++counts[a[i]];
      if (counts[a[i]] > maxcount) {
        maxcount = counts[a[i]];
        maxval = a[i];
      }    
    }


    Если числа большие, то можно заменить массив counts[] на hash map.

    Если ограничения по памяти серьезные, то придется отсортировать массив и в нем уже можно легко подсчитать сколько раз каждое число встречается.
    Ответ написан
    2 комментария
  • Как отправить SVG картинку пользователю через VK-API в Python?

    dw9694
    @dw9694
    Моё хобби Python
    Писал для своих нужд, но если присмотреться можно уловить суть как залить картинку.
    spoiler
    import requests
    import vk_api
    
    BASE_DIR = os.path.dirname(os.path.abspath('__file__'))
    
    
    class VKPage(object):
        def __init__(self, photo_album_id, post_owner_id):
            self.vk_session = vk_api.VkApi(LOGIN, PASSWORD, app_id='*****',
                                           config_filename='config.json')
            try:
                self.vk_session.authorization()
            except vk_api.AuthorizationError as error_msg:
                print(error_msg)
                return
    
            self.vk = self.vk_session.get_api()
    
            self.album_id = photo_album_id
            self.content_owner_id = self.groupIds()
            self.post_owner_id = post_owner_id
    
    
        def upload_photo(self, path_to_photo):
    
            upload = vk_api.VkUpload(self.vk_session)
    
            photo = upload.photo(  # Подставьте свои данные
                path_to_photo,
                album_id=self.album_id
            )
    
            vk_photo = 'photo{}_{}'.format(
                photo[0]['owner_id'], photo[0]['id']
            )
    
            return vk_photo
    
    
        def save_photo(self, url):
            r = requests.get(url)
            path_to_picture = BASE_DIR + '/picture.jpg'
            with open(path_to_picture, 'wb') as f:
                f.write(r.content)
            return path_to_picture
    
        def main(self):
            path_to_picture = self.save_photo(photo_res)
            self.vk.wall.post(owner_id=self.post_owner_id, message=text,
                              attachments=self.upload_photo(path_to_picture))

    Ответ написан
    Комментировать
  • Как сделать Toggle Button Material Design в WPF?

    @zabrodin
    Junior C# Developer
    Примеры всех контролов можно найти здесь в папке MainDemo.Wpf
    Пример ToggleButton'ов, которые Вам нужны есть здесь
    Ответ написан
    2 комментария
  • Как сделать масштабирование в WPF?

    AlexanderYudakov
    @AlexanderYudakov
    C#, 1С, Android, TypeScript
    Ответ написан
    Комментировать
  • Можете ли подсказать бота для арбитражной торговли на криптобиржах?

    Вы правда считаете, что действительно годные торговые боты появятся в свободном доступе, пока они работают?
    Ответ написан
    1 комментарий
  • Резиновое приложение в WPF?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Устанавливайте якоря(Anchor) на элементы интерфейса и будет то, что нужно.
    Ответ написан
    1 комментарий
  • Резиновое приложение в WPF?

    @wlbm_onizuka
    есть такой компонент - Viewbox, он растягивает контент)
    Ответ написан
    Комментировать
  • Как получить JSON, запросом в Python?

    mak_sim
    @mak_sim
    maksim77ster@gmail.com
    import requests
    
    url = 'http://muslimsalat.com/daily.json'
    response = requests.get(url)
    
    print(response.json())


    response.json() - вернёт словарь полученный из нужного вам JSON.
    Ответ написан
    6 комментариев
  • Как исправить размытый текст в Windows Forms?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Гуглите DpiAware — изучите проблемы и выберете оптимальное решение для себя. Тут проблема в диком легаси наследии, реализованном через костыли и которое пытаются сохранить, добавляя исправления в виде костылей, которые генерируют новые баги и в новых версиях это пытаются исправить опять костылями. Кроме того, алгоритм работы масштабирования немного отличается в разных версиях ОС. Так что очень рекомендую проверять работу приложения в разных версиях ОС (7, 8.1, 10 Home, 10 Enterprise LTS) и с выключенным и включенным масштабированием. Да-да, в домашней десятке и в корпоративной долгосрочной десятке можно получить разный результат.

    Вариант 1 — вызов специальной функции в коде (реальный код, который я использую — плюс вторая функция для масштабирования шрифтов, тык — примерно так получается в 4к):
    const int WinDefaultDPI = 96;
    
    /// <summary>
    /// Исправление блюра при включенном масштабировании в ОС windows 8 и выше
    /// </summary>
    public static void DpiFix()
    {
        if (Environment.OSVersion.Version.Major >= 6)
        {
            SetProcessDPIAware();
        }
    }
    
    /// <summary>
    /// WinAPI SetProcessDPIAware 
    /// </summary>
    /// <returns></returns>
    [DllImport("user32.dll")]
    private static extern bool SetProcessDPIAware();
    
    /// <summary>
    /// Исправление размера шрифтов
    /// </summary>
    /// <param name="c"></param>
    public static float DpiFixFonts(Control c)
    {
        Graphics g = c.CreateGraphics();
        float dx = g.DpiX
            , dy = g.DpiY
            , fontsScale = Math.Max(dx, dy) / WinDefaultDPI
        ;
        g.Dispose();
        return fontsScale;
    }


    Плюс все формы имеют следующий конфиг (код, вызываемый в конструкторах форм):
    this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;


    Учтите, что AutoScaleDimensions — в конструкторе выставляется автоматически в зависимости от разрешения и DPI вашего монитора. Поэтому я не использую конструкторы. Иначе, при запуске приложения на разных машинах с разным DPI можно получить очень неожиданные результаты.

    Вариант 2 (v4.7):
    app.config
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
      </configSections>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
      </startup>
      <System.Windows.Forms.ApplicationConfigurationSection>
        <add key="DpiAwareness" value="PerMonitorV2" />
        <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
      </System.Windows.Forms.ApplicationConfigurationSection>
    </configuration>


    Вариант 3 (v4.7):
    app.config
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
      </configSections>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
      </startup>
      <System.Windows.Forms.ApplicationConfigurationSection>
        <add key="DpiAwareness" value="PerMonitorV2" />
        <add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
      </System.Windows.Forms.ApplicationConfigurationSection>
    <configuration>


    Вариант 4:
    app.manifest
    <!-- Указывает, что приложение поддерживает определение DPI и не будет автоматически масштабироваться Windows при более высоких
           значениях DPI. Приложения Windows Presentation Foundation (WPF) по умолчанию поддерживают определение DPI, им не нужно 
           специально включать параметр для этого. Для приложений Windows Forms на платформе .NET Framework 4.6, для которых задан этот параметр, необходимо 
           также задать для "EnableWindowsFormsHighDpiAutoResizing" значение "true" в файле app.config.-->
      <application xmlns="urn:schemas-microsoft-com:asm.v3">
        <windowsSettings>
          <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
        </windowsSettings>
      </application>
    Ответ написан
    6 комментариев
  • Как сделать чтобы navigation drawer работал во всех фрагментах?

    @Arkkienkeli
    В активити вот так сделать для каждого фрагмента (добавить listener)
    public class MainActivity extends AppCompatActivity
            implements YourNameFragment.OnFragmentInteractionListener


    И в каждом фрагменте
    public interface OnFragmentInteractionListener {
            void onFragmentInteraction(Uri uri);
        }


    И еще в каждом фрагменте объявить
    private OnFragmentInteractionListener mListener;
    Ответ написан
    Комментировать
  • Как скачивать картинку из firebase storage?

    @Ivan0206
    Я поступил проще. Есть библиотека "Picasso", в коде получаешь url на картинку из Firebase и передаёшь еще в метод библиотеки и она сетит эту картинку в нужную тебе view.
    Ответ написан
    3 комментария
  • Как реализовать приложение, которое работает с удаленной базой данных?

    WelloGraphics
    @WelloGraphics
    Android development
    Попробуйте Firebase, в частности Realtime Database. Удобно тем, что никакого бэкенда писать не нужно.
    Ответ написан
    Комментировать
  • Где можно найти образцы и лучшие примеры ТЗ на разработку софта?

    @kttotto
    пофиг на чем писать
    Все зависит от того какими методологиями разработки Вы пользуетесь.

    Чаще все это выглядит так:
    1) Сначала накидываются пользовательские истории (user story), тот функционал, который Вы хотите иметь в программе. Они состоят из одного-двух предложений, кратко описывают одну единственную функцию. Например: хочу, чтобы была авторизация пользователей с подтверждением по email; хочу, чтобы у пользователя с ролью "админ" была собственная страничка для администрирования; и.д. В историях не должно быть никаких технических нюансов, только "хочу" заказчика (ну или Ваши).

    2) Затем составляется карта (roadmap), в которой Вы описываете каждый шаг работы этой функции (пользовательской истории) с точки зрения пользователя:
    1. Главная страница.
    1.1 В правом верхнем углу находятся поля для аутентификации (для логина и пароля). Рядом находится кнопка "войти" и ссылка "зарегистрироваться".
    1.2 При удачной аутентификации происходит переход на страницу ... и выводится сообщение "Добро пожаловать ..."

    Потом на основе этой карты, делается прототипирование, выделяются задачи, если надо, разбиваются на более мелкие подзадачи.

    Чтоб увидеть чужие ТЗ, полазите по чужому коду на гитхабе. Там очень часто люди описывают свой roadmap.
    Ответ написан
    1 комментарий