Search
Write a publication
Pull to refresh
92
0
Сергей @SkyManPHP

User

Send message

10 вещей, которые никогда не преподаются программистам в вузах

Reading time2 min
Views9.8K
10 вещей, которые никогда не преподаются программистам в вузах.

1. Мы не правы


Программисты зачастую имеют большое эго. Поэтому часто бывает трудно осознать, что мы не правы в чем-то. Я видел много споров относительно архитектуры проектов, где разработчики расхваливают свои идеи. Но, предположим, что мы все неправы. И отличаемся только в степени своих заблуждений.
Очень важно осознать и принять этот факт только один раз и мы будем открыты, чтобы выслушать других и использовать свои идеи, чтобы создать лучшее решение.

далее

8 полезных приёмов для базы данных WordPress

Reading time6 min
Views6.9K
Надо отдать должное WordPress. Это действительно потрясающая система для построения блогов и даже полноценных сайтов. Симпатичная и логичная админка (особенно в версиях 2.7 и выше, вкусняшка), немалое количество достаточно качественных шаблонов… да и вообще всё очень приятно и относительно просто. Хочу воздать этой системе должное и сделать для её пользователей что-нибудь полезное.

За последние 10 лет MySQL стала невероятно популярна в сети. Каждый блог WordPress имеет в своей основе именно базу MySQL, в которой хранятся все ваши записи, настройки, комментарии и многое другое.

Хотя плагины и даже, так называемые, хаки (предпочитаю «вставки кода») могут решить некоторые задачи, иногда у вас нет иного выбора, кроме как вводить SQL-запросы в phpMyAdmin или напрямую в базу через SSH. Так что давайте посмотрим на 8 полезных приёмов для базы данных WordPress.
Читать дальше →

Список из 30 Open Source плафторм для интернет магазина

Reading time1 min
Views6K
Приведу вам список из 30 Open Source плафторм для интернет магазинов. Естественно, не претендую на полноту охвата, но этот список включет почти все «движки» что я смотрел и точно все что я использовал для небольших интернет магазинов.
Все приведенные платформы с открытым кодом, но распространяются под разными лицензиями (OSL 3.0, GPL v3, BSD и т.д).

много ссылок

И снова про robots.txt для WordPress (шпаргалка начинающим)

Reading time3 min
Views5.6K
Перед каждым блогером (продвинутым, да) рано или поздно встает вопрос: «Чего бы такого написать в robots.txt, чтобы было все в шоколаде?»

Совершенно естественно встал данный вопрос и передо мной, а написать хотелось грамотно и с пользой. Полез гуглить и все что нашел, были неуклюжие примеры robots.txt стянутые с официального сайта, которые некоторыми авторами выдавались за собственные поделки, продиктованные редкой музой веб-строительства.

Думаю не стоит и говорить, что такие примеры слабо подходили под наши с вами реалии (читай ПС Яндекс — прим. автора).

Поэтому собрав воедино всю информацию найденную в сети, а также собственные мысли и понимание того «как должно быть» написал следующий вариант.
Читать дальше →

Позвольте мне быть не православным

Reading time2 min
Views2.3K
Накипело.

Те, кто знаком со мной достаточно хорошо, знают мои религиозные взгляды. Точнее, нерилигиозные. Тем не менее, я каждый год слышу: «Христос воскресе». Кто это? Слышал, что это молодой еврей, которого убили, но он воскрес. Ну что ж, мне эта история совсем не близка, так что могу только порадоваться за человека — молодец, говорю, что воскрес. После этого на меня направляются лучи, так сказать, поноса.

Почему? Почему меня надо поздравлять с Пасхой? Почему мусульманам не приходит в голову в сентябре говорить всем «Ид мубарак!» и обижаться на закономерное «Чооо? о_О»? Почему моих знакомых с восточной внешностью не достают Пасхой и Рождеством? Почему они заслужили, а я нет? Я тоже так хочу. В солярий чтоли пойти? Почему меня не поздравляют с днём катальщика валенков? Да потому что я не катаю валенки! А почему меня поздравляют с православным праздником?

Ребята, это ваша фишка, не моя, я в эти игры не играю. Верите? Верьте, дело ваше. У вас есть право на веру. У меня есть право на отсутствие веры. Я не считаю, что любой нормальный человек должен ответить «воистину воскресе». Так, наверное, должен ответить любой нормальный православный человек. Я не православный.

Друзья, этот пароль-отзыв, да простите мне это сравнение, — это ведь не просто ритуальное механическое действие. Это ведь поздравление, обмен радостью с тем, кто тоже радуется, с тем, кто тоже верит. Неужели вы не понимаете, что христосвоскресивание не по адресу (причём с осознанием того, что идём мимо кассы) обесценивает эти слова? Это же создаёт только видимость религиозного единения. Зачем?

Разве это по-христиански — заставлять других думать, как ты? Заставлять других радоваться тому, чем радуешься ты.
Еще раз: я — не православный. Вы это знаете. И не обижайтесь, если на православный пароль я отвечу неправославным отзывом. Я сделаю это из уважения к вере, потому что она не приемлет притворства, притворство веру убивает. Всё. Мир, дружба, жвачка. Давайте уважать взгляды друг друга.

Скажи аминьна!
Скажи алилуйа!

P. S. Надеюсь, никого не обидел прямотой. Но считаю необходимым напомнить о том, что наше государство — светское. По крайней мере мне хотелось бы, чтобы оно таковым было.
P. S. С радостью спрятал бы топик в блог Я негодую, чтобы не засорять общую ленту, но карма не отросла еще. Простите. UPD: Отросла, спасибо, перенёс.

Установка и настройка связки rtorrent+wtorrent в Debian

Reading time5 min
Views1.9K
На хабрахабре уже неоднократно осбуждалась проблема создания домашнего сервера. Соответственно, воспользовавшись поиском, Вы сможете без проблем найти несколько хороших статей по этой теме. Там Вы, в частности, узнаете, зачем это все нужно.
Но, к сожалению, ни одна из представленных в Интернете статей не раскрывает полностью проблему установки связки rtorrent+wtorrent в системе Debian (либо Ubuntu, что практически то же самое). Основная сложность состоит в нескольких очевидных и не очень «подводных камнях»:

— Debian содержит некоторые пакеты с устаревшими версиями библиотек, несовместимыми с последней версией rtorrent/libtorrent;
— существующие мануалы и howto содержат информацию лишь о том, как установить данную связку на сервер lighttpd, что не всегда удобно (например, у меня на домашнем сервере есть пара сайтов, которые лучше запускать под Apache);
— ни одно руководство не учитывает все тонкости установки.

Учитывая эти обстоятельства и было написано данное руководство в стиле «copy-paste», которое, надеюсь, поможет Вам в нелегком деле приручения rtorrent/wtorrent.
Читать дальше →

Исследуем Google Reader API

Reading time6 min
Views2.3K
Возникла необходимость сделать интерфейс к гуглоридеру, отличный от стандартного. Использование стандартного ajax reader api не удовлетворило из-за коммерческих ограничений. API, описанное во множестве импортных блогов отказывалось нормально работать, поэтому на вооружение было взято расширение firebug всеми любимого браузера. В результате получилась небольшая подборка полезных для работы с ридером URLов, которыми хочу поделиться с общественностью.

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

Для реализации взаимодействия клиентского ajax-интерфейса с google.com/reader/ будем использовать посредника на php+curl.
Читать дальше →

PHP class для Goo.gl

Reading time2 min
Views6.4K
image
И опять немного о Goo.gl. Листая хабр видел предложения на JS, но лично мне они не подходили. Сегодня случайно наткнутся на симпатичное для меня решения, коим и делюсь с общественностью…
Читать дальше →

Графики в GTK#

Reading time2 min
Views2.9K
У меня неоднократно возникала потребность строить в своих приложениях простые графики, но каждый раз под рукой не оказывалось подходящего инструмента. В этот раз я обнаружил библиотеку NPlot, которая показалась мне достаточно удобной.
Читать дальше →

Изменения Jscript и DOM в IE9 preview 3

Reading time6 min
Views696
image

ECMAScript 5 и JScript


Наибольшей новостью является та, что IE9pre3 имеет (почти) полную поддержку ES5. Под «полной поддержкой» подразумевается то, что уже сейчас включено большинство нового API, такого как, например, Object.create, Object.defineProperty, String.prototype.trim, Array.isArray, Date.now и много других дополнений. На сегодняшнее время IE9 поддерживает наибольшее количество методов, даже большее, чем последние версии Chrome, Safari и Firefox. Невероятно, не правда ли? :)
Читать дальше →

Генерация XLS файлов

Reading time3 min
Views4.3K
Начальство заставило генерировать XLS файлы отчетов (выгрузка заказов, заказанных товаров, сводка по покупателям и т.д.). С генерацией обычного текста (CSV формат, ";" — разделитель) проблем не было. Но вот MAC OS начальства в упор не хотела понимать того, что ей пытались втюхать. Выход — генерировать другой формат. Я бы на html или xml становился, но одним из требований были «красивые шрифты и цветные заливки ячеек». Вообщем без экселя никуда.

Справедливости ради надо сказать, что генерацию именно экселевского формата я нашел достаточно быстро: и на хабре (http://habrahabr.ru/blogs/php/18726/) и на OpenNET (http://www.opennet.ru/base/dev/php_gen_excel.txt.html).Созданные XLS файлы прекрасно открывались на 3-х тестируемых осях (mac,win,ubuntu).
Читать дальше →

Определение терминов в договоре на разработку сайта

Reading time4 min
Views4.8K
В процессе взаимодействия веб-студии с клиентом часто возникают ситуации, когда от понимания и трактовки технических терминов зависят важные вопросы в рамках проекта. Для работников студии определения большинства терминов, которыми приходится оперировать в разговорах с клиентом, кажутся очевидными, и порой кажется, что клиенту, заказывающему сайт, это должно быть не менее очевидно. Однако в жизни клиент может не знать определений вообще (просто использовать слова не понимая их смысла), трактовать их по-своему, или (особенно в случае споров) использовать трактовку из первого попавшегося источника, включая любого доступного человека, который по мнению клиента «тоже понимает».

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

Здесь привожу цитату части нашего договора, где определяются технические и производственные термины, используемые в процессе разработки сайта (в тексте договора и технического задания в частности). Надеюсь кому-то это сможет быть полезно, критика и альтернативные мнения только приветствуются.

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

Многабукафф для GMail'а

Reading time1 min
Views552
image Началось с того, что некоторые сообщения, приходящие из списка рассылки по subscribe.ru (да-да, я знаю, что давно пора перейти на RSS), показывались через интерфейс гуглопочты обрезанными. При том, если смотреть через IMAP или POP3 или исходник сообщения с того же гугл интерфейса — то все ок — письмо целое.

В ФАКе написано, что когда письмо обрезано, то внизу письма можно нажать на кнопку «Посмотреть сообщение полностью», но такой опции нет почему-то, по крайней мере у меня. А у вас?

Насколько я понял из вышеприведенного ответа — это делается намеренно, дабы сообщение отображалось быстро. Но зачем мне быстрозагруженное, но обрезанное сообщение? Сделали бы динамическую подгрузку. Не мне, конечно, их учить, но все же…

Узнал, что в веб-интерфейсе гуглопочты применяются вот такие ограничения:
102kb plaintext'а
51 страниц
102369 символов
(upd.: 56769 символов — проверил)
30 цепочек писем.

Странные лимиты. Я их полностью не проверял, но попробуйте сами себе написать длинное письмо. Тупо обрезает и даже не извиняется. :)

Я верю, что у кого-то из хабрасообщества возникали подобные вопросы, может, кто-то объяснит?
Или таки я что-то недопонял? Ведь это как-то даже не похоже на Гугл.

А вам хватит 32766 в Opera?

Reading time1 min
Views417
Оказывается, Опера не умеет работать с элементами размером больше 32766.

Для справки, 32766 — это наибольшее знаковое 16-битное число (32767) минус единица. Вспомнилась адресация видео памяти в zx-spectrume, эти poke и peek....

Опера хранит значения этих величин (height, width, etc...) как 16-ти битные числа. И, видимо, значения больше 32767 обрабатываются как отрицательные. А спецификация CSS1 же гласит, что значения ширин и высот не должны быть меньше 0. Кстати, более поздние версии спецификаций ничего об этом не говорят.

Но как бы там ни было, тот факт, что Опера не поддерживает эллементы с величинами больше 32766px не есть хорошо и им это следовало бы пофиксить.

Увидел и перевел (вольный перевод) вот отсюда.
Там, кстати еще говорится, что это ограничение в Опере влияет на anythingSlider.

Несколько терминальных подключений WindowsXP

Reading time5 min
Views5.5K
image
Поскольку часто приходится подключаться к удаленным машинам, и нужно, чтобы пользователи продолжали дальше работать на своих компьютерах, стало необходимо сделать так, чтобы одновременные терминальные сессии были возможны для Винды.

Началось, как всегда с гугления, но результаты давали или ЕХЕшник с трояном, или какой-то мудренный способ.
Верю, что где-то в просторах Сети есть таки нужное решение, но почему бы самому не создать велосипед программу, которая активирует сабжевые возможности Винды, из которой была беспощадно убрана поддержка этой замечательной фичи?
Читать дальше →

запрос состояния счёта для украинского провайдера life:)

Reading time1 min
Views799
Недавно life:) открыл «портал» my.life.com.ua, самым полезной функцией которого, как мне показалось, является возможность узнать состояние счёта.

Ну и я быстренько на-curl-ил:
Читать дальше →

Лечение битых файлов, закачки и докачки

Reading time7 min
Views6.9K
В этом топике вы узнаете как:
  • восстановить повреждённую закачку, даже если файла нет в торрентах и других источниках, что содержат хеш его фрагментов;
  • скачать файл с докачкой, даже если она не поддерживается сервером;
  • докачивать, если сервер не даёт прямых ссылок, отдавая файл с разных адресов (но отдаёт Partial Content).

Нынче наткнулся на топик «Торрент vs. 64 кбит/с» и увидел проблему с которой сам неделю назад столкнулся.

Довольно долго, дней 10 (с перерывами), качал 3,5 Гб ISO образ на своём 100 Кбит/с. И этот самый образ повредился при скачивании. Попытался поискать это дело в торрентах и воспользоваться методом, описанным в вышеупомянутом топике — раньше я уже так восстанавливал файлы. Но файла там не оказалось (да и на ресурс откуда я скачивал он попал всего-то пару недель назад). Дабы меня не начали пинать за пиратство, сразу скажу что качал Visual Studio 2008 Professional SP1 RUS с Dreamspark.

Так вот, ждать ещё 10 дней не хотелось, как и производить особо много ручной работы, в результате чего родился скрипт, который и выполнил весь этот грязный процесс…
Читать дальше →

О неадекватности отбора программистов

Reading time5 min
Views23K
В ближайшее время мне вновь предстоит озаботиться поиском рабочего места, в связи с чем я вспоминаю свой драматический опыт трудоустройства и прочитанное насчёт собеседований на должность программиста. В частности, удручающее впечатление на меня произвела статья Алексея Колупаева «Нехитрый вопрос на собеседовании или как не попадают в стартапы».

Автор позиционирует себя как безусловного эксперта в подборе программистского персонала, иллюстрируя это разбором реальных и гипотетических ответов на одну даваемую им на собеседованиях задачку: составить PHP-скрипт, переставляющий в произвольной строке символы в обратном порядке. В конце он пишет:

«Уверяю вас — пользуясь этой задачкой (и, конечно, еще многими другими) я ещё ни разу серьёзно не ошибся с кандидатом. Ведь формальное знание PHP в кандидате — поверьте, далеко не главное. Значительно важнее — отношение к своему занятию, стремление к развитию, способность играть в команде, видение мира, если угодно. Мне гораздо интереснее, как человек решает задачу, чем её фактическое решение».


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

Information

Rating
Does not participate
Location
Украина
Registered
Activity