Читать дальше →
soider @soider
User
Компиляция. 1: лексер
7 min
94KМеня всегда завораживало таинство рождения программой программы. К сожалению, российские вузы уделяют мало внимания сей интереснейшей теме. Рассчитываю написать серию постов, в которых поэтапно создадим маленький работоспособный компилятор.
Первые посты серии уже подготовлены, и бета-тестировались в одном маленьком и наглухо закрытом сообществе. Тем не менее, я буду продолжать их править с учётом пожеланий почтенной хабрапублики.
Первые посты серии уже подготовлены, и бета-тестировались в одном маленьком и наглухо закрытом сообществе. Тем не менее, я буду продолжать их править с учётом пожеланий почтенной хабрапублики.
Далее в посте:
- С какой стати писать компиляторы?
- Общий план
- Анализ текста
- Практический пример
- Как это работает?
+85
NerdDinner. Шаг 1: Новый проект
3 min
3.5KTranslation
Это первый шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.
Начнем наше приложение NerdDinner(ужин для ботанов) с выбора пункта меню File>New Project.
Мы увидим окно «New Project». Для создания ASP.NET MVC приложения, мы выберем пункт «Web» в левой части окна, а далее шаблон проекта «ASP.NET MVC Web Application» в правой части.

Начнем наше приложение NerdDinner(ужин для ботанов) с выбора пункта меню File>New Project.
Мы увидим окно «New Project». Для создания ASP.NET MVC приложения, мы выберем пункт «Web» в левой части окна, а далее шаблон проекта «ASP.NET MVC Web Application» в правой части.

+3
Фильтруй базар: пишем простой и функциональный фильтр данных
3 min
2.4K
Кто-то спросит, каким образом фильтры грубой очистки топлива на картинке справа относятся к PHP\IT в целом? Очень просто! Скрипт, о котором пойдет речь дальше, очень схож как по назначению, так и по функциональности с данными приспособлениями. Каждый понимает, что реализовать более менее универсальный фильтр «сверхтонкой очистки» (в нашем случае — выполняющий любые пожелания пользователя) на практике не всегда оказывается тривиальной задачей. Однако, реализовать что-то действительно простое, но при этом функциональное и достаточно применимое вполне реально. Что это, собственно, за «реально» и с чем его едят — смотрим под катом.
+6
Скриншоты сайтов своими руками
2 min
13KПроблема создания скриншотов web-страниц прямо на сервере встает достаточно редко, но, как говорится, метко. Хватишься иной раз, так гугль дает ссылки на какой-нибудь парсер уже существующего сервиса. Но, господа, это же не наш метод!
Покопавшись, можно найти что-нибудь типа связки xvfb (виртуальный фреймбуффер) с каким-нибудь браузером, например xvfb+opera, или khtml2png, который тянет за собой фигову тучу kde'шных либ. А ведь так хочется какого-нибудь легкого standalone скриптика...
Решив посвятить немного времени изучению вопроса, обстоятельно исследовал имеющийся инструментарий.
Покопавшись, можно найти что-нибудь типа связки xvfb (виртуальный фреймбуффер) с каким-нибудь браузером, например xvfb+opera, или khtml2png, который тянет за собой фигову тучу kde'шных либ. А ведь так хочется какого-нибудь легкого standalone скриптика...
Решив посвятить немного времени изучению вопроса, обстоятельно исследовал имеющийся инструментарий.
+84
Как прокачивать мозг
8 min
174KВ этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.

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

Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.
Но обо всем по порядку.
Понимание роли мозга
Нет невежества страшнее, чем невежество по отношению к самому себе.
Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
+221
Монетизация проекта: 8 + 4 способa заработать ничего
6 min
3.5K
Если коротко, то выбор модели монетизации (по моему личному твердому убеждению) индивидуален для каждого проекта/бизнеса. И сама модель может и должна изменяться с течением времени и появлением новых тенденций/парадигм на рынке.
Но все по порядку.
+44
Удобное заполнение расписаний с JQuery
5 min
7.2KЭта история произошла с Дмитрием Дубовицким — программистом «Бюро Пирогова».
Однажды случилось мне заниматься одним весьма интересным проектом. По ТЗ нужно было заполнить расписаниие занятий фитнес-клуба в неком XML. В принципе, ничего сложного — прочитал XML, заполнил данными таблицу на экране, но… Как же клиент будет редактировать расписание и править xml-файл? руками?
Выход прост — это можно сделать мышью!
Однажды случилось мне заниматься одним весьма интересным проектом. По ТЗ нужно было заполнить расписаниие занятий фитнес-клуба в неком XML. В принципе, ничего сложного — прочитал XML, заполнил данными таблицу на экране, но… Как же клиент будет редактировать расписание и править xml-файл? руками?
Выход прост — это можно сделать мышью!
-2
Привычки полезные каждому веб-программисту
2 min
1.7KУ веб-программистов со временем вырабатываются привычки, которые въедаются в рабочий процесс на уровне рефлексов. Взять хотя бы данные из формы — каждый толковый программист, как только встречает их, тут же обрабатывает на предмет корректности. Порою даже сам не замечает.
Я хочу уделить внимание нескольким приемам, которые, к моему сожалению, еще не являются повсеместными привычками. Очень хочу оказаться банальным и неуместным.

Я хочу уделить внимание нескольким приемам, которые, к моему сожалению, еще не являются повсеместными привычками. Очень хочу оказаться банальным и неуместным.
Количество элементов на одной странице
Разбиваете список на страницы? Как будет выглядеть вторая страница для списка из 101 элемента, если ваше волшебное число 100?
+130
Запуск виртуальной машины в VirtualBox без GUI
3 min
62K
+38
Fidonet. История одного пойнта (2010-й год)
4 min
9.6K
Предисловие
Данная статья не претендует на то, чтобы стать руководством к действию, а лишь рассказывает историю о том, как отдельно взятый интернетчик подключился к сети Фидонет в (страшно представить) 2010-м году.
Тем, кто уже потянулся мышкой к окошечку «Написать комментарий», дабы оставить для потомков что-то вроде: «Федо — R.I.P.», рекомендую сделать три глубоких вдоха-выдоха и дочитать этот текст до конца.
История моего интереса к сети Fidonet (можно смело пропустить)
+120
Создание простой MVC-системы на PHP 5
18 min
208KTranslation
Предисловие
В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).
+11
Программируем стартап Веб 2.0 на PHP
18 min
4.4K
Итак, вы воодушевлены идеей стартапа Веб 2.0. Вы полагаете, что придумали что-то оригинальное и свежее. Вам видится эффектная реализация вашей идеи. Вы верите, что ваш проект произведет революцию на рынке. Если именно такие мысли занимают вас, самое время заняться бизнес-планом. Планирование бизнеса – это отдельная дисциплина и об этом можно найти множество литературы. Впрочем, если вы не имеете опыта составления бизнес-планов, лучше прибегнуть к помощи профессионалов. Чем хуже спрогнозирован бизнес, тем выше риски его краха.
Однако допустим, что вы располагаете привлекательным бизнес-планом, вы ожидаете самоокупаемость проекта уже через 2 года от момента его старта, и предвкушаете ежегодный 50% рост его рекламного потенциала. В MS-Visio подготовлены многообещающие схемы пользовательского интерфейса проекта. И даже более того, ваш дизайнер, вооружившись модным руководством, в рекордные сроки обозначил графический вид проекта. Так, что сверстанные в лучших традициях безтабличной верстки типовые страницы пользовательского интерфейса дожидаются своего звездного часа в вашей локальной папке проекта.
+81
CSSDoc — формат комментариев для CSS
3 min
12KУже неоднократно видел утверждение, что CSS необходимо комментировать, чтобы потом было проще сориентироваться себе или тому, кто также поддерживает или будет в дальнейшем поддерживать ваш код. Но почему-то никто не предлагает использовать какой-то универсальный формат комментариев, который был бы понятен всем, хотя в программировании такое используется повсеместно: JavaDoc, JSDoc, PHPDoc и т.п.
Несложно догадаться, что рано или поздно кто-нибудь бы захотел использовать подобный формат комментариев в CSS и такой формат появился: CSSDoc. Спецификация пока что имеет статус черновика, но ничто не мешает начать пользоваться основными правилами уже сейчас.
Несложно догадаться, что рано или поздно кто-нибудь бы захотел использовать подобный формат комментариев в CSS и такой формат появился: CSSDoc. Спецификация пока что имеет статус черновика, но ничто не мешает начать пользоваться основными правилами уже сейчас.
+43
HOW-TO pptpd+freeradius2+mysql+abills 0.50b для малого офиса или мелкого провайдера на Ubuntu 9.10/10.04
10 min
16KПо просьбе уважаемого Nesmit'а публикую его HOW-TO, заместо своего, т.к. считаю что его инструкция достойна бОльшего внимания чем моя, которая была в этом посте, в моей было много недоработок и ошибок. И понапрасну его статью не пускали в ленту. Очень хорошая статья. Вот и она
ubuntu 9.10, с целью обновиться до 10.04, ничего не трогая.
pptpd 1.3.4-2
freeradius2.1.0
abills 0.5
dictionary.microsoft
Разработчик биллинга находится здесь: abills.net.ua
Хотелось бы выразить большую благодарность разработчикам данного биллинга!
Цели:
1.Обеспечить интернетом локальную сеть.
2.Учет трафика
3.Учет финансов
4.Создание тарифных планов.
5.Ограничение по скорости
6.Шифрование 128bit, причин много.
7.Без шифрования, но используя mschapv2.
8.Шифрование личного кабинета (apache SSL)
9.Возможность модернизации: интеграция почтового сервера с биллингом и т.д. Есть много модулей платных и нет.
ubuntu 9.10, с целью обновиться до 10.04, ничего не трогая.
pptpd 1.3.4-2
freeradius2.1.0
abills 0.5
dictionary.microsoft
Разработчик биллинга находится здесь: abills.net.ua
Хотелось бы выразить большую благодарность разработчикам данного биллинга!
Цели:
1.Обеспечить интернетом локальную сеть.
2.Учет трафика
3.Учет финансов
4.Создание тарифных планов.
5.Ограничение по скорости
6.Шифрование 128bit, причин много.
7.Без шифрования, но используя mschapv2.
8.Шифрование личного кабинета (apache SSL)
9.Возможность модернизации: интеграция почтового сервера с биллингом и т.д. Есть много модулей платных и нет.
+44
Где погрызть гранит науки
4 min
28K
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.
UPD. Переранжировал сайты. В категорию «Компьютерные науки» попали те сайты, которые можно внести более, чем в одну из нижеперечисленных категорий. Ранжировка производилась по большинству содержимого, то есть в некоторых сайтах, отнесенных к определенной категории, могут попадаться статьи не относящиеся к определенной, но они будут составлять абсолютное меньшинство
Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.
Англоязычные ресурсы
Компьютерные науки
OpenCourseWare MIT

Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.
+203
Привет, я принес Идейник!
1 min
2.9KНедавно у меня возникла потребность в месте для централизованного хранения идей. Обычно, я записываю их в блокнот (бумажный:)), получается централизированно, но неудобно. Сразу возникают проблемы с поиском и систематизацией. А еще блокнот можно забыть, как и ноутбук, флэшку или файлы с такой ценной информацией. Я решил попытаться это исправить и создал Идейник — место, где можно удобно, надежно и мобильно хранить и работать со своими идеями.

Итак, идейник — это сервис для творческих людей, он умеет хранить ваши идеи так, как вам будет удобно.

Итак, идейник — это сервис для творческих людей, он умеет хранить ваши идеи так, как вам будет удобно.
+33
Настройка разрешения на внешнием мониторе (openbox)
1 min
6.4K
С недавнего времени пересел на OpenBox (дистрибутив CrunchBang).
У меня ноутбук, дома я подключаю к нему внешний монитор.
Сразу же столкнулся с проблемой, что после загрузки системы, на мониторе и ноуте ставится низкое разрешение.
Через grandr выставляю нормальное разрешение. Но после перезагрузки все настройки слетали, и приходилось все выставлять по новой.
+3
7+ превосходных инструментов для оптимизации изображений
5 min
105KTranslation
Перевод статьи 8 Excellent Tools for Optimizing Your Images
К сожалению на момент перевода один из сервисов перестал работать. Но хабровчане предложили еще много хороших решений!
Одним из самых простых способов уменьшить время отклика страниц на вашем сайте является оптимизация изображений.
Есть несколько бесплатных инструментов помогающих уменьшить и оптимизировать изображения. В этой статье вы найдете удобные инструменты для создания картинок для веба настолько маленьких по весу, насколько это возможно.
Обзор инструментов — под катом.
К сожалению на момент перевода один из сервисов перестал работать. Но хабровчане предложили еще много хороших решений!
Одним из самых простых способов уменьшить время отклика страниц на вашем сайте является оптимизация изображений.
Есть несколько бесплатных инструментов помогающих уменьшить и оптимизировать изображения. В этой статье вы найдете удобные инструменты для создания картинок для веба настолько маленьких по весу, насколько это возможно.
Обзор инструментов — под катом.
+70
И ещё один способ генерации PDF
4 min
9.2KНавеяно топиком о генрации PDF с помощью ghostscript и Inkscape.
Посмотрев на предложенный вариант, я вспомнил одно очень интересное решение, коим и хочу поделиться.
Итак, генерация PDF с помощью QT
Посмотрев на предложенный вариант, я вспомнил одно очень интересное решение, коим и хочу поделиться.
Итак, генерация PDF с помощью QT
+4
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity