• Есть сервис для того, чтобы научиться бегло понимать английскую речь?

    Мне очень нравится duolingo.com. Он бесплатен, у него отличный дизайн и хорошая идея:
    1. Проходите ряд бесплатных курсов с интерактивными упражнениями.
    2. Участвуете в краудсорсинговом переводе текстов, улучшая свой навык языка.

    Если же говорить именно о восприятии на слух, то у меня всё сложилось следующим образом:

    а. Начал с просмотра фильмов строго на английском. Смотрим с субтитрами, ставим на паузу и переводим. Да, неприятно поначалу, но вы решите: вы учите или ищете "новые способы". Если учите, то смиритесь с напрягом на первые несколько фильмов. Уже на 5-м, скажем, увидите прогресс: останавливать надо будет заметно реже. Довольно быстро вы начнёте получать новое удовольствие от просмотра в оригинале. Мне иногда говорят: но я же не понимаю по английски, как смотреть? А я отвечаю: что за проблема, если вы не поймёте половину фраз в фильме? Вам хоть один просмотренный фильм хоть что-то дал, при полном понимании сказанного в нём? То-то.

    б. Дальше пошло чтение, начиная с простого и увеличивая сложность. На андроиде удобно читать, есть интеграция со словарём. Я использую FBReader + GoldenDict.

    в. Вообще, везде, где только можно, окунайтесь в языковой контекст. Интерфейс всего софта - только англ., если друзья знают язык - переписывайтесь с ними на нём, посещайте встречи, где говорят на английском, ищите носителей на couchsurfing.org (организуют встречи, на которых путешественники знакомятся с местными).

    г. Аудиокниги и подкасты - это шикарно. Потому, что вы можете учить язык каждый день часами: в дороге, во время пробежки и так далее. Аудиокниги качайте на торрентах. Ну, можете взять одну бесплатно в Audible. Клёвые подкасты: 99% Invisible, Freakonomics, NPR Planet Money, NPR Ted Radio Hour, The Moth. Тысячи их.

    Вообще, советую не париться и слушать речь. Вы будете волноваться оттого, что ничего не понимаете. Не волнуйтесь и продолжайте слушать. Понимание придёт со временем, сами удивитесь. Собственно, дети именно так и учат, что даже потом становятся теми самыми "носителями", а нам, взрослым, проще, есть жизненный опыт.

    P.S. Я свободно говорю и пишу на англйиском, в ряде контекстов мне вообще всё равно, на каком языке говорить. Таким же способом учу немецкий, на котором могу изъясняться через пень-колоду. Английский начинал с типичного для наших широт "intermediate" (что-то учили в институте). Немецкий начал с нуля.
    Ответ написан
    3 комментария
  • Какой выбрать лёгкий ноутбук для web-разработчика?

    @avorobiev
    MacBook Air. Использую для разработки в течение 1,5 лет, очень доволен.
    Ответ написан
    2 комментария
  • PHP: нужно ли создавать массив перед его заполнением?

    @kastigar
    С isset абсалютно верно. Но я бы не стал называть это «чтение», т.к. isset — это специальная конструкция языка. Если вы попытаетесь спросить индекс не-массива, то:
    unset($a);
    echo $a['a']['b']['c']; // будет warning
    echo $a['a']; // тоже будет warning
    isset($a['a']['b']['c']); // не будет warning'а
    

    С записью тоже есть нюансы. Если переменная (даже если это элемент массива) не установлена, то её можно неявно использовать как массив. Но если она установлена и не является массивом, то могут быть проблемы:
    <?php
    unset($a);
    $a['a'] = 'a'; // это ок
    $a['b'] = 1; // это ок
    $a['a'][0] = 'b'; // перезапишет первый символ строки!!!
    $a['b'][0] = 'b'; // будет notice, про обращение к скаляру, как к массиву
    unset($a);
    $a['a']['b']['c']['d'] = 'str'; // тоже ок
    $с = new SomeClass;
    $с[0] = 'c'; // Если класс имплементил ArrayAccess интерфейс, то вызовется метод offsetGet,
                 // иначе Fatal error
    

    Так что если не уверены, что содержится в переменной или элементе массива, то лучше явно проинициализируйте массив.
    Ответ написан
    Комментировать
  • Движок Wiki с поддержкой I18n?

    TWiki. Одна из лучших вики, хорошо подходящая в том числе для корпоративной вики.
    p.s.: twiki.org/cgi-bin/view/TWiki/InstallationWithI18N
    Ответ написан
    Комментировать
  • Для чего нужна ORM?

    Вы не путаете ORM с DBAL? ORM это не технология замены SELECT * FROM goods WHERE cost < 100.00 на $db->select()->from('goods')->where('cost < 100.00'). ORM это способ задания связи объектов и РСУБД. По сути позволяет абстрагироваться от способа хранения объектов вообще, с лёгкостью переходя от SQL к NoSQL, memcache, файлам или REST/RPC API на удалённом сервере, оперируя на уровне модели (если говорить о MVC и т. п.) простыми plain old objects, а их персистентность отдать контроллеру. Не $db->select()->from('goods'),, не mysql_query('SELECT * FROM goods'), а $goodsRepository->findAll(), а уж будет репозиторий формировать SQL запрос, читать файлы или память, а может стучаться на Гугл и парсить его вывод — его, репозитория, личное дело (а также разработчика(ов), отвечающих за подсистему хранения).

    Кроме того ORM, как правило не исключает обращение к БД на уровне произвольных SQL запросов, оно лишь преобразуют результаты этих запросов в объекты модели предметной области (и наоборот), которые ничего не знают (в идеале) о таблицах, WHERE, HAVING и т. п.

    ORM это не только инструмент архитектурного разделения областей ответственности объектов и классов приложения, а также инструмент облегчения разделения труда разработчиков: кто хорошо шарит в SQL вообще и особенностях конкретного движка в частности — работает по «ту сторону» ORM, оптимизирует его как хочет, может нормализовывать и денормализовывать, например; кто хорошо разбирается в дебетах и кредитах — работает с plain old objects в терминах предметной области и может вообще ничего не зная об SQL, ему лишь нужно знать, что он всегда может получить объект или их коллекцию обратившись к методам вроде findById() или findAll() и сохранить результат работы методом save() или flush().
    Ответ написан
    3 комментария
  • Выбор проектора для дома

    С проекторами постоянно имею дело на работе, поэтому:

    — Epson не советую — долго разогреваются, световой поток низкий, зато насыщенность цвета хорошая.
    — У Hitachi есть неплохие модели — разогреваются быстро, световой поток высокий, насыщенность цветом пониже, чем у Epson. Лампы достать посложнее, но хватает на долго.
    — Сейчас во всю используем BenQ — световой поток очень высокий, но насыщенность низкая, разогревается средне. Проблему насыщенности решаем программно. Достать лампы труда не составит.

    Кроме Hitachi модель Full HD в пределах 30 000 достать не проблема.

    Смотрите сами, насколько ваша комната тёмная. Сами понимает даже Full HD с низкой насыщенностью и на бледном экране смотреть не в наслаждение.
    Ответ написан
    1 комментарий
  • Какая IDE для Ruby?

    DevMan
    @DevMan
    Ответ написан
    Комментировать
  • Какую специализацию в программировании выбрать?

    Petrify
    @Petrify
    Не стоит подходить с такой стороны. Кодинг — удел кодеров. Незадумывающихся низших звений разработки.
    Лучше занятся разработкой. Архитектура, алгоритмы и т.д. Профессионально занимаясь вебом (не говноPHP-код+Mysql на денвере, а профессионально) не с точки зрения знания синтаксиса, а с точки зрения разработки интерфейсов и архитектуры — вам будет легко переключиться на практически любое направление разработки.
    Ответ написан
    2 комментария
  • Будет ли интересна читателям статья?

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Нет, что вы! На хабре и так слишком много технических статей! Вы лучше пару новостей с зарубежных IT сайтов скопипастите, это будет гораздо интереснее. Зачем нам шифрование, и кому нужна эта тема? Хабр — не место техническим статьям!
    Ответ написан
    2 комментария
  • Новый сервис: код "с нуля" или php-фреймворк?

    @gro
    Один из наиболее идеальных вопросов для разведения бессмысленного холивара, из которого автор всё равно ничего нового не узнает.
    Ответ написан
    Комментировать
  • Прислали не ту сборку ноутбука

    gjf
    @gjf
    Как понять, что «не та сборка ноутбука»? если модель та, что заявлено, то сборка изменится не может. Или Вам прислали не ту модель? Или то, что заявлено, оказалось не тем, что внутри? Зайдите на сайт производителя и ознакомьтесь о официальной «начинкой».

    Если «начинка» отличается или действительно прислали не ту модель, то по уму реакция должна быть следующей.

    На руках у Вас имеются следующие документы (поправьте, если чего-то нет):
    1. Счёт и квитанция об оплате. В счёте должна быть указана модель и краткая комплектация ноутбука. Если такого нет — срочно идите на сайт магазина и вооружайтесь скриншотами с ценой и теххарактеристиками. В некоторых странах СНГ требуется фотография монитора, при чём на плёнку (цифровая не считается). Если не ошибаюсь, допускается RAW-формат, если уж плёнку никак не достать.
    2. У Вас есть накладная от курьерской доставки с датой, наименованием отправителя.
    3. У Вас есть квитанция об оплате и заполненный гарантийный талон, который должен был прийти с ноутбуком.
    4. Ну и есть собственно ноутбук.

    Теперь звоните в магазин и сообщаете, что у Вас на руках есть все эти документы. Прямо заявляете, что на основании всех этих документов речь идёт даже не о нарушения Закона о защите прав потребителя, а о уголовном деле по статье «Мошенничество». И затем прямо спрашиваете, хотят ли они такого развития событий. На вопрос о проведении экспертизы — говорите, что экспертиза никакая не нужна, потому как тупо прислали не тот товар.

    Большинство магазинов соглашаются на обратную отправку и замену товара. Ну или возврат разницы стоимости, смотря что Вам интересно.

    Если же оказалось, что ноутбук сам по себе был с той начинкой (просто на сайте магазина вкралась ошибка, а производитель честно об этом заявлял), то Вы можете воспользоваться правом вернуть товар, если не прошло 14 дней с момента дня покупки. В этом случае Вам обязаны полностью возместить стоимость, ну не считая расходов на перевод денег и доставку. Учтите, что в этом случае Вам надо предоставить полностью всю комплектацию, включая оригинальную упаковку.
    Ответ написан
    1 комментарий
  • PHP библия

    Dennion
    @Dennion
    Разработчик PHPShop CMS.
    Мне в свое время очень помогла «PHP5» Дмитрий Котеров (Denwer.ru) и Алексей Костарев.
    Дмитрий очень хорошо пишет вообще, респект ему!
    Ответ написан
    Комментировать