Pull to refresh
150
0
Олег Тарасов @ThePretender

Пользователь

Send message

ReactiveValidation: валидация данных в WPF

Reading time9 min
Views11K
Здравствуй, Хабр!

Мне хотелось бы рассказать об Open Source библиотеке для WPF — ReactiveValidation, в процессе написания которой я пытался ориентироваться на FluentValidation и Reactive UI. Её задача — это валидация формы каждый раз, когда пользователь изменил данные внутри неё.


Пример работы с библиотекой. Хорошая новость — шаблон можно использовать свой

Основные фичи библиотеки:

  • Правила создаются через fluent-интерфейс
  • Полный внутренний контроль над изменением свойств
  • Поддержка локализации (в том числе «на лету»)
  • Отображение сообщений в GUI
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments4

Добываем Wi-Fi соседа стандартными средствами MacOS

Reading time5 min
Views367K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Total votes 163: ↑151 and ↓12+139
Comments249

Яндекс открывает ClickHouse

Reading time14 min
Views168K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →
Total votes 176: ↑172 and ↓4+168
Comments204

Почему мы рады тому, что не попали на themeforest

Reading time4 min
Views30K

Наша команда начала работать над Admin Dashboard Template (мы называем её просто админка) для themeforest 9 месяцев назад. Забегая вперед, на этот маркетплейс мы так и не попали, но сильно не расстроились и сегодня рады поделиться с сообществом результатами нашей кропотливой работы и, надеемся, интересной и полезной историей.

Ссылки для нетерпеливых:

angular 1 версия: https://github.com/akveo/blur-admin (демо: blur, mint)
angular 2 версия: https://github.com/akveo/ng2-admin (демо)

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

Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments72

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views340K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23

Баллада о незнании

Reading time10 min
Views30K
В годы далекой юности я, как и все вы, обожал все вот эти вот шуточки про глупого заказчика из серии: "…поиграйте шрифтами, сделайте цвет покрасивее…". Ну знаете, весь этот стандартный набор анекдотов под смузи для развлечения в любой успешной вебстудии. Каюсь, грешен, я над этим тоже похихикивал.

image
Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments30

N+2 полезные книги для бизнеса, которые обязательно стоит прочитать

Reading time5 min
Views96K
В прошлом году я делал обзор книг, на которых реально растут люди и реально улучшаются процессы.



Тогда понадобился год, чтобы прочитать в десять раз больше бумаги и сделать выборку, которая оказалась неожиданно полезной многим. Вот результаты ещё одного года — ещё N+2 книги для бизнеса, которые реально помогают.

Читать дальше →
Total votes 118: ↑106 and ↓12+94
Comments43

50+ лучших дополнений к Bootstrap

Reading time5 min
Views202K


Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments25

Храним 300 миллионов объектов в CLR процессе

Reading time5 min
Views35K

Камень преткновения — GC


Все managed языки такие как Java или C# имеют один существенный недостаток — безусловное автоматическое управление паматью. Казалось бы, именно это и является преимуществом managed языков. Помните, как мы барахтались с dandling-указателями, не понимая, куда утекают драгоценные 10KB в час, заставляя рестартать наш любимый сервер раз в сутки? Конечно, Java и C# (и иже с ними) на первый взгляд разруливают ситуацию в 99% случаев.

Так-то оно так, только вот есть одна проблемка: как быть с большим кол-вом объектов, ведь в том же .Net никакой магии нет. CLR должен сканировать огромный set объектов и их взаимных ссылок. Это проблема частично решается путём введения поколений. Исходя из того, что большинство объектов живёт недолго, мы высвобождаем их быстрее и поэтому не надо каждый раз ходить по всем объектам хипа.

Но проблема всё равно есть в тех случаях, когда объекты должны жить долго. Например, кэш. В нём должны находиться миллионы объектов. Особенно, учитывая возрастание объемов оперативки на типичном современном серваке. Получается, что в кэше потенциально можно хранить сотни миллионов бизнес-объектов (например, Person с дюжиной полей) на машине с 64GB памяти.

Однако на практике это сделать не удаётся. Как только мы добавляем первые 10 миллионов объектов и они “устаревают” из первого поколения во второе, то очередной полный GC-scan “завешивает” процесс на 8-12 секунд, причём эта пауза неизбежна, т.е. мы уже находимся в режиме background server GC и это только время “stop-the-world”. Это приводит к тому, что серверная апликуха просто “умирает” на 10 секунд. Более того, предсказать момент “клинической смерти” практически невозможно.
Что же делать? Не хранить много объектов долго?

Зачем


Но мне НУЖНО хранить очень много объектов долго в конкретной задаче. Вот например, я храню network из 200 миллионов улиц и их взаимосвязей. После загрузки из flat файла моё приложение должно просчитать коэффициенты вероятностей. Это занимает время. Поэтому я это делаю сразу по мере загрузки данных с диска в память. После этого мне нужно иметь object-graph, который уже прекалькулирован и готов “к труду и обороне”. Короче, мне нужно хранить резидентно около 48GB данных в течении нескольких недель при этом отвечаю на сотни запросов в секунду.

Вот другая задача. Кэширование социальных данных, которых скапливаются сотни миллионов за 2-3 недели, а обслуживать необходимо десятки тысяч read-запросов в секунду.
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments81

Оптимизация ASP.NET — практические советы по работе с IIS

Reading time12 min
Views99K
В данной публикации речь пойдёт о настройке важных параметров пула ASP.NET-приложений при вызове удалённых веб-сервисов и активной работе с сетью на стороне сервера через стандартные классы .NET.



Введение


Приходилось ли вам когда-нибудь самим настраивать производственные веб-сервера (production servers) под управлением ОС Windows Server 2008 R2/IIS 7.5 и выше? Для системных администраторов, имеющих большой опыт работы с IIS, скорее всего, это тривиальная задача, но вот для веб-разработчиков, которым по различным причинам порой приходится самим участвовать в настройке «боевых» серверов, данная информация может оказаться весьма полезной.

Итак, приступаем. Ускоряем сайт на ASP.NET — экономим деньги предприятия и нервы администратора.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments6

Пара маленьких лайфхаков поиска по товарам в интернет-магазине

Reading time5 min
Views45K
Случайно увидел вот такую подсказку на Озоне:



Это для меня, наверное, лучший пример, как не надо делать поиск в интернет-магазине. Дело в том, что все эти советы спокойно может взять на себя железный мозг, и разгрузить тем самым мозг пользователя. Покупатель при этом даже не заметит, что что-то пошло не так, а, значит, его ничего не остановит перед покупкой. Надо отметить, что ряд ошибок этот конкретный поиск правит, но в моём случае с копипастой названия книги из оптового прайса не прокатило.

У нас самих не лучший в мире поиск, но он продаёт. Давайте покажу, что мы сделали.
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments32

И еще один мощный и компактный ПК

Reading time2 min
Views101K


Вчера на Хабре был опубликован небольшой обзор миниатюрного и достаточно производительного ПК от Gigagbyte. В этом компьютере все хорошо, но он позиционируется, как модель для сборки. То есть, после покупки базы, нужно докупать ОЗУ, а также винчестер или SSD, плюс ставить свою ОС.

Альтернативой этому ПК может стать CyberPowerPC, из серии Fang Mini PC. Тут ничего собирать не нужно, все идет «из коробки».

Читать дальше →
Total votes 50: ↑35 and ↓15+20
Comments50

Действительно мощный и компактный ПК

Reading time2 min
Views197K
Некоторые новинки очень настораживают. Это то открытый ноутбук без клавиатуры и без диска за $1'995 на базе слабого ARM процессора, то «универсальный» и «мощный» ПК Tango размером со смартфон за $350, фактически совершенно бесполезный без второй док-станции, которая стоит как половина этого ПК, в том случае если всё-таки носить вычислительный модуль между работой и домом.

Я давно присматриваюсь заменить свой ноутбук на что-то, причём ноутбуки с момента появления планшета меня как таковые интересовать совершенно перестали.
Хотелось что-то совсем компактное, и я начал копать в сторону форм-фактора nano-ITX и pico-ITX, но ничего достаточно производительного за разумные деньги так и не нашлось.

Зато нашлась вот такая буквально поллитровка, несущая в себе 4е поколение Intel Core, Haswell.



Если по картинке не понятно, то этот ПК всё же чуть меньше, чем уже упоминавшаяся док-станция для Tango (108mm x 115mm x 30mm vs 135mm x 135mm x 27mm).

Поставляется с вмонтированным в материнскую плату процессором. Линейка процессоров:

— Intel® Core™ i7-4500U 1.8 GHz – 3.0GHz (turbo), Intel HD 4400
— Intel® Core™ i5-4200U 1.6 GHz – 2.6GHz (turbo), Intel HD 4400
— Intel® Core™ i3-4010U 1.7 GHz, Intel HD 4400
— Intel® Celeron™ 2955U 1.4 GHz, Intel HD

Существует также и модель на базе AMD A8-5545M 1.7G/2.7GHz.

Продаётся такое чудо как модель для сборки, для полной комплектации которой необходима память (можно вставить до 16ГБ, осторожно, подходит только DDR3 на 1.35В, не 1.5В) и диск mSATA.
Стоимость в зависимости от процессора колеблется на зарубежных сайтах от $250 до $500. Комплект из двух планок памяти общим объёмом 8ГБ можно приобрести приблизительно за $100, примерно столько же обойдётся и mSATA SDD на 128ГБ. WiFi b/g/n и Bluetooth 4.0/3.0 уже на борту, занимают единственный PCIe порт.

Ещё о нескольких моделях той же серии и пара картинок
Total votes 107: ↑102 and ↓5+97
Comments103

Доставка из США за 5-10 дней по цене USPS

Reading time4 min
Views161K
До наступления 2013 года оставалось 30 дней, когда я решил подарить жене ipad mini. Официальный store.apple.com не справлялся со спросом на mini, о чем красноречиво свидетельствовала надпись est shipping in 2 weeks.

Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.

До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
И я ее получил, за 10 дней, тариф за отправку составил $48.5.
Читать дальше...
Total votes 150: ↑138 and ↓12+126
Comments160

MOD Live — опыт в использовании

Reading time5 min
Views79K
Всем привет! Зима уже не за горами и, в преддверии нового горнолыжного сезона, хочу рассказать о личных впечатлениях в использовании (в прошлом зимнем сезоне) гаджета, описанного на хабре почти год тому назад.


Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments68

Жонглирование. Теория. Практика

Reading time5 min
Views41K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


Утверждать, что жонглирование — это последовательность бросков, все равно, что сказать, что музыка — это просто последовательность нот. Нельзя назвать это неправдой, но любой, хоть немного знакомый с музыкальной теорией, возмутится последним определением — столь поверхностным и недалеким.
Читать дальше →
Total votes 252: ↑242 and ↓10+232
Comments46

PayPal и американский адрес доставки

Reading time6 min
Views200K
Представьте, что вы натыкаетесь на магазин или частного продавца, который настолько пророс корнями в США, да к тому же еще и параноидален, что его система биллинга наотрез отказывается принимать ваши православные визы и мастеркарды, эмитированные отечественными банками.

Казалось бы, ничего не остается, как купить у соответствующих товарищей credit card with US billing понуро закрыть страницу магазина, уйдя на поиски более дружелюбного продавца, как тут вы замечаете знакомый шильдик PayPal, который повесил владелец сайта, приглашая всех приобрести его товар, заплатив максимально удобным для вас способом. И вот она, победа, вы деловито шествуете по страницам чекаут процесса, как вдруг осознаете, что продавец малого того, что не принимает православные карты к оплате, так еще и на настолько обнаглел, что отправляет свой товар только в пределах своей отчизны, забивая на весь мир и связанные с международной отправкой проблемы.

Если получить адрес для получения посылок в США уже давно не проблема, то вот как получить американский адрес, доступный для выбора при оплате PayPal? Да, система PayPal не позволяет штатным образом владельцам аккаунтов, зарегистрированных в стране, отличной от США, добавить американский адрес доставки.

Но на каждую хитрую жопу, как известно…
Читать дальше →
Total votes 70: ↑62 and ↓8+54
Comments63

Стэнфорд организует бесплатный онлайн-курс по ИИ

Reading time1 min
Views7.6K
Стэнфордский университет организует бесплатный онлайн-курс CS221 по искусственному интеллекту осенью этого года. Курс будет проходить с 2 октября по 16 декабря.

CS221 является вводным курсом в основы искусственного интеллекта. В нём описываются основные элементы искусственного интеллекта, такие как представление знаний, вывод, машинное обучение, планирование и игры, поиск информации, машинное зрение и робототехника.

В десятинедельный курс входит примерно двадцать лекций, около восьми домашних заданий, один промежуточный и один итоговый экзамен.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments25

Пожужжжим?

Reading time7 min
Views13K
Компьютерных игр с каждым днем становится все больше — как минимум это означает то, что вместе с этим растет и количество играющих людей. В этом нет ничего удивительного — технический прогресс дошел до того, что поиграть в старую добрую стрелялку можно чуть ли не на осциллографе. Про технический прогресс в современных играх лучше даже не начинать — это еще более необъятная тема, пусть и не менее интересная. Но какой бы навороченной не была игра, какими бы у нее ни были сюжет и графика, выше головы её создатели прыгнуть все равно не могут. Любую игру всегда можно если не сделать лучше, то хотя бы чем-то дополнить — тем, чего изначально в ней нет. Простой пример — играть в NFS можно и на клавиатуре, но ведь с хорошим рулем будет куда реалистичней?



Сегодня хочется рассказать про кое-что необычное — про устройство, способное добавить шарма и реалистичности к абсолютно любой игре. Впрочем, сфера его (точнее, её) применения запросто выходит за пределы игрушек.
Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments61

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity