Как стать автором
Обновить
1
0
FunFun @FunFun

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

Отправить сообщение

Создай свой QR-код с goo.gl

Время на прочтение 1 мин
Количество просмотров 8.4K
С недавнего времени, сервис коротких ссылок goo.gl, предоставляет возможность превратить любую ссылку в QR-код. Всё что вам нужно — это добавить в конце ссылки .qr (пример: habrastorage.org/getpro/geektimes/post_images/ead/632/a1f/ead632a1fc062b104d2461efa149a05b.png).
image
Всего голосов 77: ↑63 и ↓14 +49
Комментарии 68

Python попытаются научить летать

Время на прочтение 1 мин
Количество просмотров 2.3K
Всеми любимая корпорация Google решила стать ещё более всеми любимой, анонсировав проект "Unladen Swallow", цель которого — ускорить выполнение Python скриптов ровно в пять раз.
Чтобы добиться этой цели, разработчики хотят изменить механизм блокировок, переработать сборщик мусора для работы в неблокирующем режиме, улучшить средства для создания многопоточных программ, оптимизировать работу на многоядерных CPU за счет распараллеливания вычислений и самое главное — заменить виртуальную машину стандартного Python интерпретатора на основанный на LLVM JIT-компилятор, на лету транслирующий скрипты в исполняемый код.
Новый интерпретатор не является «велосипедом», и основан на коде стандартного CPython 2.6.1, имея полную с ним совместимость.
В текущем срезе Unladen Swallow удалось добиться ускорения работы на 15-25%, только благодаря дополнительным оптимизациям без замены виртуальной машины. Новая виртуальная машина будет интегрирована во втором квартале этого года.
Кроме того, Google стремится по максимуму возвращать патчи в базовый Python интерпретатор, в конечном итоге полностью интегрировав все свои наработки в стандартный CPython и адаптировав разработку для ветки Python 3.
P.S. Особенно эта новость должна порадовать MIT (Технологический Институт Массачусетса), который решился использовать Python вместо Scheme.
Всего голосов 96: ↑92 и ↓4 +88
Комментарии 47

Алгоритмы поиска, обратный индекс — Часть 1

Время на прочтение 2 мин
Количество просмотров 11K
image
C этой статьи я начинаю цикл статей по SEO, в которых будет теория, практика и советы. Начнем естественно с азов. В материале вкратце описываются алгоритмы, по которым современные поисковые системы осуществляют поиск, как проходит индексация, какие математические модели используются при поиске документов.


Что вы узнаете?


Алгоритмы поиска. Что представляет из себя индексация, инвертированный индекс. Математические модели, используемые современными поисковыми системами.
Узнать больше
Всего голосов 81: ↑45 и ↓36 +9
Комментарии 48

Структура технического задания

Время на прочтение 2 мин
Количество просмотров 6.7K
Вопросы, которыми я задавался при написании технического задания на разработку сайта, как его сделать максимально простым и понятным для заказчика, но при этом ограничить и максимально документировать возможности будущего продукта (сайта). Пришлось просмотреть множество различных примеров, способов подачи ТЗ, просмотрел — теперь делюсь своими идеями и домыслами.

Читать дальше →
Всего голосов 15: ↑11 и ↓4 +7
Комментарии 10

Проектирование и реализация функционала: протоптанные тропинки и проложенные дорожки

Время на прочтение 3 мин
Количество просмотров 2.1K
Хочу начать с описания одного случая:

Святослав Фёдоров лично руководил строительством своей больницы. И вместо того, чтобы заранее обдумывать расположение дорожек и асфальтировать их, он подождал, пока люди сами протопчут тропинки там, где им удобно ходить. Потом осталось просто проложить дорожки на месте тропинок.

Задумайтесь и вспомните, сколько раз вы видели по-идиотски проложенные дорожки и тропинки, которые люди протаптывают в обход, как им удобно.

Почему так происходит? Потому что некоторые плохие проектировщики просто не в состоянии предсказать потребности людей. И потому что некоторые потребности вообще очень сложно предсказать даже хорошим проектировщикам.

Вывод: нужно прилагать все усилия, чтобы правильно предсказать нужды пользователей, но при этом внимательно следить за реальным их взаимодействием со спроектированной системой и быть готовым эту систему исправить.

К сожалению, многие не просто заранее по-идиотски прокладывают дорожки, но и возмущаются потом, что люди ходят там, где им удобно, ставят заборы, вспахивают тропинки и заново засевают газон и т.д.

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

Пример, как действовать согласно описанному подходу:

Оффтоп в блогах и форумах
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 6

Web 3.0. Какой он?

Время на прочтение 4 мин
Количество просмотров 1.1K

Что ждет Web в будущем? Что грядет на смену Web 2.0? По итогам исследования, проведенного с помощью современных методов поиска информации, были выявлены наиболее часто употребляемые понятия, которые пользователи, профессионалы, аналитики и ученые связывают с Web 3.0, а значит и с будущим Сети.
Читать дальше →
Всего голосов 12: ↑5 и ↓7 -2
Комментарии 11

Что почитать по проектированию архитектуры?

Время на прочтение 2 мин
Количество просмотров 6.4K
Текущий проект на работе разросся до огромных размеров и продолжает расти.
Так получилось, что большая часть была создана людьми, которые уже не в проекте. И качество кода многих компонент зачастую ужасно. Но все это работает, пользователи всем этим пользуются и потому русское
«Это все никуда не годиться. Легче все написать заново» — не применимо.

Проект построен на связке tomcat,struts c java-сервером работающим с postgres. С веб-частью(tomcat) вроде все нормально. В самом сервере каша — где сам функционал по работе с БД.

На большой рефакторинг и обдумывание архитектуры обычно времени не хватает.
В то же время новые решения/изменения вносятся регулярно и итерационное выправление структуры вполне применимо.
Но как-то не уверен я, что вносимые изменения улучшают ситуацию. Скорее они не ухудшают.
Не хватает опыта в разработке правильных архитектурных решений, в использовании шаблонов.

Потому хочется почитать что-то по теме и дать почитать коллегам.
Не то чтобы я с луны свалился. Опыт какой никакой есть. И книг перечитано не мало.
Но возможно хабра-люди посоветуете что-то наиболее практичное с вашей точки зрения, без сухой теории.
(на русском языке, в бумажном виде, по теме: архитектура, паттерны проектирования, рефакторинг, разработка корпоративных приложений) — что-то наиболее приближенное к практике разработки большой быстро расширяемой системы.

уже есть(читал) по теме или близко:
— Рефакторинг. Фаулер
— Совершенный код. Стив Макконнелл
— Архитектура корпоративных программных приложений. Фаулер (хорошая книга)
— Еще какие-то одинаковые книги типа «Разработка корпор.приложений с помощью UML, J2EE» от
Гради Буча и пр.

Интересно не что-то общее из цикла типа RUP процессов разработки, а конкретно по архитектуре
и шаблонам развертывания, на примере конкретных коммерческих проектов.

Заранее спасибо за комментарии
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 16

Вступление. Руководство проектов, Жизнь как один большой проект.

Время на прочтение 2 мин
Количество просмотров 2K
Intro.
Все знают, что есть такая профессия проектами управлять.
Одни считают, что это может делать любой программист со знанием и глубоким понимание процесса кто-то считает, что у каждого есть свое дело и исполнитель должен исполнять, а руководитель должен управлять.
Так или иначе, Прожект менеджер, Руководитель проектов как профессия существует, развивается и достаточно востребована.

Это первый пост, в моем профессиональном блоге.
Я заметил, что есть люди, которые заинтересованы в теории и практики в области управления процессами в компании, построенной на Проектной деятельности.
Читать дальше →
Рейтинг 0
Комментарии 0

Азбука хорошего разработчика. Книжки для чтения

Время на прочтение 2 мин
Количество просмотров 3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Всего голосов 73: ↑72 и ↓1 +71
Комментарии 66

Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2

Время на прочтение 8 мин
Количество просмотров 190K
Как-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.

Бесплатные инструменты пентестера веб-приложений


В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:

  1. Сетевые сканеры
  2. Сканеры брешей в веб-скриптах
  3. Эксплойтинг
  4. Автомазация инъекций
  5. Дебаггеры (снифферы, локальные прокси и т.п.)

Читать дальше →
Всего голосов 111: ↑107 и ↓4 +103
Комментарии 22

Синтаксис объявления указателей на функции в С++

Время на прочтение 1 мин
Количество просмотров 31K
Когда я только начинал использовать С++, то всё время забывал синтаксис определения указателей на функции и особенно указателей на функции члены.

Позже узнал об одном небольшом lifehack'e, который помог мне избавиться от того что-бы держать в голове синтаксис определения указателей на ф-ции. Правда чуть позже этот всё само как-то осело у меня в голове и даже стало очевидно.

На днях показывал этот lifehack одному программисту и решил поделиться им здесь.
Читать дальше →
Всего голосов 78: ↑63 и ↓15 +48
Комментарии 46

Прокрастинация. Новые задачи. Часть 2

Время на прочтение 5 мин
Количество просмотров 109K
Сегодня мы продолжим борьбу с прокрастинацией.

Поговорим о новых задачах, узнаем что такое РЭПТ и для чего нужен план, существует ли кооперативная работа и когда это всё кончится?

Интересно?
Добро пожаловать под кат
Всего голосов 37: ↑33 и ↓4 +29
Комментарии 38

Как заинтересовать зарубежного работодателя

Время на прочтение 3 мин
Количество просмотров 59K
В моём прошлом посте про поступление в магистратуру без бакалавриата читатели очень интересовались как перебраться в Европу без диплома.

Итак, мне 26 лет, я веб-разработчик в Берлине и я никогда не учился в университете.
5 составляющих успеха
Всего голосов 123: ↑109 и ↓14 +95
Комментарии 113

Noty — необычайно гибкий плагин jQuery для вывода уведомлений

Время на прочтение 1 мин
Количество просмотров 31K

Почти месяц назад вышла вторая версия прекрасного и замечательного jQuery Notification plugin для вывода самых разнообразных уведомлений на сайте, странно что Хабр вообще обошёл его стороной, исправлю ситуацию.
Читать дальше →
Всего голосов 113: ↑110 и ↓3 +107
Комментарии 27

Начинающие стартаперы: хватит страдать фигней

Время на прочтение 7 мин
Количество просмотров 13K
imageЭто перевод статьи с TechCrunch, написанной Полом Стоматьо, соучредителем сервиса печати фотографий Picplum поддержанного Y Combinator. В этом внушительно мотивирующем посте, Пол рассказывает о том, как по его мнению нужно правильно делать стартапы.

Небольшой экскурс в историю. Вы помните, как первый раз подключились к Интернету? Еще до того, как ваш компьютер был всегда на связи и когда выход в онлайн нужно было планировать. Радость видеть новые браузеры, например, появление Phoenix. Ваше волнение, когда вы впервые попробовали работать в Интернете при помощи вашего нового скоростного соединения. Это было время, когда сайты редко использовали JavaScript, а DHTML был модным словечком года. Сейчас сложно поверить, что Chrome-у всего лишь несколько лет.
Читать дальше →
Всего голосов 96: ↑78 и ↓18 +60
Комментарии 39

Искусство программирования под Unix (и не только). Часть пятая, «правило простоты»

Время на прочтение 4 мин
Количество просмотров 1.3K
Я продолжаю цикл статей, посвященных некоторым простым правилам разработки под Unix «по версии Эрика Реймонда», которые, по моему глубочайшему убеждению, могут быть распространены на любые другие операционные системы. Я уже рассказывал в первых трех частях о правилах модульности, ясности, композиции и разделения. Сегодня дело дошло до пятого правила —

Правило пятое: добавляйте сложность лишь там, где она действительно необходима (Design for simplicity; add complexity only where you must.)

Читать дальше →
Всего голосов 41: ↑35 и ↓6 +29
Комментарии 13

Шифр Виженера. Разбор алгоритма на Python

Время на прочтение 3 мин
Количество просмотров 88K
Недавно захотелось вспомнить свое «шпионское» детство и хотя бы базово изучить разные методы шифрования. И первым выбор пал на шифр Виженера. Сам по себе он не является чрезвычайно сложным, но достаточно долго считался криптоустойчивым. Века эдак с XV и к самому XIX, пока некто Казиски полностью не взломал шифр.
Однако ограничим цитирование Википедии только описанием самого алгоритма.

Метод является усовершенствованным шифром Цезаря, где буквы смещались на определенную позицию.
Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига.
Читать дальше →
Всего голосов 39: ↑29 и ↓10 +19
Комментарии 18

Быстрое развертывание среды разработки

Время на прочтение 3 мин
Количество просмотров 76K
Чтобы избежать больших затрат на развертывание сред разработки и тестирования, приближенных к среде эксплуатации (development stage vs production stage parity), всё большую популярность приобретает виртуализация сред.

В этой статье я расскажу, как создавал соответствующую репродуцируемую среду разработки на примере своего проекта runit-man с использованием Vagrant.
Читать дальше →
Всего голосов 27: ↑24 и ↓3 +21
Комментарии 7

25 советов по улучшению вашего кода jQuery

Время на прочтение 15 мин
Количество просмотров 29K
Это перевод статьи, написанной Jon Hobbs-Smith. Я счел ее довольно интересной и решил выложить в своем блоге, а также поделиться им с хабрапользователями, также как и я заинтересованными в библиотеке jQuery. Перед тем как начать хочу отметить, что написана она (как и переведена) далеко не экспертом в jQuery, поэтому если вы найдете в ней ошибку, пожалуйста, сообщите. Итак, начнем.
Читать дальше →
Всего голосов 97: ↑86 и ↓11 +75
Комментарии 78

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность