Search
Write a publication
Pull to refresh
99
0
Дима Семьюшкин @Devgru

Веб-разработчик

Send message

SSH для частого использования

Reading time2 min
Views69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →

Метапрограммирование в C++

Reading time5 min
Views42K
Метапрограммирование — это «программирование программ», то есть написание некой промежуточной программы, результатом которой будет некая часть другой программы. Самый простой пример метапрограммирования — это шаблоны C++. Вместо написания десяти одинаковых функций для разных типов, мы пишем шаблон, и компилятор сам соберет нам эти десять функций.
Читать дальше →

Правила личной эффективности от ЭД

Reading time21 min
Views66K
Заранее предупреждаю и извиняюсь, но оно того стоит: букаф многа.

Введение

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

В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.

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

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

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

jQuery для начинающих

Reading time9 min
Views515K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

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

Выдаем тикеты при кешировании

Reading time1 min
Views708
Системы кеширования, с которыми я сталкивался, разработаны по принципу: задай объекту Cache параметры кеширования и работай с объектом Cache. До определенного времени меня устраивала подобная работа с кешем. Однако время не стоит на месте и однажды мне понадобился более удобный способ работы с кешем. В итоге появилась собственная реализация, основанная на тикетах. Суть ее состоит в том, что надо у объекта Cache запрашивать тикет, у тикета уже выставлять параметры (ключ, префикс и т.п.), и тикет должен уметь сохранять данные и извлекать их из кеша.
Это решило проблемы конфликтов при кешировании, когда кто-то начал работать с объектом Cache, выставлял какие-то параметры и передавал управление в метод, который тоже работает с кешем. Появилась возможность обмениваться тикетами.

Реализация для PHP, кеш ориентирован на хранение и извлечение данных из файловой системы: code.google.com/p/ewgra/source/browse/#svn/trunk/cache

Домашний сервер: медиацентр

Reading time3 min
Views37K
Т.к. на домашнем сервере хранится файловый архив (видео, музыка, фотографии), захотелось
реализовать медиацентр для просмотра содержимого с помощью телевизора/монитора прямо с
сервера.
Читать дальше →

Растягивание кнопок в IE

Reading time2 min
Views1.6K
Как-то всегда обходил эту проблему стороной, а теперь надоело. Суть в том что при большом размере кнопки IE растягивает свой «батон» превращая его в какое-то страшнейшее убожество:



Особенно обратите внимание на прелестные артефакты прозрачности по углам.

Какие есть выходы из этой ситуации?
Дальше поподробнее

PHP класс для работы с Яндекс.XML

Reading time3 min
Views14K


Уже продолжительное время доступен сервис Яндекс.XML — сие есть не что иное, как поисковый сервис, который позволяет делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте и данный пост посвящен приручению сего зверя с использованием PHP.
Читать дальше →

Детские мечты о width: 90%-20px;

Reading time2 min
Views763

Вступление

Те, кто когда-то только-только начинали изучать CSS, особенно имея небольшой опыт программирования десктопных приложений на Delphi или VB, наверняка хотели иметь возможность использовать конструкции вроде left:30%+10;
Потом все мы научились использовать margin, вложенные и плавающие блоки. Тем, кто всё-таки не прочь побаловаться, посвящается: JSCSS
Читать дальше →

Мысли о разрешении экрана. Год спустя

Reading time2 min
Views3.9K
В последнее время при разработке сайтов все меньше и меньше учитывается разрешение 800х600, что само по себе не удивительно, если взглянуть на статистику. Соответственно либо сайты оптимизированы под 1024х768 и выше, либо они «резиновые», что встречается в реже.

Ситуация закономерная и соответствует развитию рынка мониторов и стремлениям дизайнеров/разработчиков. Я уже размышлял над этим год назад. Так вот, год спустя, мои мысли приобрели немного другое направление.
Читать дальше →

Программирование и математика

Reading time3 min
Views86K
В последнее время на Хабре появилось несколько постов на тему важности математики для программистов, выскажу и я свое мнение.
Не согласен с тем, что каждому программисту нужно фундаментальное математическое образование в объемах 5 университетских курсов. Оно не нужно в таком объеме большинству программистов, за исключением специалистов по вычислительным методам. Конечно же, изучение математики развивает мышление. Но есть и другие дисциплины, изучение которых развивает мышление и способствует формированию разносторонне развитой личности. Однако же, эти дисциплины не читают программистам в советских ВУЗах вообще, или читают только основы. Согласен, что математика в объемах первого курса университета (математического факультета) нужна как базис. Но учить программиста математике 5 лет именно как основной дисциплине — это неправильно.
В СССР, где были заложены принципы существующей по сей день программы обучения программистов на постсоветском пространстве, не понимали, что такое программирование и смотрели на него узко, как на специфический раздел математики. Отсюда и перекос в методике обучении программистов, когда 5 лет их учат именно математике, а собственно программированию уделяют мало внимания. Раньше программирование изучали вообще по остаточному принципу даже на программистских факультетах и специальностях (сужу по ПМПУ СПбГУ, как сейчас учат в ВУЗах я доподлинно не знаю, но вижу косвенно по уровню специалистов).
Читать дальше →

Мифы SQL

Reading time2 min
Views6K
Многие разработчики с немалым опытом разработки на любых императивных языках свято верят в то что SQL это тоже самое. Только синтаксис другой. После написания нескольких запросов для вытаскивания данных в свой сервер приложений начинают рождаться мифы о БД.
читать дальше

Как сделать pda версию WordPress без плагинов

Reading time1 min
Views3.4K
Существует множество способов сделать pda версию блога, созданного на движке WordPress. Плагины и прочее… Но всё оно мне не подходило, так как настраивать в них какие-то функции или внешний вид — невозможно! Рыться в этом коде можно очень долго, а толку в итоге не будет.

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

session_write_close() может стать твоим другом

Reading time1 min
Views14K
Однажды я столкнулся с такой проблемой: на странице сайта с помощью PHP-скрипта выдавался пользователю видео-контент (подробнее в моей статье «flash-видео на веб-страницах и PHP»).

Скрипт, «отдающий» видео, работал долго (примерно столько же, сколько длился видео-ролик: мы установили контроль скорости скачивания согласно битрейту). Так вот, если в период просмотра видео вы открывали новый таб в браузере с другой страницей этого же сайта, возникала ошибка.

Ларчик открывался довольно просто. На сайте использовалась авторизация, основанная на стандартных PHP-сессиях. Так вот, когда сессия стартуется, сессионный файл блокируется, и до тех пока сессия не закроется и файл не разблокируется, никто не может открыть файл сессии. По умолчанию сессия закрывается при окончании работы скрипта. Мы добавили непосредственно перед выдачей видео-контента строку session_write_close() — вуаля, все заработало.

Поскольку совсем недавно товарищ пожаловался на точно такую же проблему и был рад полученной подсказке — я решил поделиться этим «хинтом» с хабралюдьми.

Как показать в виде страниц результат большой выборки

Reading time1 min
Views664
Когда результатов выборки много обычно невозможно отобразить их все в виде страниц — показывают несколько первых и последних, а в середину «прыгнуть» или невозможно или для этого нужно вручную набивать номер нужной страницы.
Для решения этой проблемы придумал алгоритм логарифмической шкалы страниц (в примере используется 20 миллиардов условных результатов разбитых на 1 миллиард страниц):

online пример

Идеально подходит для сайтов с быстрорастущим количеством контента, т.к. избавляет от необходимости контролировать и применять меры для того чтобы полоска списка страниц не превысила разумные пределы.

P.S. К сожалению, алгоритм при создании не был документирован (писалось по наитию), поэтому по каким математическим принципам он работает я и сам уже плохо представляю :)

Города России в именительном, предложном (местном) и родительном падеже.

Reading time1 min
Views8.7K
Приняв во внимание все замечания из предыдущего поста с базой городов, мы обновили ее и добавили еще родительный падеж. Теперь база отвечает на вопрос «Откуда?». Например: Вася из Ярославля.

Скачать:
  1. CSV
  2. MySQL

Автоматическая обработка: Jetfish
Вычитка и ручная корректировка Sofrus

Как и в прошлый раз, при желании, выражайте респект и уважуху им, а не мне. Я просто их прикрываю.

Автоматические сноски

Reading time4 min
Views2.3K
automatic-footnotes

Если вы используете цитаты из разных источников, будь то: сайт, книга или человек — то неплохо было бы указать источник этой информации в сноске.

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

Information

Rating
9,109-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity