Пишем расширения c Roslyn к 2015 студии (часть 1)

Автор: admin от 26-01-2015, 22:14, посмотрело: 218

Для начала, нам потребуется:

1. 2015 студия
2. SDK для разработки расширений
3. Шаблоны проектов
4. Визуализатор синтаксиса
4. Крепкие нервы

Полезные ссылки: исходники roslyn, исходники и документация roslyn, roadmap с фичами С# 6.

Наверное вас смутило, что вам потребуются крепкие нервы и вы хотите пояснения. Все дело в том, что весь API компилятора — это низкоуровненное кодогенерерированное API. Вы будете смеяться, но простейший способ создать код — это распарсить строку. Иначе вы либо погрязнете в куче нечитаемого кода, либо будете писать тысячи extension-методов, чтобы ваш код выглядел синтаксически не как полная кака. И еще две тысячи extension-методов, чтобы оставаться на приемлемом уровне абстракций. Ладно, я вас убедил, что писать Roslyn расширения к студии это плохая идея? И очень хорошо, что убедил, а то кто-то из читающих эту статью может написать второй ReSharper по прожорливости ресурсов. Не убедил? Платформа все еще сырая, бывают баги и не доработки.

Вы меня не убедили

Категория: Программирование

 

Взлом биткоин биржи на Rails

Автор: admin от 26-01-2015, 22:02, посмотрело: 531

В последнее время появилась масса биткоин сервисов. И то что раньше было проектом «for fun» неожиданно стало хранить десятки и даже сотни тысяч долларов. Цена биткоина выросла, но уровень безопасности биткоин сервисов остался таким же низким.

Ради портфолио мы провели бесплатный аудит биткоин биржи с открытым кодом Peatio использующей Ruby on Rails. Репорт в pdf можно скачать тут. Самое интересное что в результате нашлись не очередные унылые рейс кондишены или SQLi, а довольно таки любопытная цепочка багов ведущая к угону аккаунта и краже существенной части горячего кошелька.

Категория: Веб-разработка, Информационная безопасность, Криптография

 

Кнопок много не бывает

Автор: admin от 26-01-2015, 21:51, посмотрело: 152

Кнопок много не бываетПримерно полгода назад я прочитал статью «Почему стоит использовать препроцессоры». В ней автор описывает преимущества препроцессоров на примере реализации кастомных кнопок. Статья оказалась познавательна и очень интересна. Автор приводил в примеры разные препроцессоры и объяснял, почему остановился на Sass. На счет цвета карандашей и вкуса я не в праве спорить, у каждого свои взгляды. Но еще тогда мне показались не справедливыми описания о том, что Less не достаточно мощный. Еще тогда хотелось сделать что-то подобное, воплотить идею автора на других препроцессорных языках (Less, Stylus). На момент прочтения статьи времени что-то сделать свое не было. И вот недавно, в один из выходных, я вспомнил об этой статье и решил реализовать идею автора — только средствами Less. Делать что-то новое я не видел смысла, поэтому решил помочь автору в развитии проекта, сделал форк с его репозитория, проделал необходимую работу и создал pull request.

Категория: Программирование » Веб-разработка

 

SnapMirror and SnapVault: недокументированные возможности или делаем DR из SnapVault

Автор: admin от 26-01-2015, 21:34, посмотрело: 250

В продолжение статьи о парадигме резервного копирования NetApp, хочу рассказать о недокументированной возможности преобразования «архивных копий» в «резервные» для серии FAS2554 или FAS2520.
Как перевести SnapVault в SnapMirror

Категория: Программирование, Системное администрирование

 

Обзор Friendly interactive shell (fish) и почему она лучше bash

Автор: admin от 26-01-2015, 19:46, посмотрело: 341

Недавно админ в компании, в которой я работаю, посоветовал попробовать заменить стандартный bash на zsh или fish. Я начал искать информацию по обоим оболочкам, перед тем как попробовать их.

Тут следует пояснить, почему мне не нравится bash. Основное неудобство для меня — это bash script. Когда надо что-то простенькое реализовать, то синтаксис довольно понятен. Но как только тебе надо сделать какую-то сложную логику (хотя бы несколько команд подряд), становится очень сложно разобраться в коде, особенно когда смотришь чужой скрипт. Следующее, что меня расстраивало — это сложности в автокомплите и поиске команд. Конечно, спасало сочетание Ctrl + r, но хотелось, чтобы такой поиск был по умолчанию. Ну и оставалось чисто индивидуальное недовольство настройкой цветов в баше. Единственное, что мне удалось настроить, это подсказка, и то без онлайн генератора PS1 мне было бы очень сложно и это сделать.

Недовольство всеми этими недостатками медленно зрело во мне на протяжении последних 2 лет (приблизительно столько активно пользуюсь командной строкой). Я решил поискать альтернативы. Открыв «Хабр» (основной источник полезной информации для меня) я начал изучать статьи по обоим оболочкам. Первое, что бросилось в глаза — это всего одна короткая статья про fish. Тогда как про zsh было вполне достаточно информации. Изучив поверхностно последнюю оболочку, я понял, что она еще сложнее в усвоении, чем bash. Конечно, все что угодно можно усвоить и использовать по полной программе, но я не сисадмин, а веб-разработчик на Python и мне нужен удобный инструмент, который бы не отвлекал от основной работы, легко и понятно настраивался и конечно же был приятен глазу.

Обзор Friendly interactive shell (fish) и почему она лучше bash

Если вас заинтересовала оболочка fish, прошу под кат.

Категория: Операционные системы » Linux

 

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №144 (19 — 25 января 2015)

Автор: admin от 26-01-2015, 19:12, посмотрело: 202

Мы никуда не пропали и все так же предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости.

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №144 (19 — 25 января 2015)

Категория: Программирование » Веб-разработка

 

Главное преимущество Go

Автор: admin от 26-01-2015, 18:53, посмотрело: 200

Если спросить среднестатического Go-девелопера, какие есть преимущества у Go — скорее всего вы услышите уже знакомый перечень плюшек. О них уже написано немало, но очень часто обходится стороной другая вещь, гораздо более интересная — долгосрочный эффект тех или иных решений дизайна языка. Я хочу раскрыть эту тему чуть шире, которая на самом деле актуальна не только для Go. Но в данной статье я возьму для примера два аспекта — способ обработки ошибок в Go и систему тестирования и постараюсь показать, как дизайн языка вынуждает людей более писать более качественный код.

Главное преимущество Go

Категория: Программирование

 

Семинар по анатомии CLR и .Net Framework. Roslyn, CoreFx, Nitra, RyuJIT

Автор: admin от 26-01-2015, 17:32, посмотрело: 164

Семинар по анатомии CLR и .Net Framework. Roslyn, CoreFx, Nitra, RyuJIT 03-04 Апреля в Москве и 29-30 мая — в Санкт-Петербурге пройдет серия семинаров CLRium. У данного семинара нет определенной целевой аудитории, мы рады всем. И начинающим свою карьеру, разработчикам, и махровым, повидавшим виды, архитекторам.

Как люди и хотят, у нас будут не просто технические доклады, без воды и маркетинга. У нас будет много тем, одна из которых — настоящая разминка для мозгов. Мы будем по дампам памяти понимать как устроена CLR и как с ней взаимодействовать не привычным для всех способом — напрямую.

У нас будет:

  • Максимально глубокие, отборные доклады по редко-раскрываемым вопросам

  • Целый вечер, посвященный исключительно ядру .Net. Как с ним работать «без перчаток», напрямую, со структурами в памяти, без рефлексии.

  • Ставшие популярными зоны свободного общения в перерыве.



Чем мы гордимся:

  • Наш материал не встретишь в сети Интернет: он полностью авторский

  • Материал освещает самые интересные области .Net, которые почему-то не покрыты материалом.

  • Мы не берем лишних денег с вас и потому у нас — самая дешевая конференция и всех существующих. 2,000 рублей за два дня — такого не предлагает никто. Это ведь как в магазин сходить. И, да, у нас нету ступеней 2,000 -> 3,000 -> 6,000 -> 10,000 в зависимости от дня. Не успели сейчас? Потом будет стоить столько же. Мы не на рынке.


Анатомия CLR

В данном вопросе я варюсь уже около года и достаточно плотно изучил как устроен CLR в качестве структур данных чтобы рассказать вам о них максимально подробно. Интерес к данному мероприятию должен возникнуть как минимум потому что эта тема практически не освещена в Интернете и знания, которые вы получите, помогут Вам взглянуть на платформу под совершенно новым углом. Также данный раздел знаний по CLR является чрезвычайно интересным. Microsoft с каждым днем давит на нас словом «безопасность». А так ли она безопасна, эта CLR? А так ли много там «магии», позволяющей нам не думать о безопасности? Это авторский проект и является результатом исследований с отладчиком: каково строение.Net объектов в памяти и что с этим можно сделать.

  • Во-первых мы посмотрим на реальное строение объектов в памяти

  • Во-вторых мы исследуем структуры данных в памяти, относящиеся к построению виртуальных методов, реализации интерфейсов и классов (этого не было на CLRium #1)

  • Далее, на основе полученных данных мы построим прокси-тип в памяти

  • И исследуем возможность сделать множественное наследование в .Net

  • Также попробуем совместить в одном объекте и Java и .Net объект, запустив одновременно оба рантайма (привет, Xamarin)

  • После чего, воспользовавшись полученным опытом расшарим объект .Net между процессами так чтобы он одновременно существовал бы в обоих мирах.

  • Полученные знания мы используем для ответа на вопрос: какие стандартные конструкции языка приводят к проседанию производительности и каким образом?

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


Подробно по всем темам

Категория: Программирование

 

Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»

Автор: admin от 26-01-2015, 17:13, посмотрело: 1792

Уж простите за пафосный заголовок, но раз пошла такая пьянка, то продолжим. Мне лично такие посты нравились всегда.

Итак, речь пойдёт про уязвимость известного в Мск (да и не только) провайдере Beeline. Многие помнят его под именем Corbina. Без сомнения, это один из передовых интернет провайдеров, с большой и хорошей историей. В своё время он был спасением, благодаря качественному и быстрому инету, интранет сетям итп. В настоящий момент сотрудники провайдера в курсе уязвимостей и самые критичные уже закрыты. Однако, уверен, многие откроют для себя много нового и интересного. Тем более, что техника применима практически к любому провайдеру.
Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»

Категория: Информационная безопасность

 

Практикум «Intel IoT». Galileo Gen2 — Первое знакомство

Автор: admin от 26-01-2015, 15:43, посмотрело: 213

Компания Intel выпускает несколько устройств для разработчиков: Galileo, Galileo Gen2 и Edison — продукты, совместимые с платформой Arduino, основное назначение которых – создание решений в сфере интернета вещей (Встречайте!

Категория: Программирование, Веб-разработка

 
Назад Вперед