Popular Tags:

DependencyProperty

02.09.2014 at 19:41

DependencyProperty – механизм WPF, позволяющий означить свойства визуальных контролей через XAML. Многие свойства, используемые в XAML разметке – на самом деле DependencyProperty.

Использование

DependencyProperty нужны для:

  • Data Binding. Биндинг возможен только для DependencyProperty.
  • Анимаций.
  • Стилей и триггеров.
  • Они появляются в окне свойств контрола в Visual Studio

Создание DependencyProperty

Класс, содержащий DependencyProperty, должен быть унаследован от DependencyObject. read more

Парсер хабрахабра на F#

25.08.2014 at 16:53

Tachikoma
Продолжаю изучать F#. Сегодня расскажу о первой программе — парсере хабра.
Для парсинга я выбрал один хаб — «Информационная безопасность».
Страницы этого хаба имеют вид http://habrahabr.ru/hub/infosecurity/pageN/ где N — номер страницы.
Парсить HTML я буду с помощью библиотеки HtmlAgilityPack.

Сначала подготовим несколько служебных функций:

let validPath (path : string) =
  Array.fold (fun (acc:string) item -> acc.Replace(item, '_')) path (Path.GetInvalidFileNameChars())

Эта функция преобразует строку в корректное имя файла, заменяя невалидные символы. read more

Рецензия. F# Succintly

15.08.2014 at 05:13

fsharp
Одна из книг серии Succintly от компании Syncfusion. Это серия коротких (около 100 страниц) книг по различным технологиям. Предназначены для ознакомления с технологией. Книги бесплатны и доступны в форматах pdf и mobi.
F# Succintly описывает базовый синтаксис языка:

  • Функции
  • Операторы
  • Рекурсию
  • Списки
  • Сопоставление с образцом (pattern matching)
  • Типы
  • Интерфейсы
  • Классы
  • Приведение типов

Все эти вещи раскрыты достаточно подробно, чтобы приступать к программированию. read more

Шпаргалка по F#

08.08.2014 at 07:13

Начал изучать F# и решил набросать шпаргалку. Буду дополнять по мере изучения.

Базовый синтаксис

Отступы значимы. Причем отступы должны быть пробельными — табуляция не подойдет.
Определить переменную:

let sampleInteger = 176

Определить функцию:

let func1 x = x*x + 3  

Функции могут быть вложенными.
Функция всегда возвращает результат последнего вычисления.

let add3ints x y z = 
let add2ints x y = 
    x + y
  add2ints x (add2ints y z)

System.Console.WriteLine(add3ints 1 2 3)
System.Console.ReadLine()

Операции со списками

Создание списка:

let mylist = [1; 2; 3; 4; 5]

Получение нового списка путем преобразования старого:

let multipliedList = List.map (fun x -> x * 3) mylist

Фильтрация списка:

let biglist = List.filter (fun x -> x > 7) multipliedList

Оператор |позволяет использовать функции в Linq стиле. read more

Рецензия. Идеальная IT-компания. Как из гиков собрать команду программистов.

31.07.2014 at 03:33

teamgeek
Книга предназначена не столько для менеджеров, сколько для рядовых программистов. Основная тема книги — внутреннее и внешнее взаимодействие команды разработчиков.
Описываются проблемы в общении между участниками команды, их причины и пути решения. Этому посвящены 2 главы — одна с точки зрения участника команды, другая — с точки зрения тимлида. Глава для тимлида ориентирована на программистов, которым из-за опыта пришлось взять на себя руководство командой. read more

Использование Steam API на C#

22.07.2014 at 03:51

Получения ключа

Ключ для использования API получаем здесь.

Документация

Справка по апи доступна на странице для разработчиков. У нее есть один недостаток — она глючная и описаны не все методы. Вместо этого лучше использовать стороннюю справку.

JSON

Стим умеет отдавать данные как в XML, так и в JSON. read more

Рецензия. Семь языков за семь недель.

18.07.2014 at 03:28

7_languages_in_7_weeks
Книга во многом похожа на «Семь баз данных за семь недель«. Для каждого языка описывается базовый синтаксис и ключевые особенности:

  • Ruby — Метапрограммирование. Не представляю, для чего это нужно. В маленьких проектах и смысла нет, в больших — очень легко запутаться.
  • Io — Прототипное ООП.
  • Prolog — Логическое программирование.
read more

Создание простого сервиса на node.js

15.07.2014 at 03:14

Education concept: computer keyboard with word Learn on enter button background, 3d render

Задача: сделать сервис, отдающий JSON по некоторым запросам.
Сервис я решил делать на node.js.

Общие сведения

node.js — серверный javascript. Содержит встроенный веб сервер, т.е. не нуждается в установке apache или nginx.
Сам по себе node.js умеет очень мало. read more

Задачник для программиста

07.07.2014 at 18:03

1402842485243
Полный размер по клику.

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

Рандомный вариант можно выбрать с помощью этой кнопки:

  • Генератор имен
  • Конвертер температур
  • Расчет возраста в секундах
  • Алгоритм шифрования (любой из http://rumkin.com/tools/cipher кроме Морзе)
  • FizzBuzz wiki
  • Камень-ножницы-бумага
  • Виселица wiki
  • Генератор псевдослучайных чисел
  • Генератор паролей
  • Абсолютно точное время из атомных часов из интернета
  • Генератор хайку
  • Магический шар 8 wiki
  • Гипотеза Коллатца wiki
  • Разворот строки
  • Файловый менеджер
  • Подсчет количества слов в строке
  • Сапер
  • Четыре в ряд wiki
  • Расчет индекса массы тела wiki
  • Судоку.
read more

Разработка игры на WPF

21.06.2014 at 12:00

Вчера на работе прошел второй хакатон. На этот раз темой был рабочий проект — все, что давно хотелось сделать, но в спринт никогда не попадет. Мы с Сашей Решетниковым решили делать игру, которую можно будет встроить в клиентское приложение в виде пасхального яйца.

Идея игры

Решили делать ремейк старой игры «Попади в меня кирпич». read more