Многим понравился первый пост об хаках в изучении английского. Настал момент для второго, финального.
RSV @RSV
Пользователь
Несколько фишек для изучающих английский язык
1 мин
48K1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm
Надеюсь каждый нашел для себя что-то полезное:)
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm
Надеюсь каждый нашел для себя что-то полезное:)
+152
Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов
8 мин
29K![WTF is Node.js?](https://habrastorage.org/storage/f2e32d3f/e7465c41/a0239358/d0f78e08.png)
Node.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.
При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.
+227
apache+nginx+gzip_static+yuicompressor
6 мин
15KВ этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
+101
«Обнаженный бизнес» от Ричарда Брэнсона (в цитатах)
5 мин
20K![Ричард Брэнсон - Обнаженный бизнес](http://valerie-miles.com/artur/i/habr/brenson.jpg)
Это вторая книга Ричарда Брэнсона, попавшая мне в руки. Первая была «К черту все, берись и делай», она оставила неизгладимый след. Так что сомнений в том, чтобы прочесть и вторую — не было.
Книга «Обнаженный бизнес» раз в 5 толще, содержит много специфических подробностей и читалась сложнее. Но, при этом, написана в том же духе оптимизма, веры в силы каждого. Она заряжает энергией, уверенностью и содержит множество ценных мыслей, опыта и рекомендаций человека, который похоже знает, о чем говорит.
В последнее время читаю с маркером, выделяя для себя основные, наиболее интересные мысли. Их и предлагаю Вашему вниманию в качестве цитат автора:
- Суть бизнеса заключается не в соблюдении формальностей, поиске выгоды, практическом результате, получении прибыли, стремлении продать, коммерческой игре или чем-то еще. Бизнес — это прежде всего то, что вам не безразлично.
+131
Css-баллун без графики
3 мин
13K![](https://habrastorage.org/getpro/habr/post_images/aba/998/940/aba998940a0baec12484e6beee6b0c5a.png)
Несколько раз по работе сталкивался с необходимостью верстать баллуны (облачка, филактеры). Если кто не в курсе, это такие штуки, с помощью которых в комиксах озвучивают реплики персонажей. В интерфейсах же сайтов их обычно используют для всяческих всплывающих подсказок к элементам.
+50
Микрозаметка: Итераторы/Генерация диапазонов дат, чисел и тд
3 мин
1.7KЭта заметка навеяна топиком "подсчет количества событий календаря в каждом месяце года". В ней нет ничего нового, это просто микрозаметка о возможных решениях.
Хотя задача того топика очень типична и вполне спокойно решалась обычным проходом с case или if:
Но я счел нужным написать о некоторых возможностях избежать излишнюю ручную работу. Например, если нам необходимо бы было агрегировать не за год и не за два, а, скажем, за последние 5 лет помесячно. Согласитесь, в таком случае 60 строк c if'ами было бы как минимум тяжело читать.
Хотя задача того топика очень типична и вполне спокойно решалась обычным проходом с case или if:
SELECT
sum(
CASE
when t.`start_date`<'2010-02-01' and t.end_date>'2010-01-01' then 1
else 0
end
)
AS jan,
sum(
CASE
when t.`start_date`<'2010-03-01' and t.end_date>'2010-02-01' then 1
else 0
end
)
AS feb,
...
FROM test t
Но я счел нужным написать о некоторых возможностях избежать излишнюю ручную работу. Например, если нам необходимо бы было агрегировать не за год и не за два, а, скажем, за последние 5 лет помесячно. Согласитесь, в таком случае 60 строк c if'ами было бы как минимум тяжело читать.
+25
MySQL: Хранимые процедуры и динамический SQL
1 мин
51KЕсли кто-либо из вас пытался сделать вроде бы очевидную вещь, а именно, создать sql запрос внутри процедуры передав ей имя таблицы, пользователя и т.п., то скорее всего натыкались на ошибку, о том, что нельзя использовать динамический sql.
Такая конструкция работать не будет. А что же делать, чтобы она заработала?
SET @mytable='users';
SELECT * FROM @mytable;
Такая конструкция работать не будет. А что же делать, чтобы она заработала?
+61
MySQL шпаргалки
3 мин
820KЧасто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.
Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.
Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.
+171
jQuickForm = генератор форм на PHP (большое обновление)
8 мин
11K![пример демотиватора пример демотиватора](https://habrastorage.org/storage/habraeffect/ac/d2/acd2009e1d4cc48ca351d6af043317b4.jpg)
Прошло несколько дней с публикации анонса о появлении на свет jQuickForm (если в двух словах, то jQuickForm это сборка jQuery + HTML_QuickForm2).
Была получено масса положительных отзывов, в т.ч. в личку, много посетителей сайта проекта сказали «LikeIt», а это говорит о том, работа нужная и своевременная.
Итак, сегодня я хочу сказать о том, что на данный момент практически все явные и потайные возможности jQuickForm описаны, а это ни много, ни мало:
Элементы
InputText, InputPassword, Date (выбор даты, состоящий из нескольких элементов типа select), DatePicker (jQueryUI), Slider (jQueryUI — «ползунок»), SliderRange (jQueryUI — диапазон значений), Select, Buttons, Textarea, Page (элемент для построения многостраничного мастера), Static (элемент формы для вставки произвольного HTML), jWysiwyg (простейший редактор), Autocomplete One Array (автокомплит с единственным значением и инициализацией при помощи передачи массива), Autocomplete One Remote (то же самое, но источник — аякс-скрипт), Autocomplete Multiple Array (автокомплит с множеством значений через запятую, используется, например, для формирования списка веб2.0 меток, источник — массив), Autocomplete Multiple Remote (тоже самое с удаленным источником), File Upload (обычный элемент загрузки файлов), и, по заявкам телезрителей — File MultiUpload
+49
База изображений в любых форматах и разрешениях
3 мин
4.5Kзаказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
+123
Google Wave отдают народу в готовом виде
2 мин
3.5KКоманда разработчиков Google Wave приняла решение запустить open source проект на базе Google Wave, кроме тех 200k строк кода, которые уже открыты (см. waveprotocol.org). Новый проект — более чётко скомпонованное решение, фактически, уже готовая система.
Проект называется Wave in a Box и включает в себя следующее:
* пакет приложений, включая сервер и клиенты с поддержкой структурированных коммуникаций в реальном времени по образцу системы Google Wave;
* быстрая и полнофункциональная wave-панель для веб-клиента с полной поддержкой тредовых чатов;
* стабильное хранилище данных и реализация поиска для сервера (сделано на стороннем коде для внедрения MongoDB)
* усовершенствованные клиент-серверные протоколы;
* поддержка API для гаджетов, роботов и данных;
* поддержка импорта wave-данных с wave.google.com;
* возможность объединения различных инстансов Wave in a Box, с некоторой дополнительной конфигурацией.
Проект называется Wave in a Box и включает в себя следующее:
* пакет приложений, включая сервер и клиенты с поддержкой структурированных коммуникаций в реальном времени по образцу системы Google Wave;
* быстрая и полнофункциональная wave-панель для веб-клиента с полной поддержкой тредовых чатов;
* стабильное хранилище данных и реализация поиска для сервера (сделано на стороннем коде для внедрения MongoDB)
* усовершенствованные клиент-серверные протоколы;
* поддержка API для гаджетов, роботов и данных;
* поддержка импорта wave-данных с wave.google.com;
* возможность объединения различных инстансов Wave in a Box, с некоторой дополнительной конфигурацией.
+113
Обзор нескольких новых плагинов jQuery
4 мин
6.4KПеревод
Довольно часто я наступаю на одни и те же грабли. Стараясь выполнить какой-нибудь проект побыстрее, я с головой ухожу в реализацию необходимой функциональности. А через неделю, мне на глаза обязательно попадается описание библиотеки, фреймворка или плагина, воспользовавшись которыми, я мог бы выполнить свою часть работы в разы быстрее. В общем, сейчас я стараюсь быть в курсе готовых решений в интересующих меня областях. В последнее время мне часто приходится работать с javascript и поэтому, сейчас я уделяю особое внимание библиотеке jQuery и ее плагинам. Должен сказать, что упускать из виду такое разнообразие готовых решений просто нельзя. Данная статья сделана на основе обзора «50 Awesome New jQuery Plugins», который я прочитал пару дней назад.
+114
jQuery без рамок
4 мин
3.6KФреймворк — набор инструментов, но не традиций или конвенций программирования, а цель любого приложения — это скорость выполнения и правильность результатов. В опубликованной статье показано эффективное использование запросов к DOM, но не только от этого приложение на jQuery будет работать быстрее.
+32
Горький опыт, резервное копирование и качественная техподдержка
3 мин
23K![image](https://habrastorage.org/getpro/habr/post_images/93c/bb4/af8/93cbb4af83d4df19e4709aa56be78f5e.jpg)
Началось все с того, что нужен был быстрый бэкап MySQL по расписанию, а именно каждый день. Так как это нужно было сделать сегодня на вчера был выбран уже установленный софт — Handy Backup. Быстренько сделав задачу на бэкап и настроив уведомления я забыл об этом на полгода.
Это было моей первой ошибкой, потому что
+57
Celery — распределенная очередь заданий
3 мин
85KНа этот раз мы решили рассказать о замечательном продукте, который мы используем в нашей работе. Речь пойдет о Celery — «distributed task queue». Это распределенная асинхронная очередь заданий, которая обладает широким функционалом. В нашем конструкторе сайтов нам часто приходиться запускать асинхронные с точки зрения ответа пользователю задачи. На хабре, к сожалению, не много информации по данному продукту, а он заслуживает отдельного упоминания, это мы и хотим исправить.
Итак, что же умеет Celery:
Заинтересовало? Просим под кат.
Итак, что же умеет Celery:
- Выполнять задания асинхронно или синхронно
- Выполнять периодические задания(умная замена crond)
- Выполнять отложенные задания
- Распределенное выполнение (может быть запущен на N серверах)
- В пределах одного worker'а возможно конкурентное выполнение нескольких задач(одновременно)
- Выполнять задание повторно, если вылез exception
- Ограничивать количество заданий в единицу времени (rate limit, для задания или глобально)
- Routing заданий (какому worker'у что делать)
- Несложно мониторить выполнение заданий
- Выполнять подзадания
- Присылать отчеты об exception'ах на email
- Проверять выполнилось ли задание (удобно для построения Ajax приложений, где юзер ждет факта завершения)
Заинтересовало? Просим под кат.
+8
Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL
6 мин
198KВ одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
+93
Несколько советов для PHP-разработчиков
4 мин
7.9K![image](https://habrastorage.org/getpro/habr/post_images/75a/400/370/75a40037029b7d87ed228c705b4ab4da.gif)
+98
QuickAdm — быстрые универсальные админки
1 мин
14KВ процессе работы, я как-то набрел на проект phpMyEdit — web-интерфейс, позволяющий относительно просто поднимать админки для табличных данных.
После доработки для себя, родилось решение, которое я назвал QuickAdm. Оно делает за очень короткие сроки админки через web-интерфейс к таблицам, имеет простейшую ACL и защиту паролем.
Таблицы называются объектами, их поля — свойствами. Имя объекта/свойства равно имени таблицы и поля в MySQL, поэтому вводить нужно латиницей.
Потестить это можно тут: http://yamozg.ru/adm (логин/пароль для чтения reader/reader, админские admin/admin — удаление таблиц там не работает, ибо запрещено на уровне БД).
Скачать вот тут: http://yamozg.ru/quickadm.tar.gz (настроить нужно config.php и выполнить quickadm.sql в нужной базе, приложение расчитано на работу в папке /adm/ относительно корня сайта).
Код изяществом не отличается, написан как адаптер поверх этого phpMyEdit, поэтому прошу особо не пинать. Думаю, кому-нибудь может пригодится.
После доработки для себя, родилось решение, которое я назвал QuickAdm. Оно делает за очень короткие сроки админки через web-интерфейс к таблицам, имеет простейшую ACL и защиту паролем.
Таблицы называются объектами, их поля — свойствами. Имя объекта/свойства равно имени таблицы и поля в MySQL, поэтому вводить нужно латиницей.
Потестить это можно тут: http://yamozg.ru/adm (логин/пароль для чтения reader/reader, админские admin/admin — удаление таблиц там не работает, ибо запрещено на уровне БД).
Скачать вот тут: http://yamozg.ru/quickadm.tar.gz (настроить нужно config.php и выполнить quickadm.sql в нужной базе, приложение расчитано на работу в папке /adm/ относительно корня сайта).
Код изяществом не отличается, написан как адаптер поверх этого phpMyEdit, поэтому прошу особо не пинать. Думаю, кому-нибудь может пригодится.
+20
Способы оценки эффективности работника
4 мин
43KМногие менеджеры сталкиваются с одной очень занимательной проблемой в IT-сфере. И имя этой проблеме — оценка эффективности работника. Еще пол столетия назад такая задача не вызывала приступов мигрени и паники у руководителей или экономистов, потому что все было просто. Работник закрутил 50 гаек — плохо, закрутил 150 гаек — великолепно! Но пришла революция информационных технологий, и оценка эффективности стала краеугольным камнем.
![image](https://habrastorage.org/storage/habraeffect/0e/ed/0eed08d0d7665c1446c039b0bd52e9fb.jpg)
Давайте разберемся, что к чему. Допустим, у нас есть абстрактный IT-работник, очень сильно смахивающий на программиста, который будет создавать не менее абстрактный продукт в некой компании таких же абстрактных работников. Первое, что сделал бы оценщик середины 19 века, это вывел вполне четкие показатели труда. И были бы это время и количество кода. Чем больше кода создает работник, при минимальных временных затратах, тем более эффективный работник. Все это хорошо, но это не работает.
![image](https://habrastorage.org/storage/habraeffect/0e/ed/0eed08d0d7665c1446c039b0bd52e9fb.jpg)
Давайте разберемся, что к чему. Допустим, у нас есть абстрактный IT-работник, очень сильно смахивающий на программиста, который будет создавать не менее абстрактный продукт в некой компании таких же абстрактных работников. Первое, что сделал бы оценщик середины 19 века, это вывел вполне четкие показатели труда. И были бы это время и количество кода. Чем больше кода создает работник, при минимальных временных затратах, тем более эффективный работник. Все это хорошо, но это не работает.
+118
Информация
- В рейтинге
- Не участвует
- Откуда
- Томская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность