Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Дима Семьюшкин @Devgru
Веб-разработчик
Метапрограммирование в C++
5 min
42KМетапрограммирование — это «программирование программ», то есть написание некой промежуточной программы, результатом которой будет некая часть другой программы. Самый простой пример метапрограммирования — это шаблоны C++. Вместо написания десяти одинаковых функций для разных типов, мы пишем шаблон, и компилятор сам соберет нам эти десять функций.
+59
Правила личной эффективности от ЭД
21 min
66KЗаранее предупреждаю и извиняюсь, но оно того стоит: букаф многа.
В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.
В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.
Попытка понять программу восьмого класса провалилась в виду отсутствия элементарных знаний предыдущих классов (начиная с второго-третьего), что не оставляло передо мной выбора, кроме как начать изучать все предметы по новой, самостоятельно.
Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.
Введение
В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.
В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.
Попытка понять программу восьмого класса провалилась в виду отсутствия элементарных знаний предыдущих классов (начиная с второго-третьего), что не оставляло передо мной выбора, кроме как начать изучать все предметы по новой, самостоятельно.
Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.
+113
+209
Выдаем тикеты при кешировании
1 min
708Системы кеширования, с которыми я сталкивался, разработаны по принципу: задай объекту Cache параметры кеширования и работай с объектом Cache. До определенного времени меня устраивала подобная работа с кешем. Однако время не стоит на месте и однажды мне понадобился более удобный способ работы с кешем. В итоге появилась собственная реализация, основанная на тикетах. Суть ее состоит в том, что надо у объекта Cache запрашивать тикет, у тикета уже выставлять параметры (ключ, префикс и т.п.), и тикет должен уметь сохранять данные и извлекать их из кеша.
Это решило проблемы конфликтов при кешировании, когда кто-то начал работать с объектом Cache, выставлял какие-то параметры и передавал управление в метод, который тоже работает с кешем. Появилась возможность обмениваться тикетами.
Реализация для PHP, кеш ориентирован на хранение и извлечение данных из файловой системы: code.google.com/p/ewgra/source/browse/#svn/trunk/cache
Это решило проблемы конфликтов при кешировании, когда кто-то начал работать с объектом Cache, выставлял какие-то параметры и передавал управление в метод, который тоже работает с кешем. Появилась возможность обмениваться тикетами.
Реализация для PHP, кеш ориентирован на хранение и извлечение данных из файловой системы: code.google.com/p/ewgra/source/browse/#svn/trunk/cache
+5
Домашний сервер: медиацентр
3 min
37KТ.к. на домашнем сервере хранится файловый архив (видео, музыка, фотографии), захотелось
реализовать медиацентр для просмотра содержимого с помощью телевизора/монитора прямо с
сервера.
реализовать медиацентр для просмотра содержимого с помощью телевизора/монитора прямо с
сервера.
+55
9 правил для начинающего Ajax-разработчика
2 min
1.4KTranslation
Эти девять правил несложны, никаких кусков кода — только общие советы начинающим Ajax-разработчикам. Крайне вольный перевод 9 AJAX Tips & Tricks.
+48
Растягивание кнопок в IE
2 min
1.6KКак-то всегда обходил эту проблему стороной, а теперь надоело. Суть в том что при большом размере кнопки IE растягивает свой «батон» превращая его в какое-то страшнейшее убожество:

Особенно обратите внимание на прелестные артефакты прозрачности по углам.
Какие есть выходы из этой ситуации?

