Pull to refresh
0
0
MiniM @MiniM

User

Send message

200 блогов по разработке и проектированию

Reading time8 min
Views46K


Привет, Хабр! Мы решили посмотреть на то, как крупнейшие бизнесы и студии делятся своими наработками, и адаптировали подборку технологических блогов. Уверены, что опыт коллег поможет нам всем сделать Хабр еще интереснее.
Читать дальше →
Total votes 36: ↑28 and ↓8+20
Comments34

Памятка: Как стартапам обеспечить защиту данных в облаке

Reading time5 min
Views12K
image

Примечание переводчика: За последние несколько лет тема информационной безопасности окончательно перестала быть уделом гиков и специалист и теперь интересует всех. После разоблачений Сноудена пользователи разнообразных онлайн-сервисов стали задумываться о безопасности своих данных. Теперь компании, которые эту безопасность не обеспечивают, могут столкнуться с огромными имиджевыми и финансовыми потерями в случае хакерской атаки. Часто учетные данные пользователей похищают через сторонние сервисы (как было в случаях с Dropbox и «Яндексом»), но даже в такой ситуации на компанию падает тень, а ее клиенты остаются недовольными.

При этом далеко не все создатели новых проектов уделяют защите данных должное внимание (в результате возникают скандалы, вроде ситуации с анонимным приложением Whisper, информация пользователей которого оказалась не столь анонимной, как предполагалось).

Стивен Коти, главный евангелист по безопасности ИБ-компании Alert Logic, написал материал о том, как стартапам подходить к организации информационной безопасности при использовании облачных сервисов.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments7

Медовый месяц менеджера: как его провести с пользой

Reading time7 min
Views59K
«Специалист подобен флюсу: полнота его одностороння». (Козьма Прутков)

Как в нашей отрасли происходит назначение на позицию менеджера? Берем в команде лучшего программиста и тут же назначаем вначале проясняем ситуацию:
— Хочешь быть менеджером?
— А чего нужно делать?
— Ну, там колбаски в MS Project двигать и получать плюс 300 баксов?
— Конечно, буду!

После чего немедленно происходят две вещи: компания теряет хорошего программиста и приобретает плохого не вполне опытного менеджера. А старик Демарко со своей компанией друзей-консультантов потом начинает рассказывать, что «проблемы проектов имеют под собой природу скорее социологическую, нежели технологическую».

Результаты нашего недавнего исследования еще раз ткнули в эту нашу отраслевую специфику:
  • Более 50% людей считают, что их руководитель не умеет работать с людьми

Что и побудило написать эту статью.

Общий эффект от перехода в менеджеры усиливается еще тем, что наш брат-айтишник обычно вначале включает электроприбор («если я мультипоточность на Java реализую, чего — я со стиральной машиной не разберусь?»), а в случае неполадок начинает читать инструкцию. То бишь, начинает изучать науку работы с людьми, когда первые шишки не просто набиты, а поверх них набиты еще два слоя шишек.

Между тем, назначение нового человека на позицию менеджера – ситуация болезненная и крайне неустойчивая. Почему так происходит, и главное что конкретно делать, если назначили именно вас – сегодня и поговорим.
Читать дальше →
Total votes 62: ↑54 and ↓8+46
Comments38

Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»

Reading time3 min
Views4.2K
Дочитал на днях сабжевую книжку. Вышла она еще в 2008 году (а предыдущее издание и того раньше), но мне она попалась только недавно. По идее, читать ее надо было бы после книги Фаулера «Рефакторинг. Улучшение существующего кода», на которую Кириевски постоянно ссылается, но до Фаулера я пока не добрался, хотя это и не особо затруднило чтение. Вторая книга, которую лучше всего прочитать заранее, это «Приемы объектно-ориентированного проектирования. Паттерны проектирования» банды четырех.

Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments26

Распознавание изображений. Алгоритм Eigenface

Reading time6 min
Views66K

Введение



Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

Мне не страшно.
Total votes 132: ↑127 and ↓5+122
Comments48

Рефакторинг: миссия (не)выполнима?

Reading time4 min
Views2K
Что делать, если исходники проекта напоминают болото, а жить в нем планируется еще долго? Рефакторинг исходных кодов проекта — это более выгодная из двух альтернатив разобраться с означенной проблемой. Вторая из альтернатив — выбросить и переписать все заново — обычно не устраивает, по разным причинам.

А как делать этот самый рефакторинг, если даже неизвестно, с чего начать? Как осушить болото кода и не утонуть нем?

Конечно, идеальный вариант — считать рефакторинг одной из активности на проекте с самого его начала и выделять на него проектное время команды. В жизни, как ни странно, однако чаще всего оказывается, что предыдущий лид проекта не сильно озадачивался этим вопросом, предпочитая плыть по течению; возможно, он надеялся когда-нибудь сбагрить эту ношу менее удачливому лиду — пока проект еще не развалился; а может быть, просто не знал, что делать. Шеф, усё пропало!

Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments52

Если бы языки программирования были религиями…

Reading time4 min
Views13K
С удивлением обнаружил, что в интернете не было перевода на русский довольно забавной статейки, написанной неким Rodrigo Braz Monteiro, в которой он сравнивает языки программирование и религии. Поэтому пришлось делать перевод самому, который ниже и прилагается.

Автору написание этой статьи навеяло сравнение языков программирования с автомобилями(оригинал), а мне это навеяло перевод…

Читать дальше →
Total votes 282: ↑241 and ↓41+200
Comments123

Кунг-фу в командной строке

Reading time1 min
Views1.1K
Комикс

«При проектировании интерфейсов представьте себе, что ваша программа — единственное, что стоит между пользователем и жарким, страстным, со-смятыми-простынями-и-расцарапанной-спиной сексом».

Оригинал, перевод. Лицензия: Creative Commons Attribution-Share Alike 2.5.
Читать дальше →
Total votes 124: ↑110 and ↓14+96
Comments56

Творческий обьектив Lensbaby 3G: новые возможности SLR фотоаппарата

Reading time1 min
Views1.3K
Однажды наткнувшись на каком то интернет магазине на секцию творческих объективов, был довольно удивлен, что там оказался всего один объектив Lensbaby разных поколений. Именно название творческий объектив меня и притянуло в данный раздел (для любителей извращений).

Так что же такое творческий объектив?
image

Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments22

Umbuster — зонт повышенной безопасности

Reading time1 min
Views2.6K
image

Если вы идете вечером по району типа Южного Бутово и внезапно над вами начинает сгущаться быдло… Юзайте Umbuster – зонтик разработанный специально для прогулок в районах с неблагополучными климатическими условиями.

Штука продается за 287 долларов.

via srulirecht.com
Total votes 115: ↑94 and ↓21+73
Comments115

Задачка

Reading time1 min
Views519
Увидев «визуальную загадку», вспомнил, что с ней довалась ещё одна очень интересная задачка.
Продолжить последовательность с обеих сторон:
5 9 26 53 58 9 79

Задачка лёгкая, но догадаться трудно )

В комментариях уже есть решение!
Total votes 13: ↑7 and ↓6+1
Comments10

Мой знакомый разработчик

Reading time4 min
Views1.2K
Я работаю с удивительным человеком. Каждый раз, когда я смотрю в bugzill'у или проверяю почту, я им поражаюсь. Иногда мне кажется, что он мог бы стать неплохим писателем. Во всяком случае графоман из него отличный.

Этот разработчик принимает документирование очень близко к сердцу.
Что же тут такого удивительного?
Total votes 64: ↑59 and ↓5+54
Comments38

Нейронные сети: Лекция 2 (+пример на РНР).

Reading time3 min
Views39K
Совокупность нейронов соединённых тем или иным способом называется искусственной нейронной сетью или просто нейронной сетью.
Закон по которому нейроны соединены в сеть носит название структуры или топологией сети.

Множество нейронов не соединённых между собой, но соедененные с другими нейронами носит название слоя нейрона.
Сети бывают 2х видов: однослойные, многослойные.

Простой перцептрон


Простой перцептрон состоит из 1го нейрона (один слой) с n входами и пороговой функции активации

Поскольку выходами сети является +1 или -1. То перцептрон эффективен для решение задачи классификации 2х классов.
Читать дальше →
Total votes 53: ↑38 and ↓15+23
Comments92

Какая боль! Толпы против Веб — 2:0. Эпизод два — клоны заходят в полдень

Reading time5 min
Views554
Продолжаем warstory оптимизации PHP+mySQL сайта редчайших слов. Одним майским днем, копаясь в словах, мне пришла в голову мысль — расставить под этими словами textbox'ы — использовать [модный для Web 2.0] crowdsourcing. Заполняй чем хочешь, только про это конкретное слово. Но, должно было работать collaborative — как Google Docs — если ты и еще кто-то редактируют слова на одной и той же странице — изменения будут отображаться одновременно. Или, например, кто-то редактирует слово «google» на странице Гугла, а на странице TechMeme, к примеру, есть тоже слово «google» — и им в real-time покажутся эти изменения со страницы Гугла [это необязательно понимать]. Знал бы я какие последствия эта веселая задумка на mySQL окажет позже…

Сделать это оказалось несложно: prototype.js — в руки, ajax — каждые 10 секунд, смотрим в базе что менялось за последние 10 секунд, делаем пересечение со словами на текущей странице, отправляем js highlight effect и новый текст — вуаля. Людей было, но мало кто что-то вводил, тогда я придумал повесить в уголок страницы блок «только что было сказано». Например: «На странице 'fibonacci.com' только что было сказано, что 'fibonacci' → 'crazy math scientist'». Это уже значительно заинтересовало людей и заполняемость выросла в разы. Все видели движения на сайте и сами вовлекались.

Собственно, я сделал достаточно функционала для довольно забавной игрушки — «войны сайтов редкими словами», авто-категоризатор, синонимизатор и т.п. Я сидел мирно редактировал «живой» сайт, загружал новый файл, если видел ошибку — исправлял, не переживая, что это кто-то может видеть. Не подозревал я, что уже тысячи людей видят это. После очередной ошибки в названии функци что-то произошло… я не смог загрузить на FTP index.php… это был TechCrunch....
Читать дальше →
Total votes 98: ↑84 and ↓14+70
Comments43

До свиданья!

Reading time1 min
Views1.3K
Последний пост.
Спасибо всем за поддержку, за критику, за интересные дискуссии!
Писать не перестану, просто буду делать это где-то еще. Пока что писать буду в ЖЖ: vilgeforce.livejournal.com (есть RSS!)

Спасибо тебе, Хабр, за школу жизни и за новых замечательных знакомых! До встречи в сети, друзья!
Total votes 141: ↑57.5 and ↓83.5-26
Comments33

Полезные билетики

Reading time2 min
Views3.2K
Моя работа имеет специфику долго до нее добираться, причем с пересадкой и на общественном транспорте. Такой транспорт крупных городов многим знаком: в часы пик это наполненные людьми консервы на колесах. Пробки и долгая езда и без того ухудшают и так скверное настроение. Если с утра еще и не выспишься, то тогда полный конец всему рабочему дню.

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

Под катом я хотел бы рассказать, как вытянуть чуть больше пользы из поездки в общественном транспорте, оценить билетик по достоинству и просто немного развлечься.
Читать дальше →
Total votes 164: ↑139.5 and ↓24.5+115
Comments134

Какая боль! Толпы против Веб — 2:0. Эпизод один — высокоскоростная очередь

Reading time5 min
Views791
Тов. phpdude открыл блогом «PHP+MySQL оптимизация» интересную тему, захватывающую большую аудиторию. Расскажу я о том, как я Веб 2.0 убил два моих сервера (из-за моей глупости в т.ч.) и еще планирует поубивать.

Все началось осенью 2006 года, когда я решил открыть небольшой сайтик с 70 миллионами страничек. И нет, они не были бы сделаны по цепям Маркова, а именно были бы полезными. Почему 70 миллионов? Потому что столько .com/.net/.org доменов в тот момент я смог найти.
Читать дальше →
Total votes 88: ↑70.5 and ↓17.5+53
Comments104

Subversion: чеклист по правильным коммитам

Reading time5 min
Views4.2K
Предполагаем, что читатель: а) работает в коллективе; и б) осознал необходимость правильной работы с системами контроля версий или хотя бы поставлен перед необходимостью использовать таковую.

В примерах будет использоваться Subversion, хотя все рекомендации полностью применимы к любой другой системе контроля версий.

Грубо разделим фазы разработки проекта на три — дебют, миттельшпиль и эндшпиль.

В дебюте новый код пишется огромными кусками, зачастую целые куски системы переносятся с места на место. Релиз далеко, никаких особых требований к общему состоянию системы нет. Допустимо даже разламывать систему до некоторых пределов.

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

Наконец, в эндшпиль система переходит непосредственно перед релизом и сразу после. Для веб-приложений постоянно добавляются новые относительно небольшие возможности, а крупные изменения сначала тестируются на ветках. Для более традиционных приложений наоборот, создаётся ветка для maintenance релизов, а разработка следующей большой версии продолжается на стволе.

Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments59

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136
1
23 ...

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity