Ну что, начнем? Давайте напишем какой-нибудь небольшой, но законченный проект. Выделим на это ровно 1 час. Предлагайте название. Книжный магазин? Если других идей нет, то будем писать блог :)
User
TeamLab: история одного стартап-проекта
3 min
14K7-е число 7-го месяца этого года, 7 часов вечера. Именно на эту магическую дату был назначен выпуск новой версии проекта TeamLab — www.teamlab.com.
TeamLab — это система для управления проектами и общения внутри компании. Первостепенная задача любого стартапа – создать нечто значимое. И пусть даже идея не нова, её всегда можно усовершенствовать, тем самым сделав мир чуточку лучше. Так и мы загорелись желанием внести что-то новое, представить свое видение современных систем совместной работы.
Удалось ли нам внести свою изюминку? — Решать вам, дорогие хабровчане.
TeamLab — это система для управления проектами и общения внутри компании. Первостепенная задача любого стартапа – создать нечто значимое. И пусть даже идея не нова, её всегда можно усовершенствовать, тем самым сделав мир чуточку лучше. Так и мы загорелись желанием внести что-то новое, представить свое видение современных систем совместной работы.
Удалось ли нам внести свою изюминку? — Решать вам, дорогие хабровчане.
+32
Capistrano и php
8 min
32K Всем привет. Сегодня я хотел бы ещё раз поговорить о замечательном deploy-ере Capistrano.
Напомню, что Capistrano — это Open Source-ный инструмент для выполнения скриптов на нескольких серверах, который в основном используется для web приложений. Он позволяет автоматизировать процесс развертывания новой версии на одном или нескольких web серверах и включает поддержку таких задач, как например изменение базы данных.
Capistrano написан на Ruby и является «модулем» (или компонентном, не знаю как лучше) фреймворка Ruby on Rails.
Данный топик по большей части является переводом туториала со страницы проекта на github-е с некоторыми дополнениями, изменениями и сокращениями специфичными для php (или для «не RoR»). Здесь не будут рассматриваться вопросы работы с несколькими серверами и базой данных, это всего лишь небольшое пособие для начинающих.
Итак, допустим на нашем локальном компьютере в паке /path/deploy/from находится приложение написанное на языке php. У этого приложения есть git репозиторий находящийся по адресу example.net/project.git с актуальным кодом. Также у нас есть хостинг по адресу example.com с ssh доступом и папкой /path/deploy/to куда мы собираемся залить наши файлы. Мы не хотим постоянно возиться с ftp клиентом и решили потратить несколько часов для того, чтобы разобраться в деплойере capistrano. Давайте приступим.
Напомню, что Capistrano — это Open Source-ный инструмент для выполнения скриптов на нескольких серверах, который в основном используется для web приложений. Он позволяет автоматизировать процесс развертывания новой версии на одном или нескольких web серверах и включает поддержку таких задач, как например изменение базы данных.
Capistrano написан на Ruby и является «модулем» (или компонентном, не знаю как лучше) фреймворка Ruby on Rails.
Данный топик по большей части является переводом туториала со страницы проекта на github-е с некоторыми дополнениями, изменениями и сокращениями специфичными для php (или для «не RoR»). Здесь не будут рассматриваться вопросы работы с несколькими серверами и базой данных, это всего лишь небольшое пособие для начинающих.
Итак, допустим на нашем локальном компьютере в паке /path/deploy/from находится приложение написанное на языке php. У этого приложения есть git репозиторий находящийся по адресу example.net/project.git с актуальным кодом. Также у нас есть хостинг по адресу example.com с ssh доступом и папкой /path/deploy/to куда мы собираемся залить наши файлы. Мы не хотим постоянно возиться с ftp клиентом и решили потратить несколько часов для того, чтобы разобраться в деплойере capistrano. Давайте приступим.
+38
CMS своими руками. Теория велосипедостроения
8 min
25KКак много веселых ребят
И все делают велосипед.
А один из них как-нибудь утром
Придумает порох.
Виктор Цой.
Сначала я хотел написать в раздел «Я пиарюсь» статью о том какой я молодец и какую замечательную штуку сделал но, немного поискав в сети, я без удивления обнаружил, что я совсем не единственный в своем роде. Тогда я решил пойти от обратного: наверное, практически каждый Веб-программист хотя бы раз в своей жизни пытается написать полноценную CMS. При этом, в процессе проектирования (а это процесс, зачастую, наступает уже во время написания кода) у разработчика непременно возникают вопросы. С этими вопросами он обращается к поисковикам и попадает на сайты тех, кто по подобным граблям уже прошествовал.
Итак, я стал смотреть, по каким же запросам попадают ко мне начинающие «разработчики велосипедов», и постарался осветить некоторые вещи, которые для меня самого были неочевидны в начале работ.
И все делают велосипед.
А один из них как-нибудь утром
Придумает порох.
Виктор Цой.
Сначала я хотел написать в раздел «Я пиарюсь» статью о том какой я молодец и какую замечательную штуку сделал но, немного поискав в сети, я без удивления обнаружил, что я совсем не единственный в своем роде. Тогда я решил пойти от обратного: наверное, практически каждый Веб-программист хотя бы раз в своей жизни пытается написать полноценную CMS. При этом, в процессе проектирования (а это процесс, зачастую, наступает уже во время написания кода) у разработчика непременно возникают вопросы. С этими вопросами он обращается к поисковикам и попадает на сайты тех, кто по подобным граблям уже прошествовал.
Итак, я стал смотреть, по каким же запросам попадают ко мне начинающие «разработчики велосипедов», и постарался осветить некоторые вещи, которые для меня самого были неочевидны в начале работ.
+126
76 новых материалов на русском
3 min
1.6KНедавно был снова обновлен центр по Internet Explorer на MSDN. Были добавлены 76 статей и книг, посвященных следующим темам:
Полный список материалов со ссылками под катом
+30
Тренды в дизайне иконок 2010
4 min
29KСоздание иконок — довольно консервативное направление дизайна. Часто новая и оригинальная иконка работает намного хуже, чем стандартная и привычная. Но индустрия не стоит на месте — появляются новые устройства с новыми интерфейсами, и меняются способы работы с ними. Происходит это все довольно медленно, но тренды выделить можно.
Скажу пару слов о методике выявления трендов. Я работаю в компании, которая занимается иконками и интерфейсами, поэтому мне необходимо следить за новыми устройствами, программами и их интерфейсами. Плюс, некоторые выводы можно сделать по тому, что хотят наши клиенты, какие именно иконки они заказывают.
Скажу пару слов о методике выявления трендов. Я работаю в компании, которая занимается иконками и интерфейсами, поэтому мне необходимо следить за новыми устройствами, программами и их интерфейсами. Плюс, некоторые выводы можно сделать по тому, что хотят наши клиенты, какие именно иконки они заказывают.
+145
HTML5 — взгляд через призму безопасности
10 min
26KHTML5 — будущий стандарт языка разметки Интернет. Пока он находится в стадии черновика, но все больше и больше его возможностей реализуются в популярных веб-браузерах. Но как это обычно бывает, новые технологии несут в себе и новые опасности, которые могут быть успешно проэксплоитованы.
+141
XUI: простой JavaScript фреймворк для разработки мобильных веб-приложений
1 min
10K Создатели библиотеки хорошо знакомы с готовыми популярными решениями (jQuery, MooTools), но взялись написать свой собственный фреймворк, который не будет перегружен кодом поддержки десктопных браузеров и сосредоточились на главных нуждах разработки под мобильные приложения.
Уже сейчас XUI поддерживает такие мобильные браузеры, как WebKit, Fennec и Opera. В ближайшем будущем поддержка IE Mobile и BlackBerry.
Сайт библиотеки →
Уже сейчас XUI поддерживает такие мобильные браузеры, как WebKit, Fennec и Opera. В ближайшем будущем поддержка IE Mobile и BlackBerry.
Сайт библиотеки →
+56
Introducing xdebug
9 min
46KTranslation
Эта статья первая из серии статей, описывающих xdebug, свободной библиотеки для разработчиков PHP. xdebug – это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP. В данной статье описывается как установить xdebug и рассказывается о его базовых возможностях. В последующих частях мы детальнее взглянем на главные возможности xdebug, а именно трассировку, профайлинг, отладку кода.
+40
TDD — это как сноубординг
3 min
12KTranslation
Я только что получил следующее письмо, которым хочу поделиться и ответить на него публично.
«Я не использую эту методологию (TDD) из-за того, что главный для меня вопрос остается без ответа. Я знаю, что использование TDD уменьшает количество багов, но что насчет времени, необходимого при работе по этой методологии?
Я хотел бы знать как изменяется время на разработку корпоративного приложения с использованием TDD — уменьшается, увеличивается или остается неизменным.
Надеюсь, вы сможете ответить, так как TDD и BDD меня очень интересуют.»
+31
Числа, которые должен знать каждый программист
1 min
17KTranslation
Чтобы было понятно, на чём следует концентрироваться при оптимизации, слайд из доклада «Создание программных систем в Google и его уроки»:
+52
Требования к вёрстке под drupal
4 min
12KНе раз сталкивался с проблемой, когда присылают вёрстку и там вроде бы всё хорошо, но вот как начинаешь прикручивать к drupal, то сталкиваешься с тем, что либо надо вёрстку переделывать либо функции темы переписывать. И в итоге процесс темизации из-за этого может значительно увеличиться. Поэтому мы на работе решили написать требования к вёрстке под drupal. Ниже привожу требования к основным элементам.
+31
Memcached и PHP ликбез
6 min
225KВ интернете достаточно много информации на данную тему, но, несмотря на это, многие обходят её стороной. Цель данного поста, разъяснить на пальцах основы взаимодействия с Memcached.
+53
Некоторые малоизвестные факты о программировании
3 min
46KTranslation
Будучи программистом я многое узнал о том, как создаётся программное обеспечение. Вот несколько фактов, которые могут вас удивить.
+183
Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов
8 min
29KNode.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.
При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.
+227
Человеческий фактор или «соглашения не работают»
4 min
3.6KПредставьте ситуацию. Вы со своей командой, после очередной итерации, обсуждаете слабое покрытие кода тестами и решаете что с понедельника текущего момента все пишут тесты как для нового кода, так и для всплывающих багов. Это кажется разумным (кто-то вспоминает последний неудачный деплой), все поддакивают и довольные расходятся с мыслью, что ну вот теперь то у нас точно все будет отлично. Приходит время следующего собрания на котором во время вопроса «а как у нас с тестированием» большинство отводит глаза. Результат ясен, все осталось по старому.
Можно конечно попытаться вычислить тех кто этого не делает, выяснить почему так происходит, провести воспитательную беседу) и это даже поможет на какое-то время. А потом пройдет время и все станет по прежнему. Причем те люди которые следуют соглашениям по данному вопросу, в другом вопросе могут делать все по своему и наоборот.
Можно конечно попытаться вычислить тех кто этого не делает, выяснить почему так происходит, провести воспитательную беседу) и это даже поможет на какое-то время. А потом пройдет время и все станет по прежнему. Причем те люди которые следуют соглашениям по данному вопросу, в другом вопросе могут делать все по своему и наоборот.
+50
Как стартапу найти инвестора?
4 min
1.5KВпервые о своем бизнесе я задумался в начале 2008 года. Мне нужны были инвестиции, поэтому я очень много общался со всевозможными инвесторами, а также мнимыми инвесторами и консультантами по поиску инвесторов. На общение с ними я потратил очень много времени, и большая часть его была потрачена впустую. Хочу поделиться накопленным опытом общения с инвесторами и дать несколько советов другим стартапщикам.
+14
apache+nginx+gzip_static+yuicompressor
6 min
15KВ этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
+101
Поделитесь опытом, как у вас в студии организовано хранение и менеджмент паролей?
1 min
7.8KКак в любой студии мы храним огромное количество паролей, от различных панелей управления серверами, доменов, админок, ssh, ftp, баз данных и т.д., речь идёт о сотнях различных паролей и логинов. Прибавьте к этому, корпоративную почту, локальную сеть с различным уровнем доступов, локальный сервер, на котором программисты собирают новые проекты, сервер с бэкапами, мегаплан, доступы к различным социальным сервисам и т.д.
Все ещё сильно усложняется тем, что над проектами работает довольно большое количество людей, часть из них работает удалено. Одному человеку пароль нужен разово, другому довольно часто, причём в любое время дня и ночи.
Поделитесь опытом, как организовать эффективное, надёжное хранение и менеджмент всеми этими паролями и доступами? Как хранение паролей и управление ими организованно у вас в студии? Какое программное обеспечение используете? Что делаете, когда увольняется ключевой администратор или программист?
Вопрос не праздный, не любопытства ради. Давно ищем какое-то в меру простое и эффективное решение, но пока безуспешно, хабр — последняя надежда.
Все ещё сильно усложняется тем, что над проектами работает довольно большое количество людей, часть из них работает удалено. Одному человеку пароль нужен разово, другому довольно часто, причём в любое время дня и ночи.
Поделитесь опытом, как организовать эффективное, надёжное хранение и менеджмент всеми этими паролями и доступами? Как хранение паролей и управление ими организованно у вас в студии? Какое программное обеспечение используете? Что делаете, когда увольняется ключевой администратор или программист?
Вопрос не праздный, не любопытства ради. Давно ищем какое-то в меру простое и эффективное решение, но пока безуспешно, хабр — последняя надежда.
+31
WordPress заставит всех соблюдать GPL
3 min
6.5KПопулярная CMS Wordpress, распространяемая под лицензией GPL оказалась в центре скандала. Система управления контентом получила широкое распространение благодаря удачной архитектуре и встроенной системе «тем» с настраиваемыми шаблонами и «плагинов», что позволяет использовать Wordpress при разработке практически любых проектов от блогов до сложных новостных ресурсов.
По условиям лицензии все дополнения к CMS должны также выпускаться под GPL, но далеко не все разработчики выполняют их. Так, создатели популярной темы Thesis не скрывают нежелания переводить свой платный продукт в категорию свободных. Создатель проекта Мэтт Мулленвег (Matt Mullenweg) вступил в яростный диспут с Крисом Пирсоном (Chris Pearson), автором Thesis, и обвинил последнего в грубом нарушении условий GPL.
+53
Information
- Rating
- 2,465-th
- Location
- Екатеринбург, Свердловская обл., Россия
- Registered
- Activity