Pull to refresh
73
0

Mobile & Backend

Send message

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

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

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

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

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

Reading time7 min
Views13K
Предыдущие части (не за моим авторством): раз и два.

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


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

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

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

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

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

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

Reading time5 min
Views75K
Давно хотел попробовать 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();

Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments68

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

Reading time5 min
Views6K
В банк пришло резюме

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

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

Позиция:

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

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

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

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

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

Tips & Tricks

Reading time9 min
Views5K
Практически во всех языках программирования одну и ту же задачу можно решить несколькими способами. Однако какие-то из них лучше, какие-то хуже. Для некоторых требуется написать 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
Читать дальше
Total votes 76: ↑61 and ↓15+46
Comments45

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

Reading time7 min
Views20K
Иногда требуется создать форму, данные которой связаны с несколькими таблицами. К примеру, у вас имеется две модели: 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


Где же магия?
Total votes 64: ↑54 and ↓10+44
Comments16

Information

Rating
Does not participate
Location
Кот-д'Ивуар, Кот-д'Ивуар
Registered
Activity

Specialization

Backend Developer, Mobile Application Developer
Lead