Pull to refresh
0
pentium133 @pentium133read⁠-⁠only

User

Send message

Ричард Фейнман «В ПОИСКАХ НОВЫХ ЗАКОНОВ»

Reading time1 min
Views10K
image
Перевод седьмой лекции из курса «Характер физических законов», самого яркого ученого двадцатого века Ричарда Фейнмана.

Лекция называется «В поисках новых законов».
Читать дальше →
Total votes 81: ↑79 and ↓2+77
Comments47

Автоматическое оповещение читателей о новостях с помощью ВКонтакте

Reading time7 min
Views40K
Вторая часть

Предисловие


Те из вас, кто пользуется социальной сетью ВКонтакте и подписан на официальную страничку Хабры в ней, заметили, что все новые топики с главной появляются на страничке в виде сообщений-ссылок:
vk

Так вот, если у вас есть свой блог и вы хотите на своей личной страничке публиковать такие же сообщения-ссылки автоматически — топик может быть вам интересен. Сегодня мы попробуем публиковать простые сообщения ссылки, а далее добавлять к ним «превью»-картинки.
Читать дальше →
Total votes 103: ↑73 and ↓30+43
Comments57

Интеграция с ВКонтакте на базе Open API

Reading time8 min
Views47K
Социальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
Читать дальше →
Total votes 97: ↑83 and ↓14+69
Comments21

Стимпанк в мобильниках и компьютерах

Reading time2 min
Views6.8K
Предлагаю насладиться эстетикой стимпанка. Просто сделал немаленькую подборку различных стимпанк гаджетов — флэшки, мышки, системные блоки, мобильные.

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

Для начала — стимпанк мобильный (далее будут компьютеры, мыши и флэшки). Так как сделать такой мобильный? Шестеренки, цвет латуни, шестеренки, лупы… И мы, если повезет, получим подобные прелести:



Читать дальше →
Total votes 81: ↑65 and ↓16+49
Comments63

Ruby: про email вообще и ради валидации без регекспов, в частности

Reading time3 min
Views6.9K
image

Привет Хабр!

Немного наблюдений.



По предложенному вопросу пергамента исписано непозволительно много. Тем не менее, я бы хотел остановится на трех важных, но игнорируемых аттрибутах, свойственных email-у, с точки web-разработки.
Во первых email уникален, в отличии от никнейма, который, в половине случаев, занят кем-то до нас. Однако все еще встречаются сайты с логином по никнейму, который, для всех таких сайтов, ну никак не упомнить. Предлагаю использовать для логина только email.
Во вторых, часть разработчиков игнорирует type='email', когда JS валидаторы натравлены на это поле, и планшетные устройства переключают раскладку, что удобно.
В третьих, ради чего это статья, каждый год пишутся статьи вида «Почему плохо валидировать регекспом», что больше похоже на фетиш. Надеюсь гугл проиндексирует верно.

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

Решение... без регекспов
Total votes 16: ↑10 and ↓6+4
Comments31

Договор на разработку сайта: так, а не иначе

Reading time29 min
Views152K
Присылает нам заказчик (Газпром) свою версию договора.
Понимаем — нашу они не подпишут,
вносим реквизиты и отправляем обратно.
Пропадают на две недели… возвращают протокол разногласий к договору.


Последняя неделя выдалась жаркой на переговоры с юристами заказчиков. Проекты я не веду, но так уж получилось, что все договора проходят через меня. Соответственно, я участвую в их согласовании.
Читать дальше →
Total votes 135: ↑129 and ↓6+123
Comments78

Подборка полезного для любителей Twitter Bootstrap

Reading time1 min
Views83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments21

HttpRequest — библиотека для простой работы с HTTP протоколом

Reading time2 min
Views30K
https://github.com/Garik-/http-request

Очень часто в коде можно встретить такие строки:

$result = file_get_contents("http://geocode-maps.yandex.ru/1.x/?geocode=".urlencode("Москва"));

$handle = fopen("http://www.example.com/", "rb");
$result = fgets($handle);

  • Не важно человеку, что директива allow_url_fopen может быть отключена на сервере.
  • Не важно, что на сервере установлена библиотека cURL, которая без проблем скачает 100 МБ файл.
  • Не важно, какой ответ вернет сервер, 200, 301, может 404, может 502?
  • Не важно, то что сеть не идеальная среда и ответ может придти частично или его вовсе не будет продолжительное время. Скрипт попросту подвиснет в ожидании на неопределенное время или вернет не корректный результат.

try {
    $http = HttpRequest::get("http://geocode-maps.yandex.ru/1.x/?format=json",array("geocode"=>$city))->acceptJson();
    $json = $http->ok() ? json_decode($http->body()) : null;
} catch (HttpRequestException $e) {
    exit($e->getMessage());
}

Теперь это действительно не важно.

Библиотека Http Request основана на одноименной библиотеке Kevin Sawicki, которая должна быть хорошо известна Android разработчикам, ведь её использует сам GitHub в своем приложении.
Читать дальше →
Total votes 38: ↑18 and ↓20-2
Comments12

Коллекция ресурсов для frontend и backend разработчиков

Reading time1 min
Views55K
image

Некий dypsilon выложил на GitHub огромную коллекцию ссылок на ресурсы по веб-разработке, за что ему огромное спасибо.

Список состоит из ссылок на библиотеки, руководства и статьи.

Frontend: github.com/dypsilon/frontend-dev-bookmarks
Backend: gist.github.com/dypsilon/5819528 (много node.js)

Ссылок много, но все — строго по делу и упорядочены по группам (пример для фронтенда):
  1. Архитектура
  2. Фреймворки
  3. Cross Browser
  4. Cross Device
  5. Паттерны и сниппеты
  6. Манипуляция с DOM
  7. … и многое другое

matmuchrapna советует еще frontdesk Вячеслава Олиянчука.
Настоятельно рекомендуется добавить в закладки, а лучше — почитать.
Total votes 120: ↑100 and ↓20+80
Comments12

Узнайте бандлер получше

Reading time5 min
Views16K
Бандлер оказался замечательным средством установки и отслеживания джемов, которое так нужно каждому руби проекту настолько, что почти каждый проект использует его. Однако, несмотря на его повсеместность, большинство пользователей не знают о встроенных средствах и помощниках бандлера. В попытке повысить осведомленность (и производительность Руби разработчиков), я собираюсь рассказать вам о них.

Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments11

Try jQuery — новый интерактивный самоучитель по jQuery

Reading time2 min
Views72K
Раньше я как-то не стремился глубоко изучать jQuery, поскольку работаю в основном с back-end. Однако самоучитель TRYjQuery, ссылка на который пришла в недавнем письме от CodeSchool, вызвал интерес с первых кадров.

Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments14

Удалённая работа – отстой. Да здравствует удалённая работа!

Reading time5 min
Views227K

Это перевод статьи Being a Remote Worker Sucks — Long Live the Remote Worker Скотта Хенселмана за 27 февраля.

Я уже 5 лет работаю в Майкрософт – и всё это время удалённо. Мои предыдущие две работы были семилетними мероприятиями – то есть, я работал в одном месте и дольше, но не удалённо. И, раз за пять лет меня не уволили, я могу сказать, что я хороший работник. Я также немало пишу в своём блоге об удалённой работе, и это – очередной пост на эту тему.

Работать удалённо – прекрасно, отстой.
Читать дальше →
Total votes 142: ↑133 and ↓9+124
Comments117

Анти-GTD или лекарство от прокрастинации

Reading time3 min
Views101K
Я долго интересовался техниками GTD, тайм-менеджмента, повышения личной эффективности. Они, действительно, позволяют выполнять дела. Но все время чувствовалась какая-то неудовлетворенность. Потом я понял, что очень важно выбрать правильное направление самореализации. Иначе, с применением этих техник можно убежать очень далеко, да не в том направлении. Все это порождает фрустрации, поиски чудесных инструментов, вот даже целый термин прокрастинации появился.

Как избавиться наконец от насилия над собой в виде этих бесконечных техник? Делать то, что хочешь!
Если более развернуто, то обычно советуют работать на пересечении нескольких областей — делать:
  1. то, что хочешь,
  2. на что располагаешь талантом,
  3. то, что служит на благо людей,
  4. то, что приносит деньги.

Это просто идеальная самореализация!

Но как это сделать? Об этом обычно не говорят или неуверенно дают какие-то общие советы. Я долго копал и кое-какую методику все же нашел.
Делюсь методикой под катом
Total votes 56: ↑44 and ↓12+32
Comments32

CSS3-генераторы. Лучшее

Reading time2 min
Views199K








Доброго времени суток! Сразу объяснюсь по поводу оформления поста: однажды, наткнувшись на статью о CSS-генераторах, меня не сильно порадовало безмерное количество информации и навигационных элементов в представленных генераторах, и еще больше — их пользовательский интерфейс! Возмутило то, что инструменты для работы со стилями — сами не выдержаны в рамках возможностей, которые они представляют… как так?!

Когда занимаешься творчеством, хочется иметь подручные средства и инструменты на освоение и работу с которыми тратишь минимум усилий и времени. В результате всего этого, пришла мысль: отобрать лучшие инструменты и организовать их для частого использования (а-ля навигационное меню, такой себе: Quick Launch).

Надеюсь, для многих ноу-хау станет хорошим помощником в процессе веб-разработки.
Читать дальше →
Total votes 114: ↑104 and ↓10+94
Comments26

7 паттернов рефакторинга толстых моделей в Rails

Reading time6 min
Views29K
Толстые модели сложны в поддержке. Они, конечно, лучше, чем контроллеры, захламленные логикой предметной области, но, как правило, нарушают Single Responsibility Principle(SRP). “Всё, что делает пользователь” не является single responsibility.
В начале проекта SRP соблюдается легко. Но со временем модели становятся де-факто местом для бизнес-логики. И спустя два года у модели User больше 500 строчек кода и 50 методов в public.
Цель проектирования — раскладывать растущее приложение по маленьким инкапсулированным объектам и модулям. Fat models, skinny controllers — первый шаг в рефакторинге, так давайте сделаем и второй.
Второй шаг
Total votes 38: ↑35 and ↓3+32
Comments27

В поисках идеального css-фреймворка. Требования, реализация, maxmertkit

Reading time14 min
Views70K


Я обожаю twitter bootstrap. Прост, местами логичен, достаточно красив, подходит для быстрого прототипирования веб-интерфейсов. Но этого оказалось недостаточно. Взяв twitter bootstrap в большой проект, мне пришлось целиком его разобрать и переосмыслить css-фреймворки как боевые единицы в веб-проектах. В результате переосмысления родились требования к любому css-фреймворку, удобному как верстальщику, так и frontent-разработчику.
Требования и реализация
Total votes 208: ↑199 and ↓9+190
Comments135

Ускоряем запуск Ruby on Rails используя набор патчей RVM railsexpress

Reading time2 min
Views7.3K
Эта статья для тех, кто хочет ускорить запуск рельс, а заодно ускорить работу интерпретатора ruby.
О том как установить RVM (Ruby version manager) уже написано много статей, поэтому я перейду сразу к делу.
Список патчей в RailsExpress для Ruby 1.9.3-p362
(это последняя версия руби на момент написания статьи)
Applying patch railsexpress/01-fix-make-clean.patch
Applying patch railsexpress/02-railsbench-gc.patch
Applying patch railsexpress/03-display-more-detailed-stack-trace.patch
Applying patch railsexpress/04-fork-support-for-gc-logging.patch
Applying patch railsexpress/05-track-live-dataset-size.patch
Applying patch railsexpress/06-webrick_204_304_keep_alive_fix.patch
Applying patch railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch
Applying patch railsexpress/08-thread-variables.patch
Applying patch railsexpress/09-faster-loading.patch
Applying patch railsexpress/10-falcon-st-opt.patch
Applying patch railsexpress/11-falcon-sparse-array.patch
Applying patch railsexpress/12-falcon-array-queue.patch

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments14

13 причин не быть управленцем

Reading time12 min
Views461K
Так уж сложилось, что последние несколько лет я занимал самые разнообразные руководящие должности в полудюжине компаний, занимающихся разработкой программного обеспечения разного рода. Довелось побывать и тимлидом, и менеджером проекта, и группы проектов, руководителем отдела и руководителем технического направления; подопечных бывало от двух до ста пятидесяти человек, да и размеры компании варьировались от трёх до двухсот тысяч работников. Неизменным оставалось только одно: чисто управленческая работа, постепенный и окончательный отход от технических задач.

А сейчас, в период между Рождеством и Новым Годом, когда особенно обострена склонность к углублённой рефлексии, приходит понимание того, что, знай я некоторые «инсайдерские» подробности управленческой деятельности заранее – сделал бы совсем другой выбор лет эдак семь назад.

Вот поэтому и родился этот немного хаотичный и очень разнокалиберный список моментов, которые очень хотелось бы передать куда-то обратно, примерно в 2005 год – дайте знать, если кто-то вдруг уже научился это делать! А пока, может быть кто-то найдёт некоторые из перечисленных ниже пунктов не до конца очевидными, или даже полезными для себя; было бы приятно осознавать, что удалось помочь кому-то сделать более осознанный выбор профессии – или просто о чём-нибудь важном задуматься.
Итак, поехали
Total votes 441: ↑410 and ↓31+379
Comments340

Information

Rating
Does not participate
Registered
Activity