Pull to refresh
21
0
Александр @Pyjamec

User

Send message

Программирование в PHP для командной строки

Reading time9 min
Views43K
Предисловие

Ubuntu предоставляет в комплекте с пакетом apache2 утилиты для включения\выключения виртуальных хостов и модулей. Однако, создание конфигов для виртуальных хостов отнимают дополнительное время. Поэтому, мне захотелось исправить этот недостаток. Можно было, конечно, сделать автоматические поддомены для апача, но я решил написать скрипт, который создает файлы конфигурации виртуальных хостов для апача, а так же, при необходимости, добавляет имя хоста в файл /etc/hosts. Я не очень хорошо пишу скрипты в bash'e, поэтому решил использовать PHP для моей довольно простой задачи, который я, к тому же, знаю довольно неплохо.
Итак, в этой статье мы сделаем сразу две полезных вещи: ознакомимся с операциями ввода\вывода командной строки в PHP и напишем скрипт, который совсем немного упростит нам жизнь.
Читать дальше →

Есть ли интернет на марсе или взгляд в будущее

Reading time2 min
Views21K
Пролог
Марс
На дворе 21xx год. На на Марсе живет уже более миллиарда человек. Нет, мы не научились сворачивать пространство, но сделали двигатели, разгоняющие практически до скорости света, и сегодня полет на ближайшую планету длится несколько часов. Жизнь бурлит, но есть проблемы с сетью. Давайте подумаем как их решить. Поэтому предлагаю всем помечтать и поразмышлять над необычной проблемой.

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

Вопросы по продвижению приложений для Android

Reading time5 min
Views9.9K
Недавно мой знакомый попросил меня ответить на несколько вопросов по продвижению приложений для Android. Мы договорлись, что я напишу пост. За последний год у меня сложилось определенное впечатление о работе на рынке Android Market. С удовольствием поделюсь своим мнением. Надеюсь, что мой опыт будет полезен разработчикам. Буду рад, если пост породит конструктивную дискуссию.
Читать дальше →

Рекомендации к стилю кода

Reading time9 min
Views174K

Правила языка Java


Мы следуем стандартным соглашениям по оформлению кода на Java. Мы добавили к ним некоторые правила:
  1. Исключения: никогда не перехватывайте и не игнорируйте их без объяснения.
  2. Исключения: не используйте обобщенные исключения, кроме кода в библиотеках, в корне стека.
  3. Финализаторы: не используйте их.
  4. Импорты: полностью уточняйте импорты.

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

Разбор задач Hacker Cup Qualification Round + перенос Facebook Hacker Cup Online Round I

Reading time5 min
Views5.2K
Facebook Hacker Cup 2011 проходит в 4 раунда — квалификационный, два онлайн раунда и финальный, в главном офисе.

Квалификационный раунд, анонсированный официально Хабром завершился успешно.
Результаты раунда говорят о 5846 игроках, прошедших в первый онлайн тур.
Участникам квалификационного раунда предлагалось 3 задачи, для прохождения достаточно было правильного решения любой из них.

А вот первый онлайн раунд, прервав ближе к завершению, перенесли из-за технических проблем минимум на неделю:
We've decided to push back the remaining subrounds of round 1 until we are sure that they can run smoothly. Updates will follow here, but you can safely assume that the subrounds will not occur at least until next weekend.
image
Читать разбор задач Facebook Hacker Cup 2011 Qualification Round

Модели жизненного цикла программного обеспечения

Reading time3 min
Views500K
Здравствуйте, уважаемые хабровчане! Думаю будет кому-то интересно вспомнить какие модели разработки, внедрения и использования программного обеспечения существовали ранее, какие модели в основном используются сейчас, зачем и что это собственно такое. В этом и будет заключаться моя небольшая тема.
Читать дальше →

Автоответчик на звонки в Skype на Python

Reading time4 min
Views11K
Привет! Данный топик будет посвящен написанию автоответчика для Skype, который будет принимать за вас звонки, проигрывать приветствие и записывать ответ.
Читать дальше →

Автоматический контроль структуры класса

Reading time4 min
Views5K
imageУ каждой компании есть свой стандарт оформления кода и важно придерживаться его. Встроенные в IDE форматеры кода решают это задачу частично, так как они в основном позволяют лишь добиться простого выравнивая кода. Помимо этого хочется еще и порядка в последовательности объявления как полей, методов, так и вложенных классов. Причин, по которым код-стандарт не соблюдается масса: программист перед отправкой кода в репозиторий может не заметить отклонение от стандарта; новый разработчик недостаточно внимательно прочитал документ; в погоне за хот фиксом о формате забыли; либо из-за банальной усталости или лени программиста; автоматического рефакторинга и так далее. Регулярный код-ревью не решает суть проблемы, так как занимает слишком много времени и тормозит разработку — нужна автоматизация проверки соответствия кода в момент его написания!

Частые проблемы:
  • конструктор неожиданно появляется в середине класса;
  • внутренний класс объявлен где-то в середине внешнего класса;
  • абстрактный метод объявлен где-то в середине большого абстрактного класса;
  • @Autowired метод тоже расположен где угодно но только не на самом видном месте;
  • статические билдер методы разбросаны по коду класса;
  • поле класса затерялось где-то между внутренним классом и методами.

Надоело такое терпеть в коде?
Читать дальше →

Откуда идут «функциональные» корни Python

Reading time3 min
Views4.4K
Я никогда не полагал, что Python попадет под влияние функциональных языков, независимо от того что люди говорят или думают. Я знаком с императивными языками, такими как C и Algol68 и хотя я сделал функции объектами «первого класса», я не рассматривал Python как язык функционального программирования. Однако, было ясно, что пользователи хотят больше от списков и функций.
Читать дальше →

Устранение Хвостовой рекурсии

Reading time6 min
Views13K
Я недавно написал в своем блоге Python History пост «The origins of Python's functional features» (перевод). Упоминание о том, что Python не поддерживает хвостовую рекурсию (TRE) сразу спровоцировало несколько комментариев о том, как жаль, что Python не поддерживает данную оптимизацию. Появились ссылки на недавние записи в других блогах о том, что TRE может быть добавлена в Python легко. Позвольте мне защитить свою позицию — я не хочу добавлять TRE в язык. Если Вы хотите короткий ответ, это просто unpythonic.

Вот длинный ответ.
Читать дальше →

Стандарт разработки приложений под Android

Reading time3 min
Views18K
Разработчик Андроида сталкивается с большим количеством файлов и ресурсов предназначенных для разных частей программы. Даже он сам через месяц не может вспомнить, какой файл или ресурс к чему относится.
Предлагаемый ниже материал основан на моем опыте разработок многих проектов для Андроида и опробован уже в нескольких проектах. В результате простых правил нагромождение файлов и ресурсов превращается в удобочитаемый проект, экономит время и нервы. Особенно оказалось удобным при работе в команде, когда к проекту могут присоединяться новые программисты. В Eclipse вы легко находите любые ресурсы, поскольку они становятся уникальными, легко находимыми и сортируются в понятном порядке в любых списках. Общие удобные правила позволяют легко читать чужой код и находить нужные ресурсы.

Большинство из указанного является моими личным мнением.

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

Успешный опыт создания нового бизнеса

Reading time3 min
Views4.3K
На Хабре присутствует много постов на темы «как начать свой бизнес», «где снять офис», «сколько я потратил на оформление» и т.д. Очень печально, что многие из этих статей заканчиваются словами надежды, что через полгода-год я опишу, что получилось, а что нет. Спустя полгода-год не так много пользователей в итоге могут описать, что получилось, ведь не многим удалось добиться успеха, а свои ошибки мы не любим освещать.

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

Кто там про трёхмерное порно спрашивал?

Reading time1 min
Views4.6K

– Мы начали съемки в 3D ещё прошлым летом. Уже инвестированы большие средства в производство 3D продукции высокого качества. Marc Bell, CEO of Penthouse

Ну вот и дождались. Будущее почти наступило. Если быть более точным, то НАСТУПИТ уже во втором квартале этого года, когда Пентхаус запустит первый трёхмерный порноканал*. Вот такие новости, ребята!

Пруфы тут.

* – Тут надо сделать небольшое уточнение. Дело не в том, что именно порно теперь будет в т.н. 3D (это уже давно было на DVD), а в том, что появится первый ТЕЛЕКАНАЛ в т.н. 3D. А там уж, наверное, и про птичек и зверюшек появятся.

P.S. Да, перед вами ещё один долго-думал-в-какой-блог-публиковать.

Мой подход к проектированию веб-сайтов

Reading time4 min
Views42K

Прелюдия


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

В рамках данной статьи я поделюсь своим опытом проектирования сайтов средней сложности. Данный подход зарекомендовал себя понятным как разработчикам, так и клиентам. Я не собираюсь открывать Америку, представленные ниже инструменты всем прекрасно знакомы. Суть данной статьи как раз в том, что бы продемонстрировать насколько просто можно представить достаточно сложные задачи.

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

Инженер-программист и математик — лучшие профессии 2011 года в США

Reading time2 min
Views14K
Национальный портал по поиску работы CareerCast опубликовал рейтинг 200 лучших и худших профессий на начало 2011 года. Список составлен на основании официальной статистики и экспертных оценок различных факторов, включая физические и эмоциональные условия окружения, физические усилия, стресс, среднюю зарплату и перспективы безработицы (методология).

В 30-ку лучших впервые вошло так много «компьютерных» профессий: разработчик ПО (1-е место), аналитик компьютерных систем (5-е место), технический писатель (26-е место) и компьютерный программист / кодер (28-е место).
Читать дальше →

Реализация XMPP Publish/Subscribe посредством Twisted

Reading time6 min
Views4K
Доброго времени суток! В данной статье я расскажу о том, как сделать базовую реализацию publish/subscribe с помощью протокола XMPP, используя Twisted и библиотеку Wokkel. XMPP поддерживает pub/sub благодаря расширению XEP-0060. Используя pub/sub, можно решить задачу уведомления всех участников о событии и множество других. Достоверно известно, что Apple использует основанный на Wokkel'е pub/sub внутри своего notification server'a, но об этом чуть позже.
Читать дальше →

N+1 полезных книг о бизнесе

Reading time9 min
Views231K
В топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.

Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.

В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.

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

Пишем своё первое приложение на Android

Reading time10 min
Views1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →

Python-way. Работа над ошибками

Reading time3 min
Views19K

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

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

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

Java Bytecode Fundamentals

Reading time6 min
Views64K
Разработчики приложений на Java обычно не нуждаются в знании о байт-коде, выполняющемся в виртуальной машине, однако тем, кто занимается разработкой современных фреймворков, компиляторов или даже инструментов Java может понадобиться понимание байт-кода и, возможно, даже понимание того, как его использовать в своих целях. Несмотря на то, что специальные библиотеки типа ASM, cglib, Javassist помогают в использовании байт-кода, необходимо понимание основ для того, чтобы использовать эти библиотеки эффективно.
В статье описаны самые основы, от которых можно отталкиваться в дальнейшем раскапывании данной темы (прим. пер.).
Читать дальше →

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity