Search
Write a publication
Pull to refresh
28
0
Александр Богданов @synchrone

User

Send message

Практические советы тем, кто хочет построить веб-сообщество ч.4

Reading time4 min
Views1.2K
Вот созрела и 4-ая часть моей статейки с советами стартаперам, основанной на примере развития своего проекта — сообщества автотуристов.

Предыдущие части: Часть 1, Часть 2 и Часть 3

Глава 10. Где же мои рекламодатели?

image

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

Tree.io: анти-правила стартапа

Reading time4 min
Views1.5K
Tree.ioВот прошло уже чуть более полгода с тех пор как мы решились взяться за свой стартап. Сейчас кажется прошла уже вечность — так много поменялось и произошло за это время. Все, вроде, получается как мы хотели, но есть одно «но» — если бы начали сейчас, со всем нашим опытом, мы бы сделали все совсем слегка по-другому.

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

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

Что же там?

Видео с HighLoad++: Bruce Momjian (PostgreSQL) — Building Global Teams Like Postgres

Reading time1 min
Views3.5K
Добрый день,

Готов еще один видеоролик из серии докладов на октябрьском HighLoad++:

Bruce Momjian (PostgreSQL) — Building Global Teams Like Postgres

Часть первая, (31:42): video.mail.ru/corp/morozova/16/27.html

Часть вторая: (27:43): video.mail.ru/corp/morozova/16/28.html

Часть третья: (23:04): video.mail.ru/corp/morozova/16/29.html

Часть четвертая: (23:55): video.mail.ru/corp/morozova/16/30.html

Уже выложенные на Хабр доклады

Хорошего просмотра!

Мы обязательно выложим доклады остальных участников — все будет хорошо:)

База всех населенных пунктов и регионов России

Reading time2 min
Views7.6K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
Читать дальше →

3 главные проблемы сайтов web-студий

Reading time3 min
Views15K
Не самая новая тема, не самые свежие идеи. Но, раз количество сайтов с подобными ошибками только растёт, мои советы могут быть вам полезны.

image

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

#1: Текст главной страницы


Надеюсь, не нужно объяснять, насколько важен для web-сайта хороший текст. Особенно, если сайт коммерческий. Но, в то же время, тексты 90% сайтов web-студий СНГ бесполезны. Почему я так считаю?

Давайте посмотрим на вопрос со стороны заказчика и будем предельно откровенны. Сколько студий «уже 10 лет на рынке web-разработки»? Сотни. В скольких студиях «работают только квалифицированные специалисты»? Во всех. У какой студии «самая качественная и расширяемая CMS»? У каждой.
Читать дальше →

Hg Init: Часть 5. Процесс слияния

Reading time4 min
Views41K
Это пятая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Иногда при слияниях возникают конфликты. Обычно их легко разрешить. В любом случае их надо разрешить, или у вас будет несколько «голов». А кому это нужно?

Часть 5. Процесс слияния




Обеспечение слаженной работы нескольких людей над одним и тем же кодом — это важная функция системы контроля версий.

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

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

Objective-C для C# разработчиков

Reading time5 min
Views20K
«Если единственный язык, который вы знаете — это Java или C#, я не думаю, что вы профессиональный программист — вы как молодой плотник, который пока работал только с одним видом дерева.»
Дядя Боб


Несколько месяцев назад я начал разрабатывать приложения для iPhone. Переключение с платформы .NET и C# на Cocoa и Objective-C проходило не без приключений, но было достаточно интересным и познавательным. Скоро мне предстоит помогать осваивать новую платформу и другим разработчикам нашей компании. Поэтому решил написать серию вводных заметок, которые, надеюсь, сделают этот переход более плавным.

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

Фильтры: смерть регуляркам и правильная валидация

Reading time2 min
Views26K
Фильтры данных впервые появились в PHP 5.0, и по какому-то стечению обстоятельств остались незамечеными большй частью кодеров. Наверное, это можно объяснить отсутствием чего-нибудь подобного в PHP4, а может просто мануал плохо читали. Я тоже узнал про них случайно… А ведь эта замечательная функция позволяет избавиться от запутаных, и подчас некорректных, регулярных выражений, при выполнении типичных задач.
Мануал по фильтрам находится здесь. Приведу только основную информацию и пару практичных примеров.
Читать дальше →

Онлайн-песочница с табами и файлами

Reading time1 min
Views1.2K
Для публикации примеров и задач на английской версии javascript.ru понадобилась песочница чуть помощнее чем jsfiddle/jsbin.

Написал, выложил бету на javascript.info/play/rus (сам сайт там пока полузакрыт).

Дополнительные возможности включают в себя:
  • Файлы
  • Табы
  • Хоткеи (пока кроме Opera)
  • Экспорт в zip
  • Сохранение с возможностью листать предыдущие ревизии
Задумывалось оно для простой цели — публикация примеров, задач, решений в удобном для просмотра онлайн и редактирования виде. Буду рад, если сгодится на что-то еще.

P.S. Кстати, в Харькове через неделю мастер-классы по javascript — javascript.ru/mk. Присоединяйтесь, коли будет интерес :).

Как выявить медленные SQL запросы?

Reading time2 min
Views93K
Это случалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Производительность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть причиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная способность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем должен.

Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
Узнать, как включить этот функционал

Yii 1.1.5

Reading time1 min
Views1.1K
Вышел релиз PHP-фреймворка Yii с номером1.1.5, который привнёс внушительное количество исправлений и доработок.

Самое вкусное:

CTypedMap.
— В профайлере теперь видно параметры SQL-запросов.
Массивы как параметры для действия контроллера.
Улучшения в консольных командах.
CClientScript теперь можно вызывать
цепочкой:

Yii::app()->clientScript->registerCoreScript(…)->registerScriptFile(…)->registerStyle(…);

— Добавлен CDbCriteria::index, при помощи которого можно получить результат запроса
массивом с значениями указанного поля в качестве ключей.
— Публикация ресурсов через симлинки (CAssetManager::linkAssets).
— Поддержка PhpUnit 3.5.0RC1 и выше.
— CActiveDataProvider теперь поддерживает составные ключи.
— yiic.bat под Windows теперь корректно работает, если путь к PHP содержит пробелы.
— Поддержка автозагрузки классов PHP5.3 из пространств имён.
— Поддержка темизации виджетов, выводящих представления через метод render.

Список всех изменений.
Инструкции по обновлению.
Пробуем и обновляемся

Алгоритм популярности пользователя на сайте — «Нестандартный подход к стандартным вещам»

Reading time3 min
Views6K
Все видели на сайтах систему рейтинга статей и материалов. Многие ее даже делали сами, но не каждый делал рейтинг людей на сайте.
В этой статье я поведаю как сделать качественную систему рейтинга для пользователей вашего ресурса.
Читать дальше →

Реализация паттерна Observer средствами PHP 5.3

Reading time3 min
Views11K
Прочитав недавно нововведения PHP 5.3, я обратил внимание на несколько интересных особенностей, скомпоновав которые можно получить реализацию шаблона проектирования Observer, гораздо красивее, чем имеющиеся в pear и symfony, причём вся реализация займёт всего несколько строк кода.
Читать дальше →

Алгоритм Флойда — Уоршелла

Reading time6 min
Views181K
Алгоритм Флойда — Уоршелла — алгоритм для нахождения кратчайших расстояний между всеми вершинами взвешенного графа без циклов с отрицательными весами с использованием метода динамического программирования. Это базовый алгоритм, так что тем кто его знает — можно дальше не читать.

Этот алгоритм был одновременно опубликован в статьях Роберта Флойда (Robert Floyd) и Стивена Уоршелла (Stephen Warshall) в 1962 г., хотя в 1959 г. Бернард Рой (Bernard Roy) опубликовал практически такой же алгоритм, но это осталось незамеченным.
Читать дальше →

Вложенные массивы и Magic Methods

Reading time3 min
Views17K
Наверное всем известно про волшебные(магические) методы в PHP, а конкретно __get и __set методы. Однако есть неприятная особенность, если нужно изменить значение вложенного массива. Для решение этой проблемы есть простое и элегантное решение.
Читать дальше →

Несколько советов для PHP-разработчиков

Reading time4 min
Views8K
image Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
Читать дальше →

Вышла первая превью версия MEF 2

Reading time1 min
Views1.7K
image
Отличные новости! Фреймворк MEF для платформы .NET продолжает развиваться даже после того, как был включен в состав .NET Framework 4.0.

Вышла новая версия MEF 2 Preview 1, которая содержит следующие изменения и нововведения:

— класс ExportFactory, который ранее был только в SL-версии MEF отныне перемещен в клиентскую .NET версию фреймворка;
— был произведен рефакторинг кода и увеличена производительность;
— MEF 2 использует контракты кода для частей реализуя контракты для методов базового класса ComposablePart;
— сборки MEF 2 теперь подписаны цифровой подписью.

Обратите внимание на то, что сборка MEF 2 Preview 1 называется System.ComponentModel.Composition.Codeplex.dll для того, чтобы не конфликтовать с версией MEF, включенного в .NET Framework 4.0.

Загрузить новую версию MEF 2 можно с официальной страницы проекта на codeplex. Архив содержит исходные коды фреймворка, модульные тесты и набор примеров использования.

В архив не включены исходные коды или бинарные компоненты silverlight-версии MEF, поскольку изменений с предыдущей версии в них не было произведено.

Фанатам фреймворка Kohana — сделал клон репозитория (155+ модулей для v.3)

Reading time1 min
Views3.2K
imageФанатам фреймворка Kohana — сделал клон репозитория (155+ модулей для v.3)

Если знаете еще модули для KO3 (пришлите в приват)

Текущие модули:
Читать дальше →

Использование коэффициента Танимото для поиска людей с одинаковыми предпочтениями

Reading time3 min
Views13K
Решая упражнения к книге «Программируем коллективный разум», я решил поделиться реализацией одного из алгоритмов упомянутого в этой книге (Глава 2 — Упражнение 1).

Исходные условия следующие: пусть мы имеем словарь с оценками критиков:

critics={'Lisa Rose'{'Superman Returns'3.5'You, Me and Dupree'2.5'The Night Listener'3.0}
           'Gene Seymour'
{'Superman Returns'5.0'The Night Listener'3.5'You, Me and Dupree'3.5}}

Чем выше оценка, тем больше нравится фильм.
Надо вычислить: насколько схожи интересы критиков для того, например, чтобы можно было на основе оценок одного рекомендовать фильмы другому?

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

Правильный захват контекста в Javascript

Reading time5 min
Views37K
Довольно часто во многих статьях я вижу, как люди захватывают контекст this для использования в анонимной функции и удивляюсь — то, что уже стало стандартом — просто ужасная практика, которая противоречит всем канонам программирования. Вам знакома такая запись?
var self this;
Может вам тоже стоит переосмыслить этот аспект?
Читать дальше →

Information

Rating
Does not participate
Location
Berlin, Berlin, Германия
Registered
Activity