Search
Write a publication
Pull to refresh
16
0
Что в имени тебе моём? @mas

User

Send message

Знакомство с Ruby on Rails 3.0

Reading time5 min
Views17K


Добрый день, друзья. Не так давно мы с друзьями-коллегами решили поизучать Ruby on Rails – что это такое и с чем едят – для использования в будущем при разработке своих проектов.

Так как знаний по данной теме не было вообще, то и двигаться решили постепенно. При начальной установке Ruby с Rails 3.0 мы столкнулись с некоторыми трудностями, о которых в мануалах так сходу никто не упоминал. Поэтому я решил написать это небольшое руководство (которое является обобщением собственного опыта и перевода мануала на guides.rubyonrails.org/getting_started.html) по изначальной установке и настройке Ruby on Rails 3.0 для того, чтобы помочь таким же начинающим как я найти полезную информацию в одном месте и сэкономить свое время.
Читать дальше →

MySQL шпаргалки

Reading time3 min
Views827K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →

Сумбурные заметки про python и django

Reading time5 min
Views47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

Читать дальше →

Сохраняем видео из Flash Player 10.2 или unlink нам не помеха

Reading time5 min
Views39K
Я, как, вероятно, и многие другие пользователи Linux, привык сохранять видео с сайтов вроде YouTube, копируя временные файлы, создаваемые Adobe Flash. Примерно так:
$ cp /tmp/FlashIBmQCU video.flv

Поставив свежий пре-релиз флэш-плеера, который на днях обсуждали на хабре (у меня 64-битная система), я с удивлением обнаружил, что этот способ больше не работает, так как никакие файлы во временном каталоге не создаются. Рассудив, однако, что едва ли плеер хранит видео целиком в памяти, и куда-то он его всё-таки должен писать, я приступил к расследованию.
Читать дальше →

Веб-шрифты на распутье

Reading time11 min
Views31K
Перевод не претендует на 100%-ную точность, но я постарался максимально точно передать мысли и слог автора. Комментарии приветствуются.

Начиная с Интернет Эксплорера 4 в 1998-ом, а затем с марта 2008-ого и до марта 2010-ого, один за другим, вся «большая пятерка» десктопных браузеров — Сафари, Файрфокс, Опера и Хром — выкатили сравнительно похожие реализации правила @font-face для привязки шрифтов. Вместе с тем, неотъемлимая часть веб-издательского паззла, часть, которой не хватает с начала Веба, встала на место и теперь настоящая, веб-ориентированая типографика начинает принимать форму.

Для начала, обзор последних событий:
  1. 18-ого марта 2010 года была учреждена группа Web Fonts Working Group в W3C. Её первая задача была утвердить спецификацию WOFF как стандарт доставки sfnt (OTF и TTF) шрифтов в веб в «сжатом» виде.
  2. Была представлена отрисовка шрифтов в IE9 с помощью Windows’s DirectWrite в IE9 Platform Preview.
  3. Появились первые инструменты для подготовки веб шрифтов, такие как Font Squirrel’s @Font-Face Generator и EOTFAST.
  4. Пошла новая волна «шрифтохранилищ» в виде Typekit, Typotheque и бесплатного, опенсорсного Kernest.
  5. Появились первые “трастовые/кредитные” лицензии на веб-шрифты от дизайнеров коммерческих шрифтов.
  6. CSS3 Fonts Module включил в себя некоторые продвинутые свойства OpenType.
  7. Adobe Flash, когда-то надежная, кросс-платформенная среда замены текста (sIFR), сейчас выглядит абсолютно убогой.
  8. Google запустил бесплатный сервис шрифтов с растущей библиотекой. Все шрифты в библиотеке доступны и для частного хранения/использования.

Теперь пройдемся по пунктам…
Читать дальше →

pdb – Интерактивный отладчик

Reading time23 min
Views98K

pdb – Интерактивный отладчик


Версии Python: 1.4 и выше

pdb является интерактивной средой отладки для программ на Python. Он включает возможности приостановки выполнения программы, просмотра значений переменных, построчного выполнения кода так, что вы можете понять, чем ваша программа на самом деле занимается, и найти логические ошибки.
Читать дальше →

Компиляция. 3: бизон

Reading time13 min
Views50K
Это единственный пост в серии, в центре внимания которого — старообрядный сишный бизон, так надоевший некоторым. Тем, кто пишет не на Си, пост всё равно должен быть интересен, потому что похожие по принципу работы генераторы LR-парсеров существуют для очень многих языков. Тех же, кто идеологически не приемлет LR-парсеры, мне сегодня привлечь нечем.

Далее в посте:

  1. Компиляция грамматики
  2. Двухступенчатый парсер
  3. Что у него внутри?
  4. Конфликты в грамматике
  5. Как это работает?
Читать дальше →

Компиляция. 2: грамматики

Reading time11 min
Views42K
В предыдущем посте было много кода и, по некоторым мнениям, недостаточно объяснений. Будем чередовать: в этот раз будет много теории, а до практики почти не дойдёт.

Далее в посте:

  1. Магазинный автомат
  2. Формальные грамматики
  3. LR-парсинг
Читать дальше →

Компиляция. 4: игрушечный ЯП

Reading time18 min
Views21K
С грамматиками калькуляторов поиграли достаточно, переходим к языкам программирования. Бета-тестеры статьи подали идею писать JavaScript-подобный язык: начнём с простейшего скобчатого скелета, и будем его постепенно обращивать наворотами — синтаксическим сахаром, типами данных, поддержкой функций, и т.д.

Чтобы неполноценность нашего языка была понятна уже из названия, назовём его JSkrip.

Далее в посте


  1. Синтаксис
  2. Грамматика
  3. Парсер
  4. Синтаксическое дерево
  5. Pretty-printing

Читать дальше →

Компиляция. 5: нисходящий разбор

Reading time10 min
Views26K
До сих пор занимались восходящим синтаксическим разбором. Какие ещё есть варианты?
Отложим бизона в сторону, и вернёмся к теории.

Далее в посте:

  1. Идея
  2. Воплощение
  3. Холивар
  4. Бэктрекинг
Читать дальше →

Компиляция. 8: оптимизация

Reading time15 min
Views3.3K
После приятного отдыха продолжаем писать компилятор для нашего джей-скрипа.
В предыдущем посте реализовали взятую с потолка эвристику для назначения регистров, и заодно начали оптимизировать код. А ещё перед этим читатели обнаружили баг в реализации присваивания.

Далее в посте:

  1. Починка бага
  2. Чистка копирований
  3. Что получилось?
  4. Сворачивание констант
  5. Реализация
Читать дальше →

Компиляция. 9: исполняемый код

Reading time19 min
Views6.4K
Напоминаю, что мы пишем компилятор для игрушечного языка джей-скрип. Начали с компиляции в п-код, потратили немало сил на его оптимизацию, и приготовились к заключительному этапу компиляции — к выводу машинно-зависимого выполнимого кода.
Никаких замысловатых алгоритмов тут уже нет: по большому счёту, только замена одной системы команд на другую.

Далее в посте:

  1. Выбор кода
  2. Загрузчик
  3. Изменения в п-коде
  4. Генерация
  5. Что получилось?
Читать дальше →

Компиляция. 10: компиляция в ELF

Reading time13 min
Views7.1K
В прошлый раз мы ограничились компиляцией джей-скрипа в файл в нашем собственном формате, которому требовался специальный загрузчик. Кроме того, мы задумали было пару оптимизаций исполнимого кода, требующих анализа соседних команд.

Далее в посте:

  1. Оптимизация «в глазок»
  2. Стандартные функции
  3. Вывод в ELF
  4. Как это работает?
  5. Что получилось?
Читать дальше →

Генерирование изображений-заглушек

Reading time3 min
Views59K
Сегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).

На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
<img src="http://placehold.it/350x50" />
и получаете:


Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
Ещё насколько примеров под катом

Chrome apps вместо Speed Dial

Reading time3 min
Views3.8K
Здравствуй, Хабр.

Иногда, знаете ли, хочется поделиться какой-нибудь ссылкой или двумя, причём никак с друг другом не связанными, или высказать мысль, но такую маленькую мыслишку, которая на пост не потянет. В общем, будучи верным принципу «нереализованные желания рождают комплексы» я сейчас поведаю вам о по-моему наиболее логичном способе использования chrome apps в хроме и поделюсь несколькими полезными ссылочками, но сделаю это несколько необычным способом.
Читать дальше →

Использование метаклассов в Python

Reading time11 min
Views43K
Некоторые средства метапрограммирования не так часто используются в ежедневной
работе, как обычные в ООП классы или те же декораторы. Для понимания же целей
введения подобных средств в язык требуются конкретные примеры промышленного
применения, некоторые из которых и приведены ниже.

Читать дальше →

Сброс пароля, редактирование реестра Windows из Ubuntu

Reading time2 min
Views40K
В связи с вирусами в винде и невозможностью запусить regedit, понадобилась возможность редактировать реестр извне. Нашел, пока, единственную утилиту в линуксе chntpw, которая изначально разрабатывалась для сброса паролей, а потом приобрела функцию редактирования реестра.
Читать дальше →

Поиск и редактирование значений в памяти сторонней программы на C++

Reading time6 min
Views51K

Чем не устраивает ArtMoney



Часто возникает необходимость найти и поменять какие-либо строки/числа в чужой программе. С этой задачей лучше всего справляется ArtMoney. Для тех, кто не умеет или не хочет использовать отладчики, это на сегодня, наверное, единственный вариант, так как нормальных аналогов просто нету. Хотя ArtMoney и поддерживает очень много возможностей для работы с памятью, весь процесс происходит вручную, без возможности создания действий по алгоритму. Если значений много и их надо, например, менять при каждом запуске программы, то время, затрачиваемое на эту работу, превышает всякие допустимые пределы. Выход один — написать свой редактор памяти!
Читать дальше →

Мечта параноика или Еще раз о шифровании

Reading time7 min
Views101K
В свете последних событий с torrents.ru и активизации государственных группировокорганов по борьбе с пиратством, думаю многие задумались как же обезопасить себя или свой сервер на случай если придут нежданные «гости». Вот и мне подвернулась задача защитить локальный медиасервер от посягательств, проведя пару дней за гугленнием и чтением мануалов/howto — мне удалось это реализовать. Скажу сразу, статей по шифрованию очень много, но в основном они рассчитаны на шифрование только определенных разделов, либо устарели/содержат много ошибок.

ЦЕЛИ:

  1. Весь винт(винты) должны быть надежно зашифрованы
  2. На винтах не должно быть абсолютно никакой разбивки, так как будто это новый(или стертый) винт
  3. ОС должна стоять на зашифрованных разделах
  4. Должна быть возможность увеличения дискового пространства, путем добавления новых винтов
  5. Загрузка системы без ввода ключа от шифрованных данных

Читать дальше →

Обзор 30 хостингов изображений для быстрой публикации

Reading time16 min
Views279K
Представлен список хостингов изображений, отобранный по необычному, но в особых случаях важному признаку — возможности опубликовать фото без авторизации на сайте. Фотохостинги, которые утверждают, что они «free», но при этом забывают об этой важной степени свободы, безжалостно отсеяны, но где-то в конце обзора на самые популярные из них, всё же, даны ссылки. Не забыты остальные важные условия попадания в список — надёжность и длительность хранения, удобство пользования и отсутствие навязчивой рекламы. Впоследствии стоит выбрать из всего списка 5-7 наиболее достойных и удобных хостингов.



UPD 2022-04: из 30 хостингов с живыми ссылками на изображения в 2022 году осталось два: imgur.com и thumbsnap.com.

Особые случаи, для которых сделан этот обзор — публикация некоторого изображения (картинки, рисунки, фотографии, скриншоты, графики) на чужих (не собственных) ресурсах, особенно там, где решений для публикации фото нет совсем (Хабр в том числе) или они неудобны. Это — статьи на чужих ресурсах или в своих блогах на чужих хостингах (пример — blogger.com) с неудобным или ущербным управлением рисунками, на онлайновых аукционах, комментарии в блогах и форумах.

Хостинги для такой публикации предоставляют текстовые ссылки в виде HTML-, BB- кодов или прямые ссылки на изображение и страницу просмотра, превью (они же миниатюры, thumbnails) различного размера и ряд других удобств. Рассмотрим их все и расположим найденные хостинги в порядке убывания некоторого усреднённого удобства. В конце, в качестве бонуса — ссылки на некоторые другие ресурсы онлайновой подготовки изображений, тоже придерживающиеся правила необязательной авторизации.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity