Архив за месяц: Январь 2017

Какие выбрать наушники в интернет-магазине MOYO

Какие купить наушники в Moyo.ua? Казалось бы, этим вопросом мы задаемся лишь тогда, когда наушники, идущие в комплекте к плееру или телефону, выходят из строя — но на самом деле о качественных аксессуары стоит задуматься еще до приобретения гаджета: верный выбор наушников обеспечит Вам максимум удовольствия от прослушивания музыки.

БЕСПРОВОДНЫЕ НАУШНИКИ — ВЫБОР СОВРЕМЕННЫХ И АКТИВНЫХ

Бывают наушники проводные и беспроводные.
Если Вы — владелец смартфона с Bluetooth, то возможность избавиться от бесконечного распутывания клубка проводов или их навязчивого свеса из кармана или шеи будет очевидным преимуществом. Портативные беспроводные наушники представляют собой следующее поколение в эволюции технологии наушников. Большинство моделей беспроводных наушников также оснащены функцией поиска музыкальных композиций и встроенным микрофоном для телефонных разговоров hands-free, поэтому их купить будет вдвое выгоднее.

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ БЕСПРОВОДНЫХ НАУШНИКОВ

Среди беспроводных наушников есть внутриканальные ( «вакуумные») и накладные модели, поэтому Вам не придется выбирать между удобством и привычкой. Максимум комфорта и удовольствия от музыки, плюс возможность быть постоянно на связи — основное преимущество беспроводных наушников. Где бы Вы не находились — на улице или в парке, в метро, ​​трамвае или маршрутке, они не будут спутываться в клубок, их выдернет ненароком сосед по общественному транспорту, их проволока не зацепится за пуговицу или крючок на верхней одежде. Благодаря Bluetooth-технологии Вам не нужно постоянно носить смартфон в кармане — можете заниматься своими делами, просто оставив его на подзарядке на столе.

Выбираем наушники в зависимости от целей использования

В интернет-магазине MOYO можно купить наушники для:

  • Спорта. Согласитесь, что в процессе утренней или вечерней пробежки, или работы на тренажере совсем не хочется отвлекаться на проблемы со звуком или цеплятся за провода. Для того, чтобы по максимуму сосредоточиться на тренировке, приобретите специальные наушники к телефону с удобным креплением на ухе и новейшими технологиями подачи сигнала от мировых брендов Philips и Sony.
  • Путешествий. Не важно, будет ли это пятиминутная поездка от офиса до дома, или десятичасовой дорога к месту отдыха, в обоих случаях чрезвычайно важны компактность и шумоизоляция гарнитуры. Покупайте наушники к телефону от лучших торговых марок Asus, Genius, Beats, Gemix, KitSound и другие, и наслаждайтесь впечатляющей громкостью и четкостью музыки, где бы вы ни были.
  • Игр. Окунитесь полностью в процесс, который происходит по ту сторону экрана. Если вы решите купить игровые наушники, тогда вы навсегда попрощаетесь с часто запутанными проводами, низким уровнем сигнала и посторонними шумами вокруг. С игровыми наушниками от Sony вы получать максимальное удовольствие от своего любимого вида киберспорта.

Купите наушники в интернет-магазине MOYO и наслаждайтесь любимыми песнями или мелодиями при любых обстоятельствах.

От чего зависит курс биткоинов

Биткоин – одна из наиболее «свободных» на сегодняшний день криптовалют, курс которой не зависит от внешних политических мотивов и иных аналогичных факторов зависимости. Политика конфиденциальности и особый механизм, технология генерирования биткоина – гарантии именно рыночного формирования и закрепления курса (стоимости) биткоина.

Криптовалюта нового поколения с плавающим курсом достаточно сложна для стандартных, традиционных прогнозов. Тем не менее, специалисты рынка электронных валют выделяют несколько факторов, определяющих формирование цены биткоина.

Факторы формирования стоимости биткоина

Их несколько. Каждый из них может ярко проявлять себя или служить второстепенным, вспомогательным критерием при составлении прогнозов спроса, предложения и цен на эту криптовалюту:

  1. Экономические. Это традиционные показатели денежного и финансового рынка. В первую очередь, предложение. То есть, количество биткоинов, которое в каждый конкретный момент может быть эмитировано или продано, то есть, предложено на рынок в каждом определенном обменном пункте. Возрастание курса означает, что спрос на валюту или ее объем в составе реальных сделок на бирже выше, чем количество криптовалюты, которое предлагается в определенный момент.
  2. Технические. В данном случае – это особенности, сложности и ограничения, связанные с эмиссией или добычей биткоина. Например, официальный запрет государства на сделки с применением биткоинов, ограничения на их обмен для онлайновых финансовых учреждений и т. п.
  3. Потребность, спрос в данной валюте. Она оценивается по количеству запросов на сделки. Как только спрос начнет превышать предложение, курс биткоина начнет расти, плавно либо стремительно (зависит от объемов спроса и потребительских ожиданий).

Некоторые экономисты отмечают и другие факторы, от которых зависит курс биткоина, например:

  • удобные условия осуществления сделок на биржах, что подразумевает большую доступность валюты. Изучить их можно на непосредственно на сайтах, где можно обменять биткоин. Например, на https://100btc.kiev.ua/ или на специальных мониторингах обменных пунктов;
  • действия вкладчиков. В последнее время отмечается растущий интерес в использовании биткоина как надежного средства сбережения;
  • потребительский ажиотаж, в том числе, создаваемый искусственно. Например, за счет определенных действий крупных игроков. Учитывая пока невысокую капитализацию биткоина, этот фактор может вызвать серьезные скачки курса.

 

Мнение о книге "Эссенциализм. Путь к простоте"

Чтобы не было недоразумений, несмотря на то, что в названии этой книги стоит Эссенциализм, она не про направление в философии науки которое сформировал Поппер. Также, про эту книгу нельзя сказать что она про GTD. А вот про что она?  Скорее всего, эта книга описания системы личной эффективности которую Грен МакКеон выработал и применяет.
Основная суть которой заключается в стремлении отказаться от ненужного и сконцентрироваться на важном. Каждая глава, это небольшой рассказ о том почему тема в ней поднимаемая важна. Ну а заинтересовав читателя автор предлагает то что у него сработало для достижения продекларированной крутотеньки. Ну и как у здравомыслящего человека в практические советы включено куча всего. Например, буфер и дерево реальности Голдрата, говорите "Нет" Хетча, про вырабатывание привычек, про здоровый сони и так далее.
Т.е. это больше обзор, чем глубокое погружение. Сработают ли эти методы у читающего? Если начнет применять все и сразу - то нет. Да и описаны они гораздо хуже, чем в специализированных книгах. Но в целом полезны, по крайней мере несколько я постараюсь добавить в свою копилку применяемых практик.
Читать ли книгу? Да, как минимум как обзор. Как максимум, если еще своей системы нет, как источник вдохновения и направление для создания такой системы.

Мнение о книге "Эссенциализм. Путь к простоте"

Чтобы не было недоразумений, несмотря на то, что в названии этой книги стоит Эссенциализм, она не про направление в философии науки которое сформировал Поппер. Также, про эту книгу нельзя сказать что она про GTD. А вот про что она?  Скорее всего, эта книга описания системы личной эффективности которую Грен МакКеон выработал и применяет.
Основная суть которой заключается в стремлении отказаться от ненужного и сконцентрироваться на важном. Каждая глава, это небольшой рассказ о том почему тема в ней поднимаемая важна. Ну а заинтересовав читателя автор предлагает то что у него сработало для достижения продекларированной крутотеньки. Ну и как у здравомыслящего человека в практические советы включено куча всего. Например, буфер и дерево реальности Голдрата, говорите "Нет" Хетча, про вырабатывание привычек, про здоровый сони и так далее.
Т.е. это больше обзор, чем глубокое погружение. Сработают ли эти методы у читающего? Если начнет применять все и сразу - то нет. Да и описаны они гораздо хуже, чем в специализированных книгах. Но в целом полезны, по крайней мере несколько я постараюсь добавить в свою копилку применяемых практик.
Читать ли книгу? Да, как минимум как обзор. Как максимум, если еще своей системы нет, как источник вдохновения и направление для создания такой системы.

Многопоточность и GUI

Маленький пример использования многопоточности в приложениях, содержащих графический пользовательский интерфейс (GUI). Продемонстрировано два способа обращения к элементам пользовательского интерфейса из рабочего потока в UI-поток. Графический интерфейс при этом не "подвисает".

.Net Framework 4.5

 /* Sandbox.cs
 * © Andrey Bushman, 2017
 *
 * Небольшой пример создания дополнительного потока,
 * работающего параллельно с потоком пользовательского
 * интерфейса (UI) и обновляющего этот интерфейс по мере
 * необходимости. Дополнительных потоков можно создавать
 * сколько угодно. В данном примере для простоты создаётся
 * только один.
 *
 * В данном примере вместо прямого использоватия потока
 * (Thread) я использую задачу (Task), которая в свою очередь
 * использует пул потоков.
 *
 * Рабочий поток (т.е. задача) вычисляет текущую дату и время,
 * после чего записывает их в ListBox, находящийся в потоке UI.
 *
 * Снятие/установка галочки "Do work" управляет
 * стартом/завершением рабочего потока. Кнопка "Clear" очищает
 * ListBox и заголовок окна.
 *
 * В консоль выводятся идентификаторы текущих потоков и маркер
 * их принадлежности (или не принадлежности) к пулу потоков.
 *
 * В данном примере для обращения к потоку UI из рабочего
 * потока я использую два способа: диспетчер и контекст
 * синхронизации.
 *
 * В примере используется WPF, но всё то же самое применимо к
 * WinForms и ASP.NET.
 */
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace Bushman.Sandbox {

    class MyWindow : Window {

        SynchronizationContext context = null;

        public MyWindow() : base() {

            Console.Title = "Sandbox";
            string prefix = "Main Window";
            Title = prefix;
            Topmost = true;

            Width = 300;
            Height = 600;

            ResizeMode = ResizeMode.NoResize;

            WindowStartupLocation = WindowStartupLocation
                .CenterScreen;

            Grid grid = new Grid();
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            grid.ColumnDefinitions[1].Width = new GridLength(0,
                GridUnitType.Auto);
            grid.RowDefinitions[1].Height = new GridLength(0,
                GridUnitType.Auto);

            Content = grid;

            Thickness margin = new Thickness(5, 5, 5, 5);

            ListBox listbox = new ListBox();
            listbox.Margin = margin;
            grid.Children.Add(listbox);
            listbox.SetValue(Grid.RowProperty, 0);
            listbox.SetValue(Grid.ColumnProperty, 0);
            listbox.SetValue(Grid.ColumnSpanProperty, 2);

            CheckBox chBox = new CheckBox();
            chBox.Margin = margin;
            chBox.Content = "Do work";
            grid.Children.Add(chBox);
            chBox.SetValue(Grid.ColumnProperty, 0);
            chBox.SetValue(Grid.RowProperty, 1);

            Task task = null;
            long i = 0;

            chBox.Checked += (s, e) => {

                task = new Task(() => {
                    using (task) {
                        i = 0;
                        while (Dispatcher.Invoke(
                            () => chBox.IsChecked == true) &&
                            i < long.MaxValue) {

                            // В рабочем потоке выполняем
                            // некоторую работу. Например -
                            // формируем строку текущих даты и
                            // времени.
                            string value = DateTime.Now
                                .ToString("yyyy-MM-dd hh:mm:ss"
                                );

                            // В данном примере мы мы можем
                            // имитировать длительную работу,
                            // либо заблокировать эту строку
                            // кода, если такая имитация нам не
                            // нужна:
                            //Thread.Sleep(TimeSpan.FromSeconds
                            //    (1));

                            Console.WriteLine(
                                "Current thread Id: {0}. " +
                                "Is pull thread: {1}",
                                Thread.CurrentThread
                                .ManagedThreadId.ToString(),
                                Thread.CurrentThread
                                .IsThreadPoolThread);

                            // Результат наших "вычислений"
                            //записываем в поток UI
                            context.Post(_ => {
                                listbox.Items.Add(value);
                                Title = string.Format(
                                    "{0}. Items Count: {1}",
                                prefix, i++.ToString());

                                Console.WriteLine(
                                "Current thread Id: {0}. " +
                                "Is pull thread: {1}",
                                Thread.CurrentThread
                                .ManagedThreadId.ToString(),
                                Thread.CurrentThread
                                .IsThreadPoolThread);
                            }, null);
                        }
                    }
                });

                task.Start();
            };

            chBox.IsChecked = false;

            Button button = new Button();
            button.Content = "Clear";
            button.Margin = margin;
            button.Padding = margin;
            grid.Children.Add(button);
            button.SetValue(Grid.ColumnProperty, 1);
            button.SetValue(Grid.RowProperty, 1);
            button.Click += (s, e) => {
                listbox.Items.Clear();
                Title = prefix;
                i = 0;
            };

            EventHandler action = null;

            action = (s, e) => {
                context = SynchronizationContext.Current;
                Activated -= action;
            };

            Activated += action;

            NameScope.SetNameScope(this, new NameScope());
            RegisterName(nameof(listbox), listbox);
            RegisterName(nameof(chBox), chBox);
            RegisterName(nameof(button), button);
        }
    }

    class Sandbox {
        [STAThread]
        static void Main(string[] args) {

            MyWindow win = new MyWindow();
            Application app = new Application();
            app.Run(win);
        }
    }
}


Результат работы кода выглядит следующим образом:

 

Многопоточность и GUI

Маленький пример использования многопоточности в приложениях, содержащих графический пользовательский интерфейс (GUI). Продемонстрировано два способа обращения к элементам пользовательского интерфейса из рабочего потока в UI-поток. Графический интерфейс при этом не "подвисает".

.Net Framework 4.5

 /* Sandbox.cs
 * © Andrey Bushman, 2017
 *
 * Небольшой пример создания дополнительного потока,
 * работающего параллельно с потоком пользовательского
 * интерфейса (UI) и обновляющего этот интерфейс по мере
 * необходимости. Дополнительных потоков можно создавать
 * сколько угодно. В данном примере для простоты создаётся
 * только один.
 *
 * В данном примере вместо прямого использоватия потока
 * (Thread) я использую задачу (Task), которая в свою очередь
 * использует пул потоков.
 *
 * Рабочий поток (т.е. задача) вычисляет текущую дату и время,
 * после чего записывает их в ListBox, находящийся в потоке UI.
 *
 * Снятие/установка галочки "Do work" управляет
 * стартом/завершением рабочего потока. Кнопка "Clear" очищает
 * ListBox и заголовок окна.
 *
 * В консоль выводятся идентификаторы текущих потоков и маркер
 * их принадлежности (или не принадлежности) к пулу потоков.
 *
 * В данном примере для обращения к потоку UI из рабочего
 * потока я использую два способа: диспетчер и контекст
 * синхронизации.
 *
 * В примере используется WPF, но всё то же самое применимо к
 * WinForms и ASP.NET.
 */
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace Bushman.Sandbox {

    class MyWindow : Window {

        SynchronizationContext context = null;

        public MyWindow() : base() {

            Console.Title = "Sandbox";
            string prefix = "Main Window";
            Title = prefix;
            Topmost = true;

            Width = 300;
            Height = 600;

            ResizeMode = ResizeMode.NoResize;

            WindowStartupLocation = WindowStartupLocation
                .CenterScreen;

            Grid grid = new Grid();
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            grid.ColumnDefinitions[1].Width = new GridLength(0,
                GridUnitType.Auto);
            grid.RowDefinitions[1].Height = new GridLength(0,
                GridUnitType.Auto);

            Content = grid;

            Thickness margin = new Thickness(5, 5, 5, 5);

            ListBox listbox = new ListBox();
            listbox.Margin = margin;
            grid.Children.Add(listbox);
            listbox.SetValue(Grid.RowProperty, 0);
            listbox.SetValue(Grid.ColumnProperty, 0);
            listbox.SetValue(Grid.ColumnSpanProperty, 2);

            CheckBox chBox = new CheckBox();
            chBox.Margin = margin;
            chBox.Content = "Do work";
            grid.Children.Add(chBox);
            chBox.SetValue(Grid.ColumnProperty, 0);
            chBox.SetValue(Grid.RowProperty, 1);

            Task task = null;
            long i = 0;

            chBox.Checked += (s, e) => {

                task = new Task(() => {
                    using (task) {
                        i = 0;
                        while (Dispatcher.Invoke(
                            () => chBox.IsChecked == true) &&
                            i < long.MaxValue) {

                            // В рабочем потоке выполняем
                            // некоторую работу. Например -
                            // формируем строку текущих даты и
                            // времени.
                            string value = DateTime.Now
                                .ToString("yyyy-MM-dd hh:mm:ss"
                                );

                            // В данном примере мы мы можем
                            // имитировать длительную работу,
                            // либо заблокировать эту строку
                            // кода, если такая имитация нам не
                            // нужна:
                            //Thread.Sleep(TimeSpan.FromSeconds
                            //    (1));

                            Console.WriteLine(
                                "Current thread Id: {0}. " +
                                "Is pull thread: {1}",
                                Thread.CurrentThread
                                .ManagedThreadId.ToString(),
                                Thread.CurrentThread
                                .IsThreadPoolThread);

                            // Результат наших "вычислений"
                            //записываем в поток UI
                            context.Post(_ => {
                                listbox.Items.Add(value);
                                Title = string.Format(
                                    "{0}. Items Count: {1}",
                                prefix, i++.ToString());

                                Console.WriteLine(
                                "Current thread Id: {0}. " +
                                "Is pull thread: {1}",
                                Thread.CurrentThread
                                .ManagedThreadId.ToString(),
                                Thread.CurrentThread
                                .IsThreadPoolThread);
                            }, null);
                        }
                    }
                });

                task.Start();
            };

            chBox.IsChecked = false;

            Button button = new Button();
            button.Content = "Clear";
            button.Margin = margin;
            button.Padding = margin;
            grid.Children.Add(button);
            button.SetValue(Grid.ColumnProperty, 1);
            button.SetValue(Grid.RowProperty, 1);
            button.Click += (s, e) => {
                listbox.Items.Clear();
                Title = prefix;
                i = 0;
            };

            EventHandler action = null;

            action = (s, e) => {
                context = SynchronizationContext.Current;
                Activated -= action;
            };

            Activated += action;

            NameScope.SetNameScope(this, new NameScope());
            RegisterName(nameof(listbox), listbox);
            RegisterName(nameof(chBox), chBox);
            RegisterName(nameof(button), button);
        }
    }

    class Sandbox {
        [STAThread]
        static void Main(string[] args) {

            MyWindow win = new MyWindow();
            Application app = new Application();
            app.Run(win);
        }
    }
}


Результат работы кода выглядит следующим образом: