Popular Tags:

Создание блога на Dart. Часть 1.

12.07.2017 at 18:00


Создание блога на Dart. Часть 1.
Создание блога на Dart. Часть 2.
Создание блога на Dart. Часть 3.

HTTP сервер на Dart

Язык Dart позиционируется его создателями как язык, который можно использовать как на клиенте, так и на сервере. И если с клиентом, блягодаря ангуляру, вопросов не возникает, то на сервере dartlang используют редко. read more

Полезности №1

02.07.2017 at 10:14

Как получить индекс текущего элемента в директиве NgFor в Angular2

< span *ngFor="let item of items; let i = index">
  {{i}}: {{item}}
< /span>

Как изменить язык в Visual Studio Code

  • Нажать Ctrl+Shift+P
  • в открывшемся окне начать вводить config
  • выбрать пункт «Configure Language»
  • создастся файл locale.json, в котором можно поменять язык.
read more

Синхронный и асинхронный обход списка в Dart

02.07.2017 at 07:41


Предположим у нас есть асинхронная функция

Future doWork(int val) async {
  print("start ${val}");
  await new Future.delayed(new Duration(seconds: 2));
  print("finish ${val}");
}

и массив чисел

List<int> list = [1, 2, 3, 4, 5];

если мы последовательно вызовем для всех элементов массива функцию doWork

Future main() async {
  list.forEach((int val) => doWork(val));
}

то результат будет вот таким:

start 1
start 2
start 3
start 4
start 5
finish 1
finish 2
finish 3
finish 4
finish 5

Чаще всего это нормально, но бывают ситуации, когда функция doWork должна одновременно работать только для одного элемента. read more

Написание простого приложения на javascript. Часть 2.

23.06.2017 at 20:09

Сохраняем состояние в урле

Для сохранения данных будем использовать хеш часть урла. Сохранять будем объект с введенными пользователем числами. Сначала создадим его

var settings = {};
settings.sum = sum;
settings.months = months;
settings.percent = percent;

и сохраним в кеш, предварительно завернув в JSON

location.hash = JSON.stringify(settings);

Загрузка состояния из урла

Сначала нужно получить данные из урла. read more

Написание простого приложения на javascript.

17.06.2017 at 20:37


На примере кредитного калькулятора посмотрим, как создать клиентское приложение на javascript.

Начнем с разметки. Нам понадобятся три инпута для ввода параметров, подписи к ним, кнопка для запуска расчета и таблица для отображения результатов.

        <div class="debt_calc_param_container"><span class="debt_calc_param">Сумма кредита</span><input id="debt_calc_amount" /></div>
        <div class="debt_calc_param_container"><span class="debt_calc_param">Процентная ставка</span><input id="debt_calc_percent" /></div>
        <div class="debt_calc_param_container"><span class="debt_calc_param">Срок кредита в месяцах</span><input id="debt_calc_period" /></div>
        <button id="debt_calc_button">Рассчитать</button>
        <table id="debt_calc_paymentcalendar" border="1" bordercolor="black" cellpadding="10"></table>

Можно приступать к написанию кода. read more

Как я получал свой первый заказ на фрилансе

13.08.2015 at 18:35


Я уже ранее описывал биржи фриланса. Сегодня расскажу как получал свой первый заказ на upwork.

Заполнение профиля

В профиле нужно заполнять как можно больше полей. Нормальное серьезное фото. Описание себя должно быть действительно подробным. Мало просто перечислить технологии, нужно написать побольше о себе.
Не лишним будет пройти тесты — лучше чем ничего, пока нет отзывов. read more

WPF tricks

13.07.2015 at 07:58

Переопределение стиля по типу контрола

Иногда возникает ситуация, когда нужно переопределить стиль, который навешивается не по ключу, а по типу. Делается это очень просто: в роли ключа у такого типа выступает TargetType:

< Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}" x:Key="InputTextBox">

Обновление биндинга руками

Осторожно, костыль! Если вам нужно обновлять биндинги руками, значит что-то уже пошло не так и у вас нарушен MVVM. read more

Новости фриланса

10.07.2015 at 18:26

elance.com переезжает на upwork

http://pumainthailand.com/elance-zakryvaetsya-i-polnostyu-migriruet-na-upwork/

upwork является основной биржей для меня, так что я рад.

Вышел первый выпуск русскоязычного подкаста о фрилансе

http://jff.name/freelance-podcast/

Гость выпуска — Пума. Советую послушать тем, кто раздумывает, заниматься фрилансом или нет.

Бонус: интересные ссылки о фрилансе на русском языке

http://pumainthailand.com/
Блог Пумы

http://jff.name/
Блог Евгения Заплетина

http://a-freelance-dad.tumblr.com/
Блог Ришата Мухаметшина

https://medium.com/@nodermann
Блог Andrew Nodermann

https://toster.ru/tag/%D1%84%D1%80%D0%B8%D0%BB%D0%B0%D0%BD%D1%81/questions
Тег «Фриланс» на тостере read more

Как я начал фрилансить

15.06.2015 at 05:05

С чего все началось

В конце прошлого года пришло понимание того, что нужно искать дополнительные источники дохода. Желательно в твердой валюте. Решил начать фрилансить. К сегодняшнему дню уже накопил некоторый опыт, буду его постепенно описывать.
Фриланс является для меня дополнительным заработком в свободное от основной работы время. Это важно, так как невозможность брать проекты фуллтайм сильно ограничивает. read more

OxyPlot tricks

22.05.2015 at 19:54


Начал использовать библиотеку OxyPlot. Буду в этой статье копить полезные моменты по работе с ней.

Добавление вертикальных линий.

public void AddVerticalLine(PlotModel model)
{
	var annotation = new OxyPlot.Annotations.LineAnnotation()
	{
		Type = OxyPlot.Annotations.LineAnnotationType.Vertical,
		X = 50,
		Color = OxyColors.Blue,
		LineStyle = LineStyle.Solid
	};
	Data.Annotations.Add(annotation);
}

Есть много других видов аннотаций.

Добавление логарифмической оси Y

logAxis = new OxyPlot.Axes.LogarithmicAxis();
logAxis.Position = AxisPosition.Left;
logAxis.Base = 10;
logAxis.MinorStep = 1;
logAxis.AbsoluteMaximum = 10000;
logAxis.AbsoluteMinimum = 0.01;
Plot.Model.Axes[1] = logAxis;

Делать в обработчике события Loaded

Ограничение скроллинга

model.Axes[0].AbsoluteMaximum = maxX;
model.Axes[0].AbsoluteMinimum = minX;

Перерисовывание графика

Plot.InvalidatePlot(true);
read more