Рубрика «велосипед» - 13

imageИногда программисты изобретают свои «велосипеды», но действительно ли это плохо, особенно если творение не отличимо от оригинала, а автор получает бесценный опыт?

Эта история началась чуть более года назад с появлением у моей супруги современного смартфона. Она попросила найти пасьянс «Косынку», такой же как был когда-то на настольной Windows. Просмотрев десяток программ, я был неприятно удивлен — почте везде было неудобное управление, спорные картинки карт, море дополнительных наворотов вроде 250 пасьянсов в одном, установки фотографии на рубашку и блекджека с блудницами. В результате, выбрали один из более-менее годных вариантов и на какое-то время об этом забыли.
Пролетел год и я начал писать программы для мобильных. При этом ребром стал вопрос кросс-платформенности, отладки in-app покупок, подготовки контента под разные платформы. Была мысль сделать для пробы пера «Тетрис» или очередной калькулятор, но все же в качестве «велосипеда» я выбрал «Косынку». Идейным стрежнем проекта стало максимально точное повторение старого, доброго пасьянса из набора игр Windows.

Читать полностью »

Я люблю git. Я использую его во всех своих проектах. Поэтому я решил сделать веб-консоль для управления git-ом на PHP.
Управление GIT ом через веб консоль на PHP
Читать полностью »

Итак, однажды в голову пришла мысль, что было бы здорово получать уведомления от Nagios в skype.
Вкратце: используем Skype4Py, скриптом отправляем уведомления.
Жирный минус: skype не работает без иксов.
Плюс: уменьшение времени реакции на проблемы.

Интересно? Подробности под катом.
Читать полностью »

Хочу поделиться очередной реализацией паттерна ActiveRecord на Objective-C, а конкретно для iOS.

Когда только начинал использовать CoreData в iOS разработке, то уже тогда появлялись мысли о том, что это взаимодействие можно как-то упростить. Спустя некоторое время я познакомился с ActiveRecord из RubyOnRails, и тогда я понял чего мне не хватает.
Немного поискав на гитхабе нашел массу реализаций, но по разным причинам они мне не понравились. Одни написаны для CoreData, а мне она не нравится, в других нужно создавать таблицы руками, или писать raw sql-запросы. А в каких-то код был до неприличия ужасен, я и сам порой пишу не очень чисто, но огромный забор из вложенных if/switch/if/switch это чересчур.
В конце концов решил написать свой велосипед, без CoreData и без SQL для пользователя.
Главной причиной этой разработки был, есть и, надеюсь, будет — интерес к разработке.

Вот что из этого всего вышло.
А под катом небольшое описание возможностей и реализации (на самом деле много текста и кусков кода, резюме в самом конце статьи).
Читать полностью »

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

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

Социальный сервис Катушкин.ру — найди компанию для катания

Читать полностью »

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

По долгу службы мне постоянно приходится сталкиваться с различными инсталляциями bug и issue-трекеров (далее просто баг-трекеров) и среди них попадалось довольно много нестандартных решений. Что-то мне приходилось разворачивать самому, что-то я «подсмотрел» у клиентов, но поделиться наблюдениями было бы полезно.

Не баг трекер, а…

С этой темой я уже выступал на конференции SQADays, но для тех, кому лениво смотреть 18 минут видео, все будет кратко расписано в статье.

Читать полностью »

Предисловие


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

(много картинок)
Читать полностью »

Недавно мне задали вопрос: как бы я реализовал механизм виртуальных функций на языке C?

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

Краткое пояснение для тех, кто не знает, что такое виртуальные функции:
Виртуальная функция — это функция, которая может быть переопределена классом-наследником, для того чтобы тотЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js