По мере накопления опыта программирования на одном языке, все мы нарабатываем стандартные для себя приемы программирования. Чем выше наш опыт, тем больше количество, более разносторонни методы их работы. При переходе на другой язык, мы стараемся их воспроизвести. Иногда, такое бывает что часть из них неактуальна или неэффективна. Большую часть времени от изучения языка отнимают новые несвойственные прежним нам, приемы. Я хотел бы отметить некоторые особенности Python, которые для меня были не очевидны поначалу освоения.
Sam Lowry @samlowry
User
Гринмоб — чем я могу помочь планете?
2 min
689Хотел бы представить проект greenmob.ru. Это о том, как вы лично без особых усилий можете сделать нашу планету чуть лучше.
Помимо информационной, я попытался заложить в проект мотивирующую функцию. Под любой из идей вы можете поставить свою виртуальную подпись (типа как на petitiononline.com), тем самым вы обещаете самому себе и общественности следовать советам, изложенным в этой идее.
+57
Плагин Типограф для FireFox
1 min
1.3KПлагин Типограф для FireFox, написанный Максимом Мазиным, теперь поддерживает веб-сервис проекта http://typograf.ru
+52
ENTrap — небольшая утилитка для Evernote
2 min
681 Данный топик может быть полезен активным пользователям Evernote, пытающимся использовать его чуть более шире, чем просто для ведения базы заметок, в частности для ведения дел в стиле GTD. Страница проекта: http://code.google.com/p/entrap/
+6
10 шагов для защиты вашего WordPress блога
6 min
63KTranslation
Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и WordPress — при сустановке нового блога система создает аккаунт администратора с уникальным случайно сгенерированным в реальном времени паролем, чем блокирует всеобщий доступ к настройкам системы, контролируя его c помощью страницы авторизации.
Эта статья сфокусирована на вопросах усиления безопасности WordPress — как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin», которое отображается только после авторизации. Мы сознательно выделили фразу "после авторизации" — вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.
Чтобы в разы усложнить задачу взломщиков, мы предлагаем набор операций, которые вы можете выполнить вручную. Эти решения не гарантируют 100% защиту, но с их помощью вы заметно улучшите безопасность вашего блога.
Эта статья сфокусирована на вопросах усиления безопасности WordPress — как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin», которое отображается только после авторизации. Мы сознательно выделили фразу "после авторизации" — вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.
Чтобы в разы усложнить задачу взломщиков, мы предлагаем набор операций, которые вы можете выполнить вручную. Эти решения не гарантируют 100% защиту, но с их помощью вы заметно улучшите безопасность вашего блога.
+37
UserJS. Часть I: Введение
3 min
14KЭто первая статья из серии, посвященной написанию пользовательских скриптов для Opera. Изначально планировалась одна единственная статья, но она уже перевалила за 10 экранов и все ещё дописывается.
Статьи расчитаны на аудиторию, хорошо знающую javascript и DOM. Описаны только особенности использования javascript в userjs.
- Первая статья является кратким описанием пользовательских скриптов (далее userjs), их возможностей и соответствующих настроек Opera. Это вольный пересказ официальной документации. Все, кто написал хоть один userjs, могут с чистой совестью эту часть пропустить.
- Вторая статья посвящена вопросам переиспользования кода в userjs, а также различным трюкам при написании пользовательских скриптов (далее userjs) для Opera, вроде сохранения настроек, доступа к буферу обмена и кросс-доменных запросов.
- Третья статья посвящена вопросам безопасности при написании userjs, особенно при использовании продвинутых трюков, которые дают доступ к важным данным или файловой системе.
- Четвертая статья посвящена userjs framework'у, который является готовой реализацией описанных трюков.
Статьи расчитаны на аудиторию, хорошо знающую javascript и DOM. Описаны только особенности использования javascript в userjs.
+14
UserJS. Часть 4: libretki framework
8 min
1.7Klibretki — это framework, призванный упростить создание userjs и предоставить уже готовый набор полезных функций.
Другие статьи серии:
Ядро системы представлено файлом libretki.core.js, который является развитием loader.js из второй статьи. Ядро также предоставляет некоторые базовые функции. Если все, что Вам нужно — это возможность подключать другие файлы, ядра достаточно.
Типовой скрипт с использованием libretki:
Другие статьи серии:
Ядро
Ядро системы представлено файлом libretki.core.js, который является развитием loader.js из второй статьи. Ядро также предоставляет некоторые базовые функции. Если все, что Вам нужно — это возможность подключать другие файлы, ядра достаточно.
Типовой скрипт с использованием libretki:
if (! ('libretki' in window)) { libretki = { __scripts: [] }; } libretki.__scripts.push({ name: 'habrahabr.example', requires: ['libretki.utilities'], init: function(unsafe) { // some code... libretki.core.namespace('habrahabr.example', { func: function() { /* ... */ }, }); } });
+23
Книга «Introduction to Information Retrieval»
1 min
6.3K Оказывается, что есть отличная книжка по поисковым технологиям (Information Retrieval) от Cambridge University Press. Html и pdf версии лежат в свободном доступе. Работа над ней то ли еще ведется, то ли недавно закончена (последнее обновление — 7 апреля 2009). Книжка написана отличным английским языком, есть хорошие упражнения. В общем, рекомендую всем кому интересно как устроены Google и Yandex!
Html-версия — nlp.stanford.edu/IR-book/html/htmledition/irbook.html
PDF-версия (очень красивая, рекомендую!) — nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf
А вот про Information Retrieval в википедии — en.wikipedia.org/wiki/Information_retrieval
Html-версия — nlp.stanford.edu/IR-book/html/htmledition/irbook.html
PDF-версия (очень красивая, рекомендую!) — nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf
А вот про Information Retrieval в википедии — en.wikipedia.org/wiki/Information_retrieval
+51
ChatterBlocker или Вон из моей головы!
1 min
5.7KКак-то привык я к тому, что предметы вокруг меня должны издавать звуки. Музыка это, или просто шум системника — не суть. Лишь бы тишина на уши не давила.
Но если шум системника сам по себе довольно ровный, то музыка (особенно вокальные треки) может здорово отвлекать.
А если ты не дома, а в офисе? Да еще с шумными соседями а–ля «Добрый день, — Марина, отдел закупок, мы бы хотели...» и в таком духе. Концентрация «магическим» образом улетучивается, оставляя после себя стресс и порой несделанную в срок работу.
Есть ли выход?
Но если шум системника сам по себе довольно ровный, то музыка (особенно вокальные треки) может здорово отвлекать.
А если ты не дома, а в офисе? Да еще с шумными соседями а–ля «Добрый день, — Марина, отдел закупок, мы бы хотели...» и в таком духе. Концентрация «магическим» образом улетучивается, оставляя после себя стресс и порой несделанную в срок работу.
Есть ли выход?
+28
Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали. Часть 2
7 min
710Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали. Часть 1.
Итак, директор с товарищем С. отправились в Лондон, встречаться с воротилами бизнеса. Расчет был такой – люди, к которым отправились наши делегаты, в интернет-бизнесе разбирались слабо, кризисом в те времена и не пахло, истерика вокруг прибылей стартапов была на пике. Стоит заметить, что на тот момент из технической документации были только наброски идей и общее описание, в котором в общих чертах обрисовывались рамки проекта. Плюс смета на первичные расходы и примерная стоимость разработки на первые два года жизни.
Первые блины
Итак, директор с товарищем С. отправились в Лондон, встречаться с воротилами бизнеса. Расчет был такой – люди, к которым отправились наши делегаты, в интернет-бизнесе разбирались слабо, кризисом в те времена и не пахло, истерика вокруг прибылей стартапов была на пике. Стоит заметить, что на тот момент из технической документации были только наброски идей и общее описание, в котором в общих чертах обрисовывались рамки проекта. Плюс смета на первичные расходы и примерная стоимость разработки на первые два года жизни.
+89
Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали
4 min
767Ни для кого не секрет, что нынешнее IT-сообщество уже давно с головой погрузилось в лихорадку стартапов (чему кризис не особенно мешает), я лично не знаю ни одного человека из моего круга общения веб-ориентированных специалистов, который не имел бы своей гениальной идеи. Кто-то уже начал и с горящими глазами проводит ночи за программированием, некоторые вяло копаются в начатом год-два назад. Не хочу судить хорошо это или плохо и рассуждать о том, куда кто катится, просто хотелось бы рассказать одну историю из жизни стартаперов, выводы из которой предлагаю сделать самостоятельно.
Собственно, поведать я хочу о том, как группа товарищей едва не получила инвестиции, которых она по всем признакам ну никак получить не могла, попутно развалив компанию. Имён, названий и дат называть не буду, дабы не скомпрометировать участников, ну и просто хотелось бы рассказать эту историю в обезличенном варианте (хотя участники событий себя, конечно же, узнают). Рассказ будет длинным, приготовьтесь.
Собственно, поведать я хочу о том, как группа товарищей едва не получила инвестиции, которых она по всем признакам ну никак получить не могла, попутно развалив компанию. Имён, названий и дат называть не буду, дабы не скомпрометировать участников, ну и просто хотелось бы рассказать эту историю в обезличенном варианте (хотя участники событий себя, конечно же, узнают). Рассказ будет длинным, приготовьтесь.
+91
Книга «Секреты веб-приложений Google»
3 min
872Здравствуйте. Меня зовут Денис Балуев и я пишу книгу о веб-приложениях компании Google. Звучит как признание члена клуба анонимных алкоголиков, правда? Мне тоже нравится. О том, как создается книга, я с вашего позволения буду рассказывать в этом блоге. Даешь писательское реалити-шоу о том, как книга создается с нуля — от первых глав черновика до получения вкусно пахнущих типографской краской авторских экземпляров и отзывов первых читателей!
Я — непрофессиональный писатель. Со второго класса мечтал стать программистом и спустя десять лет все-таки стал им. Разрабатывал и внедрял системы управления предприятиями (ERP) и отношениями с клиентами (CRM). Затем занимался оптимизацией производственных процессов, а потому не понаслышке знаю, что такое кайзен и, пардон, муда. Кроме этого, я периодически писал статьи на технические темы в различные журналы — больше всего их печатал нежно любимый мной еще со школы журнал «Компьютерра». Также я совершенно случайно выиграл конкурс на лучший фантастический рассказ в журнале «Если». С тех пор «Яндекс» полон ссылок на аудиоверсию моего рассказа «Опоздавшие». Некоторые даже знают меня как автора блога LifeHack.ru — одного из первых в Рунете по тематике «взлома жизни».
Я — непрофессиональный писатель. Со второго класса мечтал стать программистом и спустя десять лет все-таки стал им. Разрабатывал и внедрял системы управления предприятиями (ERP) и отношениями с клиентами (CRM). Затем занимался оптимизацией производственных процессов, а потому не понаслышке знаю, что такое кайзен и, пардон, муда. Кроме этого, я периодически писал статьи на технические темы в различные журналы — больше всего их печатал нежно любимый мной еще со школы журнал «Компьютерра». Также я совершенно случайно выиграл конкурс на лучший фантастический рассказ в журнале «Если». С тех пор «Яндекс» полон ссылок на аудиоверсию моего рассказа «Опоздавшие». Некоторые даже знают меня как автора блога LifeHack.ru — одного из первых в Рунете по тематике «взлома жизни».
+43
phpThread: нити в PHP? Запросто
2 min
2.2KЕсли вы хотите научиться писать многопоточные приложения на PHP или здорово упростить себе жизнь — статья для вас.
Раньше для этих целей я пользовался либо запуском несколько копий скрипта, либо же использовал pcntl на более низком уровне, чем хотелось бы. Это, а от части и Java-идеология работы с потоками, побудили меня к написанию пакета phpThread.
Раньше для этих целей я пользовался либо запуском несколько копий скрипта, либо же использовал pcntl на более низком уровне, чем хотелось бы. Это, а от части и Java-идеология работы с потоками, побудили меня к написанию пакета phpThread.
+47
Evernote и «Вселисделал»: диктуйте заметки по телефону
3 min
3.9KПеред нами постоянно стоит задача предлагать пользователям новые варианты для создания заметок в разных ситуациях. Уже есть клиентские приложения Evernote для разных платформ и мобильных устройств, тесная интеграция с операционными системами и браузерами — все это позволяет достаточно быстро и удобно создавать текстовые, аудио- и фотозаметки и синхронизировать их. Но есть одно «но». До сих пор пользователь все равно зависел от наличия Интернета. Кажется, нам помогли обойти и этот момент.
Да, действительно доступ к Интернету есть не всегда, но зато практически постоянно под рукой есть мобильный телефон. Итак, благодаря сервису «Вселисделал», теперь появилась возможность надиктовывать аудиозаметки и даже помечать их метками простым звонком на бесплатный номер. За несколько дней тестирования мы уже успели наиграться с этой функцией и остались в полном восторге. Самое подкупающее в этой возможности — простота и универсальность. Фиксировать свои мысли можно практически в любой ситуации — на ходу, за рулем в машине, на утренней пробежке и т. д.
Как это работает?
Для работы нужны связанные аккаунты в сервисах «Вселисделал» и, разумеется, Evernote. Небольшая инструкция о том как это сделать чуть ниже.
Когда все настроено, достаточно позвонить на бесплатный номер 8-800-100-3342 и после приветствия системы продиктовать пришедшую на ум мысль, предварив ее ключевым словом EVERNOTE (произносится как ЭВЕРНОУТ). Например: «ЭВЕРНОУТ. Не забыть взять на завтрашнюю встречу распечатку презентации. МЕТКА «важно». Через пару минут соответствующая заметка с распознанным текстом уже появится в Evernote, и ей будет назначена метка «важно». При этом к заметке будет прикреплен WAV-файл с исходной записью вашего голоса. Стоит отметить, что возможность добавлять заметки голосом доступна даже в базовом аккаунте «Вселисделал», то есть бесплатна для пользователей.
Как привязать аккаунт во «Вселисделал» к аккаунту Evernote?
+65
Диджеинг в Ableton Live
12 min
57KДоброго времени суток уважаемые хабрапользователи! Спешу поделиться с вами отличной статьей, которую написал товарищ Jackarus (TriminghamDJ Trimingham). Сам он к сожалению запостить не смог, поэтому пришлось это сделать мне. Так что если кто-то захочет поблагодарить автора статьи, помните что автор — Jackarus (надеюсь он объявиться в комментариях), а не я, помните кого плюсовать ;)
P.S. Заодно, пользуясь случаем, хочу извиниться перед автором статьи за огромную задержку в публикации.
P.S. Заодно, пользуясь случаем, хочу извиниться перед автором статьи за огромную задержку в публикации.
+30
«Правильный водитель». Дневник проекта. Часть 2. Разработка и поддержка.
2 min
598Прошло две недели с момента официального старта моего проекта «Правильный водитель». Сегодня я хочу рассказать, во что обошлась мне разработка и наполнение стартовым содержанием «под ключ». Предыдущие заметки есть в моем блоге на Хабре.
Поскольку это мой личный проект, ресурсы компании я решил не использовать и, при этом, потратить минимально необходимую сумму. Четкое представление о направленности ресурса и идея некоторой скандальности значительно упростило задачу дизайна и структуры и, как показал дальнейший опыт, способствовало раскрутке.
Поскольку это мой личный проект, ресурсы компании я решил не использовать и, при этом, потратить минимально необходимую сумму. Четкое представление о направленности ресурса и идея некоторой скандальности значительно упростило задачу дизайна и структуры и, как показал дальнейший опыт, способствовало раскрутке.
+37
Evernote в России: Слон доехал
3 min
11KСегодня наша команда официально запустила сервис Evernote на русском языке — www.evernote.com!
Не буду скрывать, мы внимательно отслеживали все упоминания о нашем детище на Хабрахабре, и рады, что многие уже успели оценить возможности «слона», хотя еще и на английском языке. Но поскольку развивался Evernote до последнего времени преимущественно в США, и в Рунете о нем пока знают немногие, имеет смысл рассказать подробнее. Рассказ и видео под катом.
Не буду скрывать, мы внимательно отслеживали все упоминания о нашем детище на Хабрахабре, и рады, что многие уже успели оценить возможности «слона», хотя еще и на английском языке. Но поскольку развивался Evernote до последнего времени преимущественно в США, и в Рунете о нем пока знают немногие, имеет смысл рассказать подробнее. Рассказ и видео под катом.
+88
Всего лишь десять строчек кода?
1 min
506Венчурный капиталист Фред Уилсон очень хорошо высказался о том, насколько глупо судить о ценности стартапа, исходя только из технической сложности проекта. Он говорит, что среди многих гиков часто встречается пренебрежительное отношение к проекту, если тот технологически прост. Они говорят: «Да это всего лишь 10 строчек кода, я такое сделаю за один день» (как вариант — «да я такое делал ещё пять лет назад»). Это огромное заблуждение, потому что львиную долю стоимости проекта составляет вовсе не количество строчек кода, а аудитория проекта. Собрать аудиторию — вот в чём задача стартапа.
Фред Уилсон опубликовал свои рассуждения в развитием флейма относительно вчерашней новости об инвестициях в сервис по сокращению ссылок Bit.ly, который оценили в $8 млн. Флеймеры-гики настаивали, что такой простой сервис не может стоить таких больших денег. Собственно, подобные комментарии были даже на Хабре, и многие поддерживают данное мнение, хотя оно совершенно бессмысленно, ведь копирование того же самого кода в своём сервисе ничего не даёт, если вы не можете построить такую же аудиторию.
На самом деле переоценка значимости кода со стороны технарей относится к той же категории заблуждений, что и мнение владельцев контента, которые переоценивают значимость эксклюзивного и уникального контента. Программисты переоценивают код, авторы переоценивают контент. Если можно так сказать, это сугубо профессиональные заблуждения.
via Techdirt
Фред Уилсон опубликовал свои рассуждения в развитием флейма относительно вчерашней новости об инвестициях в сервис по сокращению ссылок Bit.ly, который оценили в $8 млн. Флеймеры-гики настаивали, что такой простой сервис не может стоить таких больших денег. Собственно, подобные комментарии были даже на Хабре, и многие поддерживают данное мнение, хотя оно совершенно бессмысленно, ведь копирование того же самого кода в своём сервисе ничего не даёт, если вы не можете построить такую же аудиторию.
На самом деле переоценка значимости кода со стороны технарей относится к той же категории заблуждений, что и мнение владельцев контента, которые переоценивают значимость эксклюзивного и уникального контента. Программисты переоценивают код, авторы переоценивают контент. Если можно так сказать, это сугубо профессиональные заблуждения.
via Techdirt
+45
Объединение пропускной способности двух интернет каналов и простая отказоустойчивость
5 min
84KЕсть у меня своя домашняя сеть, с linux сервером, и подключена она к интернет с помощью беспроводного соединения — на крыше антена и роутер, к серверу подключено витой парой. Все вобщем то неплохо, канал с гарантированой полосой в обоих направлениях, постоянный IP адрес, довольно надежный — падает редко. Но вот есть у него один минус — цена кусается.
Ценовая политика провайдера построена так, что для того, чтоб увеличить скорость в два раза — платить тоже надо в два раза больше. А скорости хочется больше! И надежности тоже — как то во время сильных заморозков роутеру стало «холодно» и интернета вечером и ночью небыло.
Поэтому задумал я провести домой второй интернет-канал, выбар пал на одного известного на Украине провайдера, предоставляющего доступ по ADSL. У него и тарифы недорогие и модем ADSL стоит недорого. Так я и сделал, подключился, воткнул ADLS модем в свич — все работает. Но от старого доброго беспроводного канала отказываться мне нехотелось, поэтому задумал я сделать так, чтоб интернет трафик шел сразу по обеим каналам, так, чтоб я мог воспользоваться суммарной пропускной способностью. Да еще и чтоб при падении одного канала всю нагрузку на себя брал другой.
Ценовая политика провайдера построена так, что для того, чтоб увеличить скорость в два раза — платить тоже надо в два раза больше. А скорости хочется больше! И надежности тоже — как то во время сильных заморозков роутеру стало «холодно» и интернета вечером и ночью небыло.
Поэтому задумал я провести домой второй интернет-канал, выбар пал на одного известного на Украине провайдера, предоставляющего доступ по ADSL. У него и тарифы недорогие и модем ADSL стоит недорого. Так я и сделал, подключился, воткнул ADLS модем в свич — все работает. Но от старого доброго беспроводного канала отказываться мне нехотелось, поэтому задумал я сделать так, чтоб интернет трафик шел сразу по обеим каналам, так, чтоб я мог воспользоваться суммарной пропускной способностью. Да еще и чтоб при падении одного канала всю нагрузку на себя брал другой.
+95
Рисоваська, часть 3: Амазоновские веб-сервисы в действии
10 min
36KВ данной статье я расскажу, что же такое Amazon Web Services или сокращенно AWS, для чего это можно использовать, и приведу пошаговую инструкцию, как настроить их у себя с самого начала. В статье основной упор будет сделан на Amazon Elastic Compute Cloud или EC2 и Amazon Simple Storage Service или S3. Amazon CloudFront, являющийся логическим продолжением S3, хорошо рассмотрен в статье mish: Настраиваем CloudFront для работы с S3. С остальными амазоновскими сервисами вы можете познакомиться самостоятельно: Amazon SimpleDB, Amazon Simple Queue Service или SQS, а также другими сервисами Амазона. Данная статья является продолжением первой и второй статей. Итак:
Это набор удобных сервисов, которые можно использовать как по отдельности, так и вместе. В первую очередь это «облачные вычисления» (анг. Elastic Compute Cloud). Что это значит? Это значит, что вы можете запустить в «облаке» любое кол-во компьютеров нужной вам конфигурации c нужной вам операционной системой всего за пару минут. Это действительно так. Время запуска одного инстанса (instance называется один виртуальный сервер в амазоне) обычно не превышает двух минут. Сразу после запуска инстанс начинает работать, к нему есть root-доступ по SSH или Remote Desktop, если там установлен Windows. Не правда ли, здорово! С момента запуска оплата за инстанс идет по часам. В любой момент вы можете остановить инстанс и деньги за его использование перестанут сниматься. Помимо времени работы инстанса, так же отдельно оплачивается входящий и исходящий трафик.
Что такое Amazon Web Services
Это набор удобных сервисов, которые можно использовать как по отдельности, так и вместе. В первую очередь это «облачные вычисления» (анг. Elastic Compute Cloud). Что это значит? Это значит, что вы можете запустить в «облаке» любое кол-во компьютеров нужной вам конфигурации c нужной вам операционной системой всего за пару минут. Это действительно так. Время запуска одного инстанса (instance называется один виртуальный сервер в амазоне) обычно не превышает двух минут. Сразу после запуска инстанс начинает работать, к нему есть root-доступ по SSH или Remote Desktop, если там установлен Windows. Не правда ли, здорово! С момента запуска оплата за инстанс идет по часам. В любой момент вы можете остановить инстанс и деньги за его использование перестанут сниматься. Помимо времени работы инстанса, так же отдельно оплачивается входящий и исходящий трафик.
+95
Information
- Rating
- Does not participate
- Location
- Таиланд
- Registered
- Activity