Pull to refresh
20
0
Рахматиллаев Тимур @Eskat0n

Разработчик .NET, Kotlin, Ruby, JS

Send message

Вычисляемые поля для любого LINQ-провайдера

Reading time3 min
Views14K
Привет, Хабр!

Сегодня я хочу рассказать, о маленькой библиотеке, которую я написал недавно на коленке всего за несколько часов. Эта библиотека может декомпилировать методы в их λ-представление.

Зачем это может понадобиться — под катом.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments16

Записи с летней школы по Metro-дизайну

Reading time1 min
Views15K


Друзья, как вы, наверняка, знаете, буквально в прошедшие выходные (13-14 июля) мы проводили летнюю школу по Metro-дизайну для Windows Phone и Windows 8. Рады сообщить, что записи лекций уже доступны на TechDays!
Под катом ссылки на отдельные лекции
Total votes 54: ↑39 and ↓15+24
Comments8

Анонс. 6 июля пройдет бесплатный онлайн-семинар. Встречайте Windows Azure: последние новости и сессия вопросов и ответов

Reading time1 min
Views4.2K


Уважаемые разработчики, ИТ-профессионалы, менеджеры и просто интересующиеся. 6 июля 2012 состоится бесплатный онлайн-семинар, посвященный последним новостям облачной платформы Windows Azure и ее доступности в России.

Облачные технологии все больше входят в жизнь разработчиков и бизнеса. В рамках этого вебинара вы сможете узнать последние новости об облачной платформе Windows Azure, использовании сервиса из России и других стран, о новых облачных технологиях и сценариях представленных в июне 2012 года.

Основной частью вебинара станет серия вопросов и ответов, на которой эксперты Microsoft ответят на все ваши вопросы.

Вход свободный. Регистрация уже открыта, ждем вас на семинаре.

Читать дальше →
Total votes 36: ↑23 and ↓13+10
Comments12

Интересные -webkit CSS свойства

Reading time2 min
Views65K
Если вы знаете о том, что WebKit умеет изменять вид тэга SPAN на кнопку, или на поле ввода, или если вы знаете каким свойством можно диктовать поведение элемента в момент тапа по нему, то вам не сюда.
Остальных прошу под кат
Total votes 61: ↑52 and ↓9+43
Comments25

Инструментирование Google Chrome через WebSocket API

Reading time3 min
Views15K
image Взаимодействие с браузерами никогда не было работой для слабонервных: около полудюжины различных API, различные механизмы IPC, и разные возможности у разных поставщиков. Такие проекты, как WebDriver, пытаются абстрагироваться от этой сложности, к тому же в Сети можно найти десятки других «безголовых» драйверов, использующих WebKit или иные движки. В настоящее время в работе даже находится спецификация W3C на WebDriver.

Инструментирование Google Chrome


Тем не менее, в то время, как создание общего решения является сложной задачей, оказалось, что инструментирование Chrome очень просто, — как я недавно обнаружил при исследовании некоторых вопросов, связанных с сетевыми задержками. Начиная с 18 версии, Chrome теперь поддерживает протокол удалённой отладки v1.0, который предоставляет все возможности браузера с помощью обычного WebSocket!
/Applications/Path To/Google Chrome --remote-debugging-port=9222 # OSX
$> curl localhost:9222/json

[ {
   "devtoolsFrontendUrl": "/devtools/devtools.html?host=localhost:9222&page=1",
   "faviconUrl": "",
   "thumbnailUrl": "/thumb/chrome://newtab/",
   "title": "New Tab",
   "url": "chrome://newtab/",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/1"
} ]
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments8

Прячем USB-Flash в дискету 3.5''

Reading time1 min
Views10K
Если после всех предыдущих проектов у вас отстались свободные дискеты, то этот пятничный проект по изготовлению стильного USB-Flash носителя с использованием дискет 3.5" для вас.

image

Читать дальше →
Total votes 55: ↑34 and ↓21+13
Comments42

Масштабируем CSS спрайты с SVG, убивая сразу трех зайцев

