Как стать автором
Обновить
73
0

Mobile & Backend

Отправить сообщение

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле?

Время на прочтение5 мин
Количество просмотров82K
Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile.

Фемто — проверенный и надежный метод, а про Smile я узнал по статьям хабре от клиники Шиловой. Однако, когда я начал копать дальше, то понял, что у метода Smile есть один серьезный недостаток — человеческий фактор.

2 года назад я сделал операцию femto lasik и до сих пор ей доволен — сразу после операции мое зрение имело 120% остроты, а сейчас находится в районе 100%. Мои друзья и знакомые интересуются и спрашивают, стоит ли им делать Smile. Я немного устал объяснять всем одно и то же, поэтому и решил написать статью на хабре, в которую собрал всю информацию, которую смог найти.
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии190

Как я продолжил дело Дота-лиги

Время на прочтение7 мин
Количество просмотров13K
Предыдущие части (не за моим авторством): раз и два.

Возвышение Хоруса


Тимс был автором бота, а я был тем самым «прошаренным админом», который допиливал его код.

Можно долго спорить, кому что принадлежало, кто прав и кто виноват, но факт остается фактом — одна лига раскололась на две. Владелец бренда say-plz и спонсор поставил меня админом sP Dota League, а Тимс в тот же момент развернул RIHL (Russian In-House League). Между лигами была война за игроков используя любые средства, кроме разве что ядерного оружия.

Как произошел развал с моей точки зрения
Владельцем домена и хостинга say-plz был менеджер команды и спонсор под ником Матрикс. Он не знал, что происходит на лиге и не особо вникался в подробности. И после того, как Тимсу были предъявлены обвинения в неадекватном поведении и продаже модераторского доступа за деньги, у него был диалог со спонсором, в котором Тимс заявил примерно следующее: «это моя лига, что хочу, то и делаю». После чего Матрикс спрашивает меня — смогу ли я потянуть всё без участия Тимса? Я отвечаю ему — да. Ну а потом Матрикс снял права доступа с Тимса, сделав меня новым СЕО.

После того, как админом стал я, были внесены некоторые изменения в политику лиги.

1. Никаких необоснованных банов по личной неприязни.
2. Равные наказания и для известных игроков, и для новичков. Бан на 14 дней за намеренный выход из игры.
3. Моментальный демоут (из модеров в юзеры) тех, кто злоупотребляет своими правами — разбанивал друзей, или например пытался продать воучи (доступ к лиге) за деньги.
Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Комментарии12

Шаблонизатор Slim — альтернатива Haml'y

Время на прочтение5 мин
Количество просмотров75K
Давно хотел попробовать Haml, но всё не было времени. Но вот недавно обнаружил новый шаблонизатор, который мне сразу понравился. По словам создателей, он взял лучшее от Jade и Haml. Основная задача — сократить объем кода, при этом не делая его страшным и непонятным.

Вот так выглядит шаблон с использованием Slim:
doctype html
html
  head
    title Slim Examples
    meta name="keywords" content="template language"

  body
    h1 Markup examples
    #content.example1
      p Nest by indentation

    = yield

    - unless items.empty?
      table
        - for item in items do
          tr
            td = item.name
            td = item.price
    - else
      p No items found

    #footer
      | Copyright © 2010 Andrew Stone

    = render 'tracking_code'

    script
      | $(content).do_something();

Читать дальше →
Всего голосов 67: ↑61 и ↓6+55
Комментарии68

Оригинальное резюме

Время на прочтение5 мин
Количество просмотров6K
В банк пришло резюме

Иван Абрамович Левый

г. Харьков, квартиру снимаю
дом. нету
моб. все равно не позвоните, резюме потеряете, сам вам позвоню.

Позиция:

Ведущий разработчик, руководитель проекта. Глубокое понимание отрасли разработки ПО в условиях аутсорсинга, раскручивания заказчика на бабки, создание мощной видимости работы команды и развития проекта при реальной нулевой отдаче и отсутствии у программистов каких бы то ни было навыков.
Большой опыт руководства коллективами ничего не знающих студентов (ХИРЭ), напыщенных что-то знающих выпускников (ХАИ) и что-то знающих умников-халявщиков, которые все равно через два месяца свалят на бОльшую зарплату или за границу (ФизТех/МехМат ХГУ).
Глубокое понимание ведения переговоров с заказчиками/инвесторами, знание скидок во всех престижных саунах, клубах и, хм… массажных центрах.
Читать дальше →
Всего голосов 122: ↑106 и ↓16+90
Комментарии14

Обзор новинок в Ruby on Rails

Время на прочтение5 мин
Количество просмотров1.9K
Для начала мы обратим внимание на Rails 2.3.8 — многие из вас слышали о нем, но не все знают, что конкретного там поменялось. К слову, основные нововведения произошли в версии 2.3.6, а .7 и .8 версии лишь исправляли ошибки.

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

1. Переработан флеш, рекомендуется использовать два базовых типа — alert и notice. А еще его можно использовать с редиректом.
Вот как было:
flash[:notice] = 'Статья добавлена'
redirect_to @article
И как можно писать теперь:
redirect_to(@article, :notice => 'Статья добавлена')
Стоит учесть, что если у вас есть свой тип флеша, например, flash[:error], то добавить его к редиректу не получится.
Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии26

Tips & Tricks

Время на прочтение9 мин
Количество просмотров5K
Практически во всех языках программирования одну и ту же задачу можно решить несколькими способами. Однако какие-то из них лучше, какие-то хуже. Для некоторых требуется написать 10 строк кода, для других можно обойтись и одной.

Совершенствование кода и его оптимизация порой отнимает больше времени, чем заняло написание первой версии. Вы часто встречали новый для вас код или интересную реализацию, и говорили себе: «Оказывается, это можно сделать стандартными средствами, а я изобретал велосипед»? Лично я — да. Поэтому в этой статье я собрал свою коллекцию «велосипедов», и рассказал, как от них можно избавиться.

Методы массивов


Простой пример — допустим, у вас имеется массив объектов класса User. У них есть свойство activated, которое выставляется на 1, если юзер активировал свою учетную запись. Вам нужно проверить, все ли юзеры из массива активированы. Не берем во внимание ActiveRecord (там можно и по-другому сделать), моя цель — показать работу с массивами.

Способ первый, самый примитивный:
  1. @users = User.find(:all)
  2. activated_users = 0
  3. foreach user in @users
  4.   activated_users += 1 if user.activated == 1
  5. end
  6.  
  7. # если количество совпадает, значит все юзеры активированы
  8. activated_users == @users.size
Читать дальше
Всего голосов 76: ↑61 и ↓15+46
Комментарии45

Создание мульти-модельных форм

Время на прочтение7 мин
Количество просмотров20K
Иногда требуется создать форму, данные которой связаны с несколькими таблицами. К примеру, у вас имеется две модели: Owner и Car. При добавлении нового Owner'a хотелось бы, чтобы была возможность сразу добавить машину. С появлением Rails 2.3 это стало проще.

# Старый вариант (приблизительный)
def create
  @owner = Owner.new(params[:owner])
  ...
  if @owner.save
    @car = Car.new(params[:car])
    if @car.save
    ...
end

# Новый вариант, Rails 2.3+
def create
  @owner = Owner.new(params[:owner])
  ...
end


Где же магия?
Всего голосов 64: ↑54 и ↓10+44
Комментарии16

Информация

В рейтинге
Не участвует
Откуда
Кот-д'Ивуар, Кот-д'Ивуар
Зарегистрирован
Активность

Специализация

Backend Developer, Mobile Application Developer
Lead