Как стать автором
Обновить
94
0
Алексей Лебедев @alisey

Пользователь

Отправить сообщение
// +60 баллов? Я в шоке. Я бы оштрафовал программера, которые начинает изобретать велосипед, причём далеко не самую удачную модель. Сейчас объясню почему.

omg = {lol: {wut: 0}};
cloneObj(omg).lol.wut = 1;
alert(omg.lol.wut); // 1, omg lolwut?

Человек, которому поручат поддерживать такой код, очень обрадуется что ему кроме Prototype и jQuery теперь нужно постигать чьи-то недокументированные творения, которые чудесным образом перестанут работать со следующей версией IE.

Мой список полезных функций, которых почему-то нет во фреймворках:
isEmpty - возвращает true не только для undefined, false и 0, но также для [] и {}.
escapeHtml - преобразование html в entities, удивительно, но в явном виде есть не во всех фреймворках
toArray - преобразование объектов в массивы, полезно когда нужно сделать .pop() или узнать количество деток
date - форматирование дат, аналог функции date из PHP
Да, жалко, but this kostil works for me. Если воспринимать его как интерфейс, ориентированный на задачу. Например, табы в Skype видны только когда мне нужно поговорить, в остальное время они меня не беспокоят. То же самое с табами в браузере, там в основном собраны блоги. Как если бы панель задач я мог разбить на несколько кусочков и каждый привязать к собственному Space.
Кстати, как для экрана с разрешением меньше 3 мегапискелей, в Windows божественный таскбар по сравнению с.
jQuery is a fast, concise, JavaScript Library…
Знакомый риторический приём. Если я недоволен общественным транспортом, качеством продуктов в супермаркете и или ценами на жильё, то это совсем не значит что тут же кинусь исправлять ситуацию.
А неуд неуду рознь, и у нас наверное разные ожидания. Здесь я говорю не о качестве самой вещи, а о качестве её презентации. Могу привести пример, кому бы я поставил зачёт. Это jQuery. Хоть и не фреймворк, но не так уж далеко от него.
Скажу другими словами. Если вы пишете "веб-фреймворк", то это не рассчитано на новичков, они не знают чем отличается разработка "с фреймворком" от "без фреймворка", может на словах и знают, но не на практике, они же новички. Таким образом из-за непонятных слов теряется часть аудитории. code-igniter.ru - это же красивый домен, думаю он обязывает.

Дальше я пишу на другую тему - информативность. Как ту же самую мысль можно высказать короче, не потеряв подробности.
Если вы в своё удовольствие переводите документацию для проекта, то наверное вам не безразлична его судьба. А главная страничка многое решает. Этого и касался мой пример с "быстрым и маленьким".

Теперь о манной каше. Недавно у нас на работе встал вопрос - продолжать писать на чистом PHP, или начать наконец-то пользоваться каким-то из модных фреймворков, возможно на другом языке. Причём люди, которым было поручено ознакамливаться - это не самые лучшие кадры, и английского не знают. Им нужно донести до начальства информацию, на основе которой будет принято решение. В идеальном мире это был бы список ссылок на главные страницы сайтов фреймворков. При том, что судьба CodeIgniter вам не безразлична, где бы вы посоветовали им искать эту информацию сегодня?

Ресурсы ограничены, нужно пересмотреть всё многообразие и выбрать пару фреймворков, которым потом устроить test drive. На этом этапе разжёваные концепции, за которые легко зацепиться - это главное. Сам я ставлю всем фреймворкам, включая Rails, оценку неуд.

Всё это мало касается руководства, поэтому не воспринимайте как критику вашей работы.
Вы же сделали прямой перевод? Я знаю что это нелегко. Но вот начинающий программист заходит на заглавную страничку, видит "исключительная производительность", "приложение фреймворк", "использует M-V-C", и уходит. Всё это для него пустой звук.
Страничка приятно сделана, но всё-таки это не для начинающих. И продвинутым программерам тоже нечего смотреть. Есть английская документация, которая, извините, читается нормально. Вы же не профессиональный переводчик? Калька с английского не бросается в глаза, но чувствуется.
Вот как можно передать смысл написанного на главной странице:
CodeIgniter - это простой, маленький и быстрый веб-фреймворк на PHP.
Он работает на самых простых конфигурациях и не требует громоздких дополнительных библиотек.

Останется много места для живой информации, а не десятка параграфов о том, что "сейчас всё будет".
Меня вот тоже Igniter не заинтересовал. Нужно поставить себя на место человека, выбирающего фреймворк. Дать ему информацию, необходимую для принятия решения. Привести список возможностей, сравнение с другими фреймворками, живые примеры. Никто не хочет тратить время и собирать всё по крупицам, а потом убедиться что ему это не подходит. Вот правильно сделал DHH со своим "блогом за 15 минут". Коротко, ясно и захватывающе. Это было чудесно.

Попалась строчка, которая действительно говорит что-то о фреймворке: $this->load->library('validation');
В целом у вас качественно сделано, я уверен что всё было не зря, в следующий раз надётся больше времени подумать о полной картине. Сайт надеюсь на CodeIgniter написан? :)
По первому вопросу - нет, не уверен. Но для себя я бы сделал оценку 20 минут. Лучше среднего!
Причём, знаете, даже не в минутах дело. Этот код кто-то будет поддерживать после. Ад начинается здесь.

По второму вопросу:
ksort($a); // will it scale?!
Утечки создают не замыкания сами по себе, а их реализация в IE. Автор оригинальной статьи об этом скромно умалчивает.
Кстати IE7 течёт не так сильно, и вполне можно с этим жить. Даже в сложных программах, например Jabber чате, где из замыканий формируются целые стеки.
Есть программка для отлова утечек, называется Drip.
Она бесполезна, точно так же как и Hello World.
Но хороша чтобы показать элегантность сортировки многомерных массивов в Ruby.
Или вы считаете что сама идея сортировки по нескольким критериям бесполезна?
Akeepaki, то что вы предлагаете - это излишняя оптимизация.
У меня долгое время был пароль moloko. Его очень удобно набирать, попробуйте.
И даже если будут подглядывать то ничего не увидят.

Но есть одна проблема, когда доходишь до полного автоматизма, то начинаешь сбиваться. Если вводишь пароль по 50 раз на дню, то никакое интуитивное расположение букв не спасёт.

А вот удобство запоминания намного более важно в период адаптации.
Можно использовать чередование гласных и согласных.

l = %w[aeiou bcdfgjklmnpqrstvwxyz].sort_by{ rand }
6.times { print l.reverse![0][rand(l[0].size - 1)].chr }

Выдаёт комбинации вроде: rewile, bakelo, leseko, ketovi, palili.
Если для пароля использовать два таких слова, то будет вполне надёжно.
В компании, где я работаю, отказались от перехода на Rails.
"Это слишком сложно для наших программистов", "Оно слишком умное и ему нельзя доверять".
Вещи типа ORM, генераторов, отладчика :) - это для них не более чем набор назойливых звуков.
Человека нужно посадить и дать ему самому попробовать scaffolding, только тогда его осенит.
Но проблема в том, что **ему и так хорошо**.

Я наивно полагал, что хотя бы выразительность Ruby смогут оценить.
puts Dir['**/*.*'].sort_by {|f| [File.basename(f), File.mtime(f)]}
Рекурсивный листинг текущей папки с сортировкой по имени и времени последнего изменения.
Если человек тратит 20 минут (средний программист гораздо больше 20 минут), на написание подобной функции на PHP, то у него совсем не остаётся сил и времени задуматься о действительно важных вещах. Например, зачем вообще нужна такая функция :)

Я не думаю что более высокий уровень абстракции это плохо.
У Джоеля Спольски:
Google works and thinks at a higher level of abstraction than Microsoft. Google uses Bayesian filtering the way Microsoft uses the if statement.
Этим всё сказано.
12 ...
22

Информация

В рейтинге
Не участвует
Откуда
Запорожье, Запорожская обл., Украина
Дата рождения
Зарегистрирован
Активность