Reading time6 min
Views66K
Привет, Хабр.
Сразу хочу отметить, что если мы говорим об иконках, их можно масштабировать двумя способами (других я просто не знаю): конвертировать иконки в шрифт и подключать их через @font-face, либо использовать SVG в качестве формата для этих иконок.

Немного отойду от темы и расскажу предысторию.

Предыстория


Я было решил использовать у себя на сайте шрифтовые иконки, казалось бы все хорошо: и размер менять можно, и цвет задавать и запрос к серверу всего один (на подключение шрифта). Другими словами, подключаемый шрифт это и есть своеобразный «CSS спрайт», верно?

Я давай проверять, везде ли все красиво выглядит. Оказалось, что не все так хорошо как хотелось бы, потому как в некоторых размерах иконки выглядели кособокими, а при отключенном сглаживании вообще противно смотреть на них стало. Что делать? Использовать второй вариант — SVG, о чем и пойдет речь.
Подробно о создании CSS спрайтов с SVG
Total votes 64: ↑57 and ↓7+50
Comments73

Создание кроссбраузерной оболочки для пользовательских скриптов

Reading time4 min
Views6.6K
Здравствуйте, уважаемые хабражители. Постов про пользовательские скрипты (userscripts) было на хабре немало, тем не менее, они только показывали, как ими пользоваться. А в работе юзерскриптов достаточно много кроссбраузерных несовместимостей (как и в любой области браузерного js). Естественно, можно установить различные дополнения для разных браузеров, однако, в случае написание скрипта для конечного пользователя, придётся сопровождать его огромным readme по установке компонент для обеспечения нормальной его работы. Что лично меня, да и вас, полагаю, тоже, не очень-то устраивает.

В данной статье речь будет вестись о трёх браузерах: Mozilla Firefox (с установленным GreaseMonkey), Google Chrome, Opera. Целью статьи является «заготовка», которая позволит пользовательскому скрипту работать одинаковым образом во всех перечисленных браузерах. Реализация GM API рассматриваться не будет, т.к. таковых уже сотни. Предполагается, что читатель уже знаком с общими правилами написания юзерскриптов (в случае, если нет, рекомендую сначала прочитать другую статью).
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments10

Кроссбраузерный inline-block

Reading time4 min
Views121K
Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».

Узнать метод Райна Доэрти
Total votes 143: ↑119 and ↓24+95
Comments65

Frustro: невозможный шрифт

Reading time1 min
Views13K


Венгерский дизайнер Марци Хегедус (Martzi Hegedűs) создал оригинальный шрифт Frustro, который основан на идее невозможных фигур — одного из видов оптических иллюзий. Как и классический треугольник Пенроуза, буквы этого шрифта можно представить направленными или в одну, или в другую сторону, и для них невозможно создать 3D-модели.
Читать дальше →
Total votes 166: ↑161 and ↓5+156
Comments71

Tinyicon — счетчик в favicon на js

Reading time1 min
Views4.1K
Tinyicon это небольшая библиотека для манипуляции с favicon сайта для передачи информации о новых событиях. Для браузеров не поддерживающих canvas счетчик отображается в title страницы.

image

Примеры и ссылки инсайд
Total votes 119: ↑113 and ↓6+107
Comments30

Новый метод замены текста картинкой, или избавляемся от -9999px

Reading time3 min
Views37K
Хотелось бы поговорить о техниках замены текста изображением. Думаю, практически все сталкивались с моментами в верстке, когда, к примеру, для заголовка страницы нужно использовать графический объект, при этом сохранив под ним текст и для поисковых роботов, и для печатной версии. Да и в принципе, никогда не хочется ломать семантинку страницы.



Немного об истории решения этого вопроса.


Самой первой популярной техникой была так называемая FIR (она же — Fahrner Image Replacement), которая появилась в 2003-м году. Она проста как пень, и многие начинающие верстальщики ее до сих пор используют:
Читать дальше →
Total votes 108: ↑100 and ↓8+92
Comments87

Morris.js: средство рисования красивых графиков при помощи jQuery и Raphaël

Reading time2 min
Views19K
В позавчерашнем выпуске «Mozilla Hacks Weekly» увидал гиперссылку «Morris.js», пошёл по ней, почитал, порадовался — а теперь и вам поведаю.

Morris — это легковесный джаваскрипт (всего-то 3052 байта после миниатюризации) с открытым исходным кодом (распространяемым по упрощённой лицензии BSD), который для работы требует jQuery и Raphaël и строит с их помощью графики на простой сетке горизонтальных линий, наподобие такого:

[график]

По оси абсцисс откладывается время, по оси ординат — какие-нибудь зависящие от времени значения. (Morris изначально разрабатывался для сайта, показывающего общее число автомашин той или иной марки в Великобритании, так что для него естественно, что ось абсцисс — это ось времени.)

Графики реагируют на мышь: вспучиваются точки, соответствующие указанному мышью моменту во времени, и подле них появляются подсказки.

Достоинство скрипта — простота API. Приведённый мною пример создаётся вот таким вызовом:

// поквартальные данные, тонкие линии, цвета их заданы в явном виде
Morris.Line({
  element: 'quarterly',
  data: [
    {q: '2009 Q3', a: 100, b: 75},
    {q: '2010 Q2', a: 75, b: 50},
    {q: '2010 Q3', a: 75, b: 50},
    {q: '2011 Q1', a: 50, b: 25},
    {q: '2011 Q3', a: 50, b: 25},
    {q: '2011 Q4', a: 75, b: 50},
    {q: '2012 Q2', a: 100, b: 75}
  ],
  xkey: 'q',
  ykeys: ['a', 'b'],
  labels: ['Series A', 'Series B'],
  lineColors: ['#167f39','#044c29'],
  lineWidth: 2
});

Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments20

Использование bat файлов для развертывания приложений

Reading time7 min
Views18K
В процессе трудовой деятельности пришлось столкнуться с одной задачей. Есть некоторый продукт, работающий под Windows и состоящий из нескольких компонент — ядра, протокола, моста и канала доставки. Часть компонент написана на JAVA, часть на C++. Каналов доставки может быть от одного до двадцати. Каждый компонент использует свою БД (в качестве СУБД выступает MS SQL Server). Для компонент, написанных на JAVA, структура БД создается автоматически, для компонент, написанных на C++ структуру нужно создавать вручную SQL скриптом. Каждый компонент должен работать как сервис в системе. Все это добро должно быть тщательно протестировано. Для каждого теста необходимо пересоздавать БД и системные сервисы.

Проделав это дело один раз, я задумался, а как бы этот процесс можно было максимально автоматизировать (действия не сложные, но рутинные). Решение должно быть простым и не требующим установки какого-либо софта. Поэтому сразу же выбор пал на древний, но проверенный временем файл сценариев на встроенном командном языке — Bat. Заодно проверим, на что bat скрипты еще способны.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments19

RVM — подробно

Reading time4 min
Views97K

RVM — Ruby Version Manager
Программа для управления версиями Ruby.

Как быть если один проект использует Ruby 1.8.7, а другой 1.9.2? А что если при этом у вас 2 проекта под версией 1.9.2, но с разными наборами гемов? Хотелось бы вам иметь отдельные наборы gem's для каждого проекта?

Основные задачи:
1. Физическое разделение версий ruby и наборов гемсетов
2. Возможность иметь несколько версий ruby и переключаться между ними
3. Возможность для каждой версии ruby иметь несколько gemsets — наборов gem's и переключаться между ними

Под катом будут описаны:
1. Установка RVM
2. Работа с разными версиями Ruby
3. Работа с gemsets
4. Задание окружения под отдельный проект с помощью .rvmrc
5. Команды RVM которые могут оказаться полезными
6. Шпаргалка по основным командам RVM

Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments44

Префиксные деревья в Javascript

Reading time4 min
Views5.8K
Как это писалось

Одним долгим зимним вечером моя жена играла в Bookworm adventures, и периодически пинала меня по поводу составления слов подлиннее из имеющихся букв. Быстрый поиск по интернету страничек, позволяющих составлять слова из набора букв дал кучу сайтов, которые пытаются делать это на серверной стороне, и один, который делает это на клиентской ява-апплетом. Те, которые составляют слова мощностями сервера либо имеют ограничение на размер набора букв (обычно, почему-то в 8), либо глубоко задумываются, если им послать набор «abcdefghijklmnopqrstuvwxyz». Ява-апплет же имел ограничение в 12 букв, работал шустро и почти подходил (в игре предлагаются 16 букв для составления слов).
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments6

Магистратура и аспирантура в Японии: 2012

Reading time1 min
Views20K
Казалось, совсем недавно я писал о возможности пройти обучение в японской магистратуре или в аспирантуре. Однако прошли новогодние праздники, а с ними пришли новые известия, с которыми я и хочу ознакомить всех интересующихся в этой короткой заметке (даже ката не потребуется!):
  1. Похоже, один из хабрачитателей таки стал нашим магистрантом (по моей рекомендации) в этом году! Подробностей пока не будет — боюсь спугнуть. Ещё в одной инстанции его заявку должны завизировать. Если всё получится, попрошу написать его о впечатлениях.
  2. В апреле открывается общий приём заявок через посольства. Доступны магистратура и аспирантура, а также базовое высшее образование. Честно говоря, я и не знал, что к нам можно ехать сразу после школы, но оказывается, есть и такая программа. Впрочем, не уверен, стоит ли её советовать — чем меньше у кандидата образования, тем больше «лотерейности», поскольку неясно, как хороших отсеивать от не очень хороших.
  3. Стипендия для магистрантов составляет 152 тыс. иен, т.е. примерно 60 тыс. рублей по нынешнему курсу. Для докторантов чуть побольше, для бакалавриата — поменьше. Все стипендиаты освобождаются от платы за обучение. Кроме того, за счёт Японии оплачивается авиаперелёт.
  4. Все требуемые документы можно оформить за две недели. Исключение — сертификат TOEFL. Он необязателен, но очень желателен.
Разумеется, вы можете планировать учёбу в любом японском вузе, но я как патриот своего заведения буду агитировать за него. Как обычно, буду рад ответить на любые вопросы. Только читайте, пожалуйста, сначала мои посты и побродите по ссылкам. А то в прошлый раз было уж очень много вопросов, ответы на которые и так уже были даны в тексте.
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments50

Будущее иконок

Reading time2 min
Views5.7K
будущее иконок

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

Вдохновленный постом, я подумал, что будет интересно сделать собственную эволюцию иконок. Вариантов будущего нашего мира фантастами выдумано огромное количество и вполне вероятно что все они когда-нибудь, так или иначе сбудутся.
Читать дальше →
Total votes 242: ↑221 and ↓21+200
Comments70

Чёртова дюжина советов начинающим верстальщикам. Часть первая

Reading time6 min
Views32K
Доброго времени суток!

Введение


Я являюсь фрилансером. Раньше я не особо задумывался над тем, как и что делают верстальщики. Я делал серверную часть, а мой друг верстал и набивал контент. Совсем недавно мне захотелось попробовать «что и как». Пару дней назад мне на глаза попался материал, который мне очень понравился. Он наглядно обЪяснял, что и как нужно писать. К сожалению, сылку дать не могу, так как я не запаомнил, где располагался сей мануал, но… Казалось бы, можно это и запомнить, но я пошёл ещё одним путём — законспектировал это дело. Собственно, добро пожаловать в мою записку.
Читать дальше →
Total votes 233: ↑192 and ↓41+151
Comments186

Разрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 1)

Reading time11 min
Views21K

Введение


Здравствуй, уважаемый хабраюзер.Я хотел бы тебе представить материал о практическом создании компилятора, который будет транслировать код, написанный на языке Cool, в код виртуальной машины CIL (Common Intermediate Language) под платформу .NET.Данный материал я решил разбить на две части из-за лени все сразу это описывать

В первой части будет описан процесс написания грамматики с учетом приоритетов операторов в среде ANTLR, а также генерации лексера и парсера под язык C#. Также в ней будут рассмотрены подводные камни, которые встретились у меня на пути. Таким образом я постараюсь хоть кому-нибудь сэкономить время (может быть для себя в будущем).

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

Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments14

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity