Показ дописів із міткою программирование. Показати всі дописи
Показ дописів із міткою программирование. Показати всі дописи

четвер, 6 березня 2014 р.

Строчка в день

Привет, фронтенд-разработчикам и не только!

Сегодня нашелся баг на одном старом проекте: при выборе одного из пунктов опросника на сайте, открытом в браузере Safari, данные не сохранялись по ajax сразу, а только после следующего клика.

Рывок первый. Ubuntu. Эта ОС стоит на моем рабочем компе. А Apple не удосужились разработать Safari под Linux, и тут у меня начались проблемы.

Рывок второй. Windows. Сначала я вспомнил о VirtualBox, на нем есть Windows, в которую можно впихнуть старую доморощенную версию Сафари (Эппл и под Винду не обновляет его уже). Пытаюсь запустить - а виртуалка ругается на неродное ядро. Пару месяцев назад я просто экспериментировал на 12.04 с ядром от 13.04, завелось хорошо, так и оставил. А нынче вышло родное обновление ядра, пришлось откатиться. При откате слетел Skype. Поставил заново. Кстати, Skype не рекомендую ставить

субота, 1 березня 2014 р.

Начало работы с PayPal на PHP

Привет, мой юный программист. Сегодня мы закрепим знания композера, вспомним работу с Git и еще я научу тебя слать запросы на палку. Таким образом, и повторим пройденный материал, и научимся чему-то полезному. Намеренно описано все очень поверхностно, чтоб ты учился гуглить.

Это не инструкция. Это всего лишь пара заметок к началу работы с PayPal API на языке программирования PHP.

Для легкого старта тебе придется:

четвер, 27 лютого 2014 р.

Composer

Привет, мои педантичные программисты, любящие идеальный код. Сегодня я кратко расскажу, что надо делать для начала работы с Composer, а также как завести программы с неймспейсами на PHP 5.2.

Composer — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Ты можешь описать, от каких библиотек зависит твой проект, и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть "пакетами" или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

понеділок, 20 січня 2014 р.

Запись скринкаста для гиков

Сегодня записывал скринкаст с помощью одного только ffmpeg на Ubuntu. Для тех, кто не в теме, screencast - это видеозапись твоего рабочего стола для визуальной передачи происходящего на твоем компьютере.

Если не установлено ffmpeg (почти у всех установлена, в этом и фишка), ставим командой: sudo apt-get install ffmpeg

Потом копипастим в консоль эту строчку:

неділя, 22 грудня 2013 р.

Программисты - убийцы котят

Как легко испортить мнение о себе, сделав добро одним необдуманным действием? Сегодня у меня получится очередная непонятная никому статья из жизни PHP-программиста.

Начну с признания: я правил ядро WordPress там, где можно обойтись фильтрами API. Ниже я объясню, как так получилось. Хочу заметить сразу, что я ненавижу делать подобные вещи и очень сильно и долго готов ругать каждого, кто таким занимается. Один кандидат, увидев в core.php тестового оплаченного задания по Elgg-проекту коммент /* Google says do this, but why? */ дописал строчкой ниже /* lol ) */ и закоммитил. Вместе с еще десятком правок удаления пустых строк и добавлением незначащих пробелов в файлах ядра. Я считаю это недопустимым неумением пользоваться прежде всего системами контроля версий и отсутствием желания разбираться с архитектурой любого проекта (в данном случае - целого движка).

Бывает, сидишь, долго думаешь, как обойтись без правки ядра, как сделать всё "правильно"... Радуешься, когда весь проект можно установить как независимый плагин или тему куда-угодно. А потом кто-то возьмет и зафигачит коммит со сложным функционалом в ядро. И всё, все эти часы переключения мозга на API потрачены безнадежно зря, проект больше не может приносить прежнего удовольствия, да его даже обновить нельзя без дополнительных проблем. Когда-то и я был молод и глуп. Это одна из причин, почему мой блог до сих пор на версии 2009 года со всеми её дырами и багами, спамится ботами и ничего с этим пока не могу сделать.

Вот и на одном реальном проекте кто-то до меня изменил в WordPress функцию get_avatar() прямо в ядре. Все apply_filters там выпилили и поставили жесткий return результата (вместо return apply_filters(...), что позволило бы обработать результат из своего плагина). И пришло задание немного исправить новые аватары, я обошелся одной строчкой в этой самой уже измененной функции. В силу столь малого размера коммита заказчик заметил это и выразил свое негодование.

[caption id="attachment_2386" align="aligncenter" width="461" caption="Каждый раз, когда ты ломаешь ядро, Бог убивает котёнка"]Каждый раз, когда ты ломаешь ядро, Бог убивает котёнка[/caption]

После этого я git'ом откатил все предыдущие правки файла в корне, нужный функционал переделал на фильтры API. Затем проделал то же самое со многими остальными измененными не мной файлами ядра. Что заказчик увидел дальше, не сложно догадаться: своим коммитом я нафигачил правок файлов ядра WordPress ровно столько, сколько все мои предшественники, вместе взятые (откат изменений выглядит так же, как и сами изменения). Кого он будет наблюдать всю оставшуюся жизнь проекта среди последних людей, правящих ядро? Кто будет считаться худшим программистом, не беспокоящимся о жизни котят? Будет ли он восхищаться результатами моей работы, как прежде? Теперь фраза "Please, think of the kittens!" у меня больше не вызывает улыбку, потому что я слышу ее от него чуть ли не по каждому новому заданию.

Пожалуйста, всегда думай о котятах. В случае с WordPress старайся изменять только то, что лежит в папке wp-content, чаще всего этого достаточно.

вівторок, 22 жовтня 2013 р.

Elgg

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

Общая информация


ELGG — это свободное (Open Source) программное обеспечение, доступное под лицензией GPL 2.0, платформа для построения социальных сетей любого уровня и назначения — от небольших интранет-порталов компаний, образовательных учреждений до открытых интернет-сообществ (система управления содержимым, CMS). Написан на PHP, использует JavaScript и Ajax-технологии. Для хранения информации использует в качестве хранилища базу данных MySQL.

субота, 31 серпня 2013 р.

Вакансия

Разместил на местном форуме вакансию для поиска программиста в свою компанию. И тут понеслась... Тролли налетели и давай расспрашивать: а почему так долго ищете? а где у вас офис? а как вы добились таких доходов? а вы по печенькам не кидаете? а выставьте фотографии офиса... Некоторые личности перешли на личности и ну спорить: "а это популярный сумский блогер вакансию выставил или непопулярный?" Не то, чтоб я к троллингу не готов был, но я был готов по крайней мере получать отдачу в виде большого количества резюмешек на мыло.

Что же я получил в итоге? Ответ удивляет даже меня: невзирая на десятки сообщений в топике (из них было даже пару вопросов по теме от вроде бы заинтересовавшихся людей), за два месяца я получил по сути два резюме программистов с примерами кода (что и требовалось), одного безрезюмейного человека, одного новичка в этой сфере, и двух... художников! Да и то скорее людей, которые просто любят рисовать в фотошопе или 3д-максе (не обижайтесь - у вас всё впереди, ребята).

Признаться, далеко не каждый человек

пʼятниця, 11 листопада 2011 р.

Разворачивание сокращенных ссылок из Твиттера

С появлением у Твиттера новой сокращалки ссылок t.co, меня, как соавтора Кросспостера из Твиттера во ВКонтакте, заспамили просьбами сделать развертывание этих ссылок, чтоб В Контакт публиковался чистый полный URL. Но я не видел в этом большой проблемы, пока супербезопасный ВКонтакте не начал считать все эти ссылки фишинговыми. Долго терпел, но теперь наконец набросал развертывание этих ссылок за каких-то минут пять.

Сперва хотел делать переход по ссылке, смотреть, куда переадресовывается. Но быстро откинул эту идею. Правильней же будет использовать API сокращалки. Но времени тратить на изучение ненужного в дальнейшем API не хотелось. К тому же у каждой сокращалки свой API, а не плохо было бы расшифровывать все сокращенные ссылки. Поэтому вместо сайта dev.twitter.com я полез в гугл и нашел

понеділок, 9 травня 2011 р.

О чём шепчут администраторам? WP Whisper 1.0

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

Теперь ближе к теме. Ты сталкивался когда-нибудь с комментариями, в которых основной смысл ограничивается упрёком автору в его орфографии или грамматике? Или вот пишешь ты коммент, долго пишешь, умный-заумный такой комментарий, чуть ли не на тома разбивать нужно. Потом отправляешь, не глядя... И уже сохраненное на сервере сообщение перечитываешь и понимаешь, что припустился ошибки или досадной опечатки. Бывало? И что тогда? Конечно проще забить, но я иногда, в особо нечитабельных случаях, пишу следующий комментарий, мол "автор, исправь то-то там-то, а этот коммент удали". А автора и след простыл. И висят оба коммента месяцами. А люди читают, спотыкаются: один коммент непонятен, другой - вовсе не информативный...

И тут приходит такой Kichrum и говорит: "Ребята! Ставьте в свои блоги мой плагин - и жить станет лучше!" В этой статье мы вместе напишем плагин для WordPress, обеспечивающий прямую связь с автором прямо через комментарии.

середа, 2 лютого 2011 р.

Twitter Widgets

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

За всю историю существования блога, я падал ниже этой планки дважды: всего по три новой записи в месяц я осилил в марте позапрошлого года и вот в прошлом месяце. Странно, ведь времени свободного было много, как никогда: почти две недели "зимних каникул". Таким образом, я доказал сам для себя, что если я ничем не нагружен насильно, моя продуктивность снижается ещё больше. Хотя, как и все люди, я откладываю некоторые дела на свободное время, в свободное время я их никогда не выполняю. Поэтому я и ненавижу выходные.

Чтоб как-то смягчить своё частое отсутствие на kichrum.org.ua, я поставил виджет, он выводил сюда последние три записи из моего Твиттера. Якобы "свежие новости моей жизни" или "кратко о главном". И вот на этих каникулах Твиттер заблокировал доступ к себе с моего сервера, от чего мои сайты потеряли возможность публиковать свежие статусы, которые брались через RSS, да и вообще работать с Twitter API.

субота, 15 січня 2011 р.

Магазин свободных цен WP FreePrice v1.0

Поздравляю всех со Старым Новым годом! Долго я думал, что бы такого подарить своему читателю в новогодние праздники. Уже и конкурс планировал с призами, и просто так подарки... Но решил как всегда не уходить глубоко в материальные ценности, а просто поделиться тем, чего и сам себе давно хотел. Этот релиз был назначен ещё на 31 декабря (к тому времени уже всё было готово), но отложился аж до сегодня, ведь то праздники, то сессия (завтра последний экзамен).

В общмем, я разработал свой первый плагин для WordPress, что уже событие. И конечно же, он не мог быть не связанным напрямую с деньгами. Такой уж я корыстный... Магазинов под эту блог-систему уже существует несметное количество: сложные и простые, платные и бесплатные, тонкие и толстые... Я же задумался о такой функции, которая и без того есть в любом современном WordPress - прикрепление файлов к материалам. Наверняка каждый блогер хоть раз сталкивался с этой функцией. Но прикреплять файлы при небольших бюджетах не так уж и выгодно - хостеры ведь берут денежку и за хранение файлов, и за скачивание их. Поэтому многие перешли на дурацкие depositfiles, ifolder и прочие, в ущерб своим пользователям, ради личной выгоды.

Я подумал: почему бы не попросить руки помощи напрямую у тех, ради кого всё это выкладывается  - у своих читателей? А может быть, даже полностью отказаться от всяких левых шопов и партнерок, где ты можешь быть забанен за просто-так без возврата средств? Ведь в твоих руках мощный инструмент - блог! С WordPress, как известно, можно сделать многое, но вот магазин свободных цен на этом движке - это точно новшество, не имеющее аналогов в интернете (по крайней мере я не нашел именно того, что мне надо).

пʼятниця, 24 грудня 2010 р.

Главное - начать

Как же сложно было приступить к диплому. Ведь уже четвертый курс... Ну как - "диплом" - громко сказано. Пока еще только бакалаврская работа. Очуметь - через полгода буду бакаравлыком! =) Ну, если голову не сломаю, конечно.

Так вот, еще полгода, а у меня полдиплома фактически готово (ну, я в это верю по крайней мере). Можно, конечно, было всё сделать как всегда в последнюю ночь. Но я решил попробовать растянуть удовольствие и приступил ещё летом, на протяжении трудовой практики.

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

понеділок, 13 грудня 2010 р.

Новые фичи моего блога и бесплатные бэклинки

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

Рекламная строчка конечно самая значительная среди нововведений, поэтому фактически ей я посвятил интервью с Тормозом и даже новую страницу - реклама в блоге.

Кстати, страницу о блоге я тоже подредактировал. До этого она была неизменна долгие годы - всё описание было в будущем времени, ведь тогда еще блога как такового и не было. Принципы написания статей дополнились несколькими новыми, предложенными Чернец Вадимом на конференции Publishing Expo – 2010. Я их и раньше придерживался, но они были никак не задокументированы. Правда я по-прежнему не буду вставлять мультимедиа в каждую статью и использовать ключевики.

А еще меня похвалили: был бы мой блог тематическим, он бы уже стал офигенно популярным. :P И ведь действительно, движение происходит, и только в положительную сторону: за 2010 год количество посещений моего сайта возросло в два раза, а с начала 2009-го - в 10 раз!

середа, 8 грудня 2010 р.

Тормоз: от черезжопия к миллиону

Постоянные читатели моего блога наверное заметили новую ненавязчивую деталь, появившуюся совсем недавно, - рекламную строчку. Впервые я увидел такой вид рекламы в блоге у своего "почти свояка" ;) - Белого Негра. Он хвастался, что ему, при его невысоких пузомерках, шлют SMSки, таким способом активно скупая рекламу.

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

Ради такого дела я даже съездил в Харьков и прикупил аттестат продавца WebMoney на свое имя (хотя сейчас это уже не нужно), установил рекламный движок Daos и начал ждать. А ждать пришлось не долго - в первый же день было выкуплено 5 рекламных строчек! Забавно, что первым покупателем рекламы в моем блоге стал сам автор сего продукта - обладатель неброского ника - Тормоз. Его блог и жизненные цели меня так впечатлили, что я решил взять у него интервью. И делаю это впервые для Kichrum's Blog! Он любезно согласился быть первопроходцем. В общем, не надо судить строго - первый блин, возможно, будет комом. Надеюсь, в комментариях начитаюсь замечаний и в следующий раз всё исправится.

Собственно, вот оно - интервью

неділя, 18 квітня 2010 р.

Об олимпиадах в занятое выходными время

Вот уже несколько недель не видел выходных. Причиной этому стало, видимо, внезапное наступление весны. Косвенно, но стало.

Видимо, традиция существует такая у всех – проявлять гиперактивность, как только снег тает, и прилетают птички с теплых краев. Такое ощущение, что где-то сидит человек, некий властелин, с которым все связаны невидимыми узлами. Он спит всю зиму, а только на весну просыпается и начинает всех напрягать. А эти «все» в свою очередь начинают напрягать своих «всех», и так далее по иерархии карьерных лестниц до самого низу.

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

пʼятниця, 19 березня 2010 р.

Массовое приглашение в группу ВКонтакте по любому запросу

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

Естественно, первым делом полез на специализированные форумы и всё такое, но не так в этой сфере оказалось всё просто и прозрачно. Наткнулся на деньгосдирательства, а всё, что бесплатно, просто не работает из-за частого изменения алгоритмов работы Вконтакта.

Сроки поджимали, а надо было сделать хоть что-то, работающее. UserAPI для групп до сих пор не существует, так что единственный способ, который я смог придумать - эмуляция действий человека. Писать свой браузер тоже не хотелось. Короче, результатом сего высокого полета моей мысли и лени стал простенький скрипт, написанный на JavaScript. Он банально приглашает всех пользователей, отображающихся на текущей странице результатов поиска.

середа, 6 травня 2009 р.

Программа из х/ф "Матрица"

Давно что-то я не писал в блоге разных наборов буржуйских букв, называемых исходными кодами программ. А программирую я последнее время довольно много, как для универа, так и для души. Чаще всего на С и JavaScript, но иногда и на PHP, C++, а недавно вообще разбирался в готовом коде программы на Java... Да и не зря же я поставил подсветку синтаксиса? Надо бы ею воспользоваться.

Если кто следит за твиттером, заметили этот пост, где я написал, что сделал прогу с символами, которые сыпятся, как в фильме "Матрица". Это было в перерыве между написанием отдельных функций для ОДЗ по теории алгоритмов. Как и большинство других моих программ, вышло скорей вредоносное приложение, чем полезное. И вредоносность Матрицы скорее не в том, что она очень глючная, а в том, что оторваться не возможно. :) Лично я запускаю временами и оставляю ее как заставку на экране. В принципе, желаемый эффект производит - я представляю себя офигенным хакером из Альфа-Центавра. Но стоит заметить, что сам фильм я ни разу так и не смотрел, поэтому любые сходства считать случайностью :)

В общем, вот код

вівторок, 6 січня 2009 р.

По вашим заявкам

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

Была идея выставить свой курсовик таким образом (379 строк непрокомментированного кода...) ;) Ведь я его уже сдал, в субботу, с чем меня, собственно, можно поздравлять! Мелкие подарки (ключи от автомобиля или квартиры где-то в центре, мобильники с инкрустацией от Сваровски, золотые монеты 15-го века), как дополнение к поздравлениям по этому поводу, уже можно(!) слать на мой домашний адрес.

И еще пару пунктов не по теме...

середа, 19 листопада 2008 р.

Приоткрытый семинар

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

Я выступал с краткой ознакомительной презентацией языка программирования PHP (всегда именуемого мной как "пы-хы-пы", но за время подготовки успел переучиться и теперь называю его "пи-эйч-пи", а так же CGI - "кги" -> "си-джи-ай").

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

пʼятниця, 26 вересня 2008 р.

Минздрав предупреждает...

Случай на программировании... Преподаватели тоже могут сходить с ума :)


Чтоб понять, в чем дело, читайте дальше...