Особенно обратите внимание на прелестные артефакты прозрачности по углам.
Какие есть выходы из этой ситуации?
+27
PHP класс для работы с Яндекс.XML
3 min
14K
Уже продолжительное время доступен сервис Яндекс.XML — сие есть не что иное, как поисковый сервис, который позволяет делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте и данный пост посвящен приручению сего зверя с использованием PHP.
+45
Детские мечты о width: 90%-20px;
2 min
763Вступление
Те, кто когда-то только-только начинали изучать CSS, особенно имея небольшой опыт программирования десктопных приложений на Delphi или VB, наверняка хотели иметь возможность использовать конструкции вроде left:30%+10;Потом все мы научились использовать margin, вложенные и плавающие блоки. Тем, кто всё-таки не прочь побаловаться, посвящается: JSCSS
+49
Мысли о разрешении экрана. Год спустя
2 min
3.9K
Ситуация закономерная и соответствует развитию рынка мониторов и стремлениям дизайнеров/разработчиков. Я уже размышлял над этим год назад. Так вот, год спустя, мои мысли приобрели немного другое направление.
+75
Программирование и математика
3 min
86KВ последнее время на Хабре появилось несколько постов на тему важности математики для программистов, выскажу и я свое мнение.
Не согласен с тем, что каждому программисту нужно фундаментальное математическое образование в объемах 5 университетских курсов. Оно не нужно в таком объеме большинству программистов, за исключением специалистов по вычислительным методам. Конечно же, изучение математики развивает мышление. Но есть и другие дисциплины, изучение которых развивает мышление и способствует формированию разносторонне развитой личности. Однако же, эти дисциплины не читают программистам в советских ВУЗах вообще, или читают только основы. Согласен, что математика в объемах первого курса университета (математического факультета) нужна как базис. Но учить программиста математике 5 лет именно как основной дисциплине — это неправильно.
В СССР, где были заложены принципы существующей по сей день программы обучения программистов на постсоветском пространстве, не понимали, что такое программирование и смотрели на него узко, как на специфический раздел математики. Отсюда и перекос в методике обучении программистов, когда 5 лет их учат именно математике, а собственно программированию уделяют мало внимания. Раньше программирование изучали вообще по остаточному принципу даже на программистских факультетах и специальностях (сужу по ПМПУ СПбГУ, как сейчас учат в ВУЗах я доподлинно не знаю, но вижу косвенно по уровню специалистов).
Не согласен с тем, что каждому программисту нужно фундаментальное математическое образование в объемах 5 университетских курсов. Оно не нужно в таком объеме большинству программистов, за исключением специалистов по вычислительным методам. Конечно же, изучение математики развивает мышление. Но есть и другие дисциплины, изучение которых развивает мышление и способствует формированию разносторонне развитой личности. Однако же, эти дисциплины не читают программистам в советских ВУЗах вообще, или читают только основы. Согласен, что математика в объемах первого курса университета (математического факультета) нужна как базис. Но учить программиста математике 5 лет именно как основной дисциплине — это неправильно.
В СССР, где были заложены принципы существующей по сей день программы обучения программистов на постсоветском пространстве, не понимали, что такое программирование и смотрели на него узко, как на специфический раздел математики. Отсюда и перекос в методике обучении программистов, когда 5 лет их учат именно математике, а собственно программированию уделяют мало внимания. Раньше программирование изучали вообще по остаточному принципу даже на программистских факультетах и специальностях (сужу по ПМПУ СПбГУ, как сейчас учат в ВУЗах я доподлинно не знаю, но вижу косвенно по уровню специалистов).
+65
Мифы SQL
2 min
6KМногие разработчики с немалым опытом разработки на любых императивных языках свято верят в то что SQL это тоже самое. Только синтаксис другой. После написания нескольких запросов для вытаскивания данных в свой сервер приложений начинают рождаться мифы о БД.
-4
Мифы SQL. Продолжение.
10 min
16KНедавно опубликованная на хабре статья Мифы SQL хабаролюдям понравилась. И многие попросили привести примеры почему все работает именно так и не иначе.
+10
Как сделать pda версию WordPress без плагинов
1 min
3.4KСуществует множество способов сделать pda версию блога, созданного на движке WordPress. Плагины и прочее… Но всё оно мне не подходило, так как настраивать в них какие-то функции или внешний вид — невозможно! Рыться в этом коде можно очень долго, а толку в итоге не будет.
+9
session_write_close() может стать твоим другом
1 min
14KОднажды я столкнулся с такой проблемой: на странице сайта с помощью PHP-скрипта выдавался пользователю видео-контент (подробнее в моей статье «flash-видео на веб-страницах и PHP»).
Скрипт, «отдающий» видео, работал долго (примерно столько же, сколько длился видео-ролик: мы установили контроль скорости скачивания согласно битрейту). Так вот, если в период просмотра видео вы открывали новый таб в браузере с другой страницей этого же сайта, возникала ошибка.
Ларчик открывался довольно просто. На сайте использовалась авторизация, основанная на стандартных PHP-сессиях. Так вот, когда сессия стартуется, сессионный файл блокируется, и до тех пока сессия не закроется и файл не разблокируется, никто не может открыть файл сессии. По умолчанию сессия закрывается при окончании работы скрипта. Мы добавили непосредственно перед выдачей видео-контента строку session_write_close() — вуаля, все заработало.
Поскольку совсем недавно товарищ пожаловался на точно такую же проблему и был рад полученной подсказке — я решил поделиться этим «хинтом» с хабралюдьми.
Скрипт, «отдающий» видео, работал долго (примерно столько же, сколько длился видео-ролик: мы установили контроль скорости скачивания согласно битрейту). Так вот, если в период просмотра видео вы открывали новый таб в браузере с другой страницей этого же сайта, возникала ошибка.
Ларчик открывался довольно просто. На сайте использовалась авторизация, основанная на стандартных PHP-сессиях. Так вот, когда сессия стартуется, сессионный файл блокируется, и до тех пока сессия не закроется и файл не разблокируется, никто не может открыть файл сессии. По умолчанию сессия закрывается при окончании работы скрипта. Мы добавили непосредственно перед выдачей видео-контента строку session_write_close() — вуаля, все заработало.
Поскольку совсем недавно товарищ пожаловался на точно такую же проблему и был рад полученной подсказке — я решил поделиться этим «хинтом» с хабралюдьми.
+10
Как показать в виде страниц результат большой выборки
1 min
664Когда результатов выборки много обычно невозможно отобразить их все в виде страниц — показывают несколько первых и последних, а в середину «прыгнуть» или невозможно или для этого нужно вручную набивать номер нужной страницы.
Для решения этой проблемы придумал алгоритм логарифмической шкалы страниц (в примере используется 20 миллиардов условных результатов разбитых на 1 миллиард страниц):

online пример
Идеально подходит для сайтов с быстрорастущим количеством контента, т.к. избавляет от необходимости контролировать и применять меры для того чтобы полоска списка страниц не превысила разумные пределы.
P.S. К сожалению, алгоритм при создании не был документирован (писалось по наитию), поэтому по каким математическим принципам он работает я и сам уже плохо представляю :)
Для решения этой проблемы придумал алгоритм логарифмической шкалы страниц (в примере используется 20 миллиардов условных результатов разбитых на 1 миллиард страниц):

online пример
Идеально подходит для сайтов с быстрорастущим количеством контента, т.к. избавляет от необходимости контролировать и применять меры для того чтобы полоска списка страниц не превысила разумные пределы.
P.S. К сожалению, алгоритм при создании не был документирован (писалось по наитию), поэтому по каким математическим принципам он работает я и сам уже плохо представляю :)
+12
+9
Города России в именительном, предложном (местном) и родительном падеже.
1 min
8.7KПриняв во внимание все замечания из предыдущего поста с базой городов, мы обновили ее и добавили еще родительный падеж. Теперь база отвечает на вопрос «Откуда?». Например: Вася из Ярославля.
Скачать:
Автоматическая обработка: Jetfish
Вычитка и ручная корректировка Sofrus
Как и в прошлый раз, при желании, выражайте респект и уважуху им, а не мне. Я просто их прикрываю.
Скачать:
Автоматическая обработка: Jetfish
Вычитка и ручная корректировка Sofrus
Как и в прошлый раз, при желании, выражайте респект и уважуху им, а не мне. Я просто их прикрываю.
+95
Автоматические сноски
4 min
2.3K
Если вы используете цитаты из разных источников, будь то: сайт, книга или человек — то неплохо было бы указать источник этой информации в сноске.
Если выносить и оформлять сноски вручную, то это надоест даже самому настойчивому «писателю». Так что предлагаю Вам способ реализации сносок при помощи jQuery.
+8
Information
- Rating
- 9,109-th
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity