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

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

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

Ремесло программиста. Золотые правила

Время на прочтение14 мин
Количество просмотров29K
imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста».

Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться.
Читать дальше →
Всего голосов 108: ↑90 и ↓18+72
Комментарии62

Aftershock: как будем жить после пресловутого законопроекта. Советы бывалых

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


О принятом вчера законопроекте букв было написано больше, чем в романе «Война и Мир». Не знаю как вам, а у меня уже идет отвращение ко всему, что с ним связанно: начиная от фотографии депутата Мизулиной, заканчивая всеобщей истерией по «всем интернетам» о тотальной цензуре. Слава богу на хабр это не так сильно распространяется, как на некоторые другие сайты.

Я подумал, что будет правильным подвести черту и собрать наиболее трезвые комментарии за всё время его обсуждения, а также не без помощи юристов спокойно и чётко изложить ряд возможных мер, которые могут быть предприняты уже сейчас, не дожидаясь вступления основной части законопроекта в законную силу с 1 ноября 2012 года. Также будет выдвинут ряд предложений по усовершенствованию закона и рассмотрены его плюсы и минусы в максимально широком смысле.

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

Читать дальше →
Всего голосов 144: ↑112 и ↓32+80
Комментарии207

Ivideon запустил облачное хранение видео

Время на прочтение5 мин
Количество просмотров15K
Некоторые художники не выносят вида своих творений когда они закончены. А я свой самый большой поклонник. O.W. Grant (Interstate 60)



Команда Ivideon больше года работала над сервисом удаленного хранения архивных видео записей в собственном облаке (как мне не нравится это слово). Почему так долго, технические подробности и как бесплатно получить к нему доступ для читателей Хабра — вы узнаете под катом.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии18

Вычислительная геометрия, или как я стал заниматься олимпиадным программированием.Часть 1

Время на прочтение8 мин
Количество просмотров132K
Здравствуйте, уважаемые хабравчане! Это моя вторая статья, и мне хотелось бы поговорить о вычислительной геометрии.

Немного истории


Я являюсь студентом уже 4 курса математического факультета, и до того как я начал заниматься программированием, я считал себя математиком на 100 процентов.

В конце первого курса мой преподаватель по информатике, который занимается олимпиадным программированием, обратил на меня внимание. Им как раз не хватало одного математика в команду. Так потихоньку меня начали приучать к олимпиадному программированию. Скажу честно, для меня это было очень сложно: для человека, который узнал слово Delphi на первом курсе. Однако мой преподаватель оказался очень грамотным специалистом и нашел хороший подход ко мне. Он начал давать мне математические задачи, который я сначала решал чисто математически, а уже потом писал код (с грехом пополам).

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

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

Я помню, как долго мучился с этими задачами, чтобы они прошли все тесты на сайте informatics.mccme. Зато теперь я очень рад, что прошел через все испытания и знаю, что же такое задачи вычислительной геометрии.
Читать дальше →
Всего голосов 83: ↑72 и ↓11+61
Комментарии40

Super-resolution из единственной фотографии

Время на прочтение2 мин
Количество просмотров34K
В обработке изображений существует класс методов Super-resolution (SR), которые позволяют качественно увеличить разрешение исходного изображения, при этом происходит преодоление оптического предела объектива и/или физического разрешения цифрового сенсора, который записал изображение.

Алгоритмы SR используют два подхода для вычисления результирующего изображения: 1) на базе множества кадров одного объекта; 2) самообучающаяся система с базой образцов.


Читать дальше →
Всего голосов 83: ↑79 и ↓4+75
Комментарии64

Простой сервер задач с очередью в MySQL (без проблем с блокировками)

Время на прочтение2 мин
Количество просмотров11K
Почти в каждом более менее динамическом проекте бывает возникает необходимость выполнять очереди задач в фоне (отправка email, обновления кеша, реиндексация поиска и т.д.). Job сервера (Gearman и т.п.) хороши, но для большинства простых задач они избыточны. Классическая реализация очередей в MySQL (при помощи SELECT … LOCK FOR UPDATE) при росте нагрузки со временем начинает приводить к проблемам с блокировкой. Потому, как это обычно бывает, пришлось написать свой «велосипед» для работы с фоновыми задачами, который бы «точно работал» и был предельно прост.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии35

Работа с USB устройствами в программе на C в MacOS X

Время на прочтение11 мин
Количество просмотров9.5K
Приветствую уважаемых читателей.
В этой небольшой статье я бы хотел рассмотреть вопрос взаимодействия с оборудованием (в данном случае с USB устройствами) в операционной системе MacOS X.
Будет рассмотрены очень интересный и полезный фреймворк IOKit, способ получения уведомлений о добавлении/удалении обордования, а так же получения полной информации об устройствах. Конечно данный материал не претендует на какую либо уникальность, т.к. каждый может разобраться с этими вопросами самостоятельно, изучив документацию Apple, а так же покурив разнообразные исходники на opensource.apple.com
Моя статья — попытка восполнить пробелл в русскоязычном материале подобного рода и описать некоторые грабли, с которыми могут столкнуться новичики.
Все кто заинтересовался — добро пожаловать под кат.
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии9

[Перевод] HTML5 Адаптивные изображения

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


Адаптивные изображения одна из проблем Responsive Web Design. Возможно вы начали использовать high-res изображения для дисплеев с высоким разрешением и уменьшать их размер для устройств с меньшим разрешением дисплея, что попросту съедает трафик без какой либо пользы для владельцев устройств с дисплеями с небольшим разрешением. Или все так же используете изображения невысокого разрешения, которые ужасно смотрятся на больших экранах и дисплеях с высоким разрешением.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии57

GNU LilyPond — свободный нотный набор

Время на прочтение5 мин
Количество просмотров11K
Уже с конца 1980-х годов музыкальные издательства постепенно оставляли ручной и переходили на компьютерный нотный набор. На данный момент список нотных редакторов огромен, но профессионалы используют Finale и Sibelius.

Холивары о том, кто из них лучше, не утихают уже лет десять, авторитетное издательство Bärenreiter (музыканты его очень любят, хоть и ругаются на дорогие ноты) тем временем используют написанную на Фортране SCORE, а музыканты — любители свободных программ смотрят на LilyPond и ужасаются, потому что как же обычному человеку жить без WYSIWYG'а?

Если бы не TeX-подобный синтаксис, я уверен, многие бы использовали этот engraver. Именно engraver — переводы «гравировщик» и «наборщик» не подходят здесь, потому что этими словами обозначаются профессии. LilyPond лучше других коммерческих и бесплатных программ располагает нотный текст равномерно по странице.

Сравнение с популярными программами


Это мелодия небезызвестной темы, набранная в трёх разных программах (LilyPond, Finale, Sibelius)


В LilyPond не делалось ничего кроме набора, в Сибелиусе и Finale удалены лишние такты, также в последней ноты принудительно автоматически расставлены по горизонтали.

Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии30

Набор современной музыки в LilyPond

Время на прочтение3 мин
Количество просмотров4K
Однажды я уже рассказывал, что такое LilyPond, и с чем его едят. Обещания написать простую статью я, к сожалению, пока выполнить не смог, зато собрался описать, как я набирал ужасающий нотный пример из музыки Н. Корндорфа

(«Welcome!» для шести женских голосов)

Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии9

Построение минимальных выпуклых оболочек

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

Проведя небольшое научное исследование (проще говоря, выполнив поиск на сайте), обнаружил, что на хабре имеется всего две статьи с тегом вычислительная геометрия, причем одна из них оказалась моей. Т.к. в последнее время я несколько заинтересовался этой тематикой, то решил продолжить тему алгоритмической геометрии рассмотрением задачи построения так называемых минимальных выпуклых оболочек. Хотя рисунок справа и дает проницательному хаброчитателю исчерпывающее объяснение того, что это такое, тем не менее под катом будут даны чуть более формальные определения и описаны два классических алгоритма построения минимальных выпуклых оболочек.
Читать дальше →
Всего голосов 99: ↑94 и ↓5+89
Комментарии56

Russian Code Cup 2012: подробный разбор задач с первой квалификации

Время на прочтение12 мин
Количество просмотров29K
27 мая завершился первый этап олимпиады Mail.Ru Group по программированию Russian Code Cup 2012. Всего в RCC’12 приняло участие более тысячи человек, из которых 200 лучших вышло в полуфинал соревнования, в отборочный раунд. Победителем первого квалификационного раунда стал студент мехмата ННГУ Владислав Епифанов из Нижнего Новгорода. Участниками было направлено 3391 решение, из которых 1066 были приняты системой как верные. 634 человека или 63% от общего числа участников, решили хотя бы одну задачу.

Russian Code Cup — индивидуальное соревнование по спортивному программированию, ежегодно проводимое Mail.Ru Group. Оно традиционно состоит из трех этапов: в начале лета проходят три квалификационных раунда, затем лучшие принимают участие в отборочном туре, первые пятьдесят победителей отборочного тура соревнуются в финале. Личного присутствия потребует только последний из них, остальные же проводятся онлайн. Все финалисты будут отмечены ценными подарками, а приз участнику, занявшему первое место, составит 10 000 долларов. За второе и третье место полагаются 5 000 и 3 000 долларов.

В статье я расскажу о задачах, которые предлагались участникам и о способах их решения. Краткий разбор задач опубликован на сайте сразу после завершения RCC, тут же я постараюсь разъяснить подробности настолько, чтобы решение было понятно даже начинающим программистам.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии14

Нейросети для чайников. Часть 2 — Перцептрон

Время на прочтение5 мин
Количество просмотров255K
image

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

Язык программирования, на этот раз — C#.
Заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 97: ↑86 и ↓11+75
Комментарии41

Отладка нативного кода Android NDK в Windows

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

Введение


Доброго времени суток!

Однажды передо мною встала задача отловить непонятное падение в моем приложении. Насколько я знал тогда, Android NDK предоставлял возможность отлаживать C++ код, однако я смутно представлял себе, как это сделать. К сожалению, толковой информации по отладке нативного кода было очень мало. Потратив на это дело несколько вечеров, я все-таки разобрался и наладил отладку. Сейчас я расскажу о том, как это можно сделать и расскажу о том, какие грабли могут ожидать вас, если вы задумаете повторить мой путь.

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

Кроссбраузерное отражение элементов на CSS3

Время на прочтение3 мин
Количество просмотров12K
image
На сегодняшний день уже существуют box-reflect и mask-image, которые позволяют создавать отражение элементов, но данные свойства доступны только в Safari и Chrome, да и работают не так как хотелось бы. Поэтому я хочу рассказать Вам как реализовать кроссбраузерное отражение на CSS.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии18

Переезд проекта с SVN на Git

Время на прочтение8 мин
Количество просмотров71K
image
Много лет подряд в качестве системы контроля версий для большого количества проектов использовали только SVN. Но наступил момент, когда количество разработчиков на одном из проектов заметно увеличилось, проект уже запущен в работу, и нужно как активно разрабатывать параллельно несколько фич, так и фиксить уже имеющиеся баги в оперативном режиме. Единый trunk в SVN не позволяет этого делать, а организация бранчей в нем же превращает жизнь разработчиков в ад. Поэтому было принято решение о переезде этого проекта с SVN на Git.
Читать дальше о том, как это делается от А до Я
Всего голосов 119: ↑113 и ↓6+107
Комментарии51

Разрабатываем модуль PHP на C++. Часть 1: экскурс в мир Zend Engine 2

Время на прочтение12 мин
Количество просмотров14K
Доброго времени суток, уважаемое Харбасообщество!

Под катом изложена некоторая информация касательно написания расширений для PHP c использованием C++, почерпнутая мной из различных источников (по большей части англоязычных) и ковыряния исходников Zend Engine 2 во время разработки одного модуля для собственных нужд. Так как объем ее достаточно велик, далее я старался быть краток.

Итак, в этой части:

А вот до C++ в этой части мы так и не доберемся… =)

Маленький дисклеймер: содержимое статьи не есть истина в первой инстанции, не основывается на официальной документации (а есть ли она?) и является моим субъективным взглядом на ZE 2. Тем не менее, в свое время я был бы рад найти нечто подобное на просторах Рунета, дабы сэкономить время на начальных этапах разработки.

Читать дальше →
Всего голосов 81: ↑78 и ↓3+75
Комментарии38

Локализация точки в выпуклом многоугольнике

Время на прочтение4 мин
Количество просмотров46K
Листая страницы хаба «Алгоритмы», наткнулся на топик, посвященный решению задачи локализации точки в многоугольнике: задан многоугольник (замкнутая ломаная линия без самопересечений), требуется определить — находится ли заданная точка A внутри этого многоугольника или нет. В одном из последних комментариев к топику было высказано недоумение, какое отношение такая чисто математическая задача имеет к теории алгоритмов. Имеет-имеет, причем самое непосредственное. Задача локализации является классической задачей вычислительной геометрии (не путать с компьютерной графикой). В качестве разминки предлагается взглянуть на картинку справа, на которой изображен многоугольник типа кривой Пеано (источник [1]), и попытаться ответить на вопрос — красная точка ты видишь суслика? и я не вижу, а он есть! находится внутри или снаружи многоугольника? А ниже мы (исключительно в образовательных целях) рассмотрим простую вариацию данной задачи, когда заданный многоугольник является выпуклым.
Читать дальше →
Всего голосов 83: ↑81 и ↓2+79
Комментарии46

Методология Разработки ПО

Время на прочтение4 мин
Количество просмотров47K
Попросили меня на фирме выступить с докладом и рассказать о методологии по которой мы работаем, разрабатываем наше приложение. Я сразу же сказал — «У нас Scrum», и сел составлять презентацию. Но я остановился на первом же слайде, и вот почему.

Agile содержит в себе множество методологий — XP, Scrum, Lean, Kanban, ScrumBut (СкрамНО). Сев разбирать методики, я понял, что не могу сказать, что моя команда работает по какой-то одной из них. В целом наш рабочий процесс можно изобразить так:

image
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии26

Методы оценки стартапа

Время на прочтение4 мин
Количество просмотров29K
Стартапы — тренд популярный не только в IT-среде… Уже более 10 лет наблюдается бум стартапов, не снижающийся, не смотря на рискованность этого вида инвестиций.
Авторы проектов, впрочем, как и ряд инвесторов, порой не обладают элементарными экономическими и управленческими знаниями, отсутствие которых мешает нормальному диалогу Стартапер — Инвестор.
Мы бы хотели поделится нашим опытом инвестирования и менторства стартапов в серии аналитических статей, призванных помочь в оценке экономического потенциала стартапа, а также его целевой аудитории.
Серия статей — необычный опыт коллективной работы людей, знакомых заочно, но заинтересованных данной темой.
Данная статья является лишь малой частью того, что нужно знать стартаперу о финансовой оценке своего стартапа.

Для чего нужна оценка стартапа.

Вопрос денежной оценки стартапа волнует обе стороны процесса венчурного финансирования. Автору проекта, равно, как и инвестору, важно оценить текущую стоимость проекта и его ожидаемую рыночную цену и капитализацию проекта.
Стоимость самой идеи (если она не является оформленной интеллектуальной собственностью в виде патента, авторского свидетельства, лицензии и т.д.) принимается равной нулю. Оценке подлежит только творческий потенциал автора/команды и предпринимательская инициатива.
Авторам и инвесторам важнее оценить промежуточную (на стадиях подключения к проекту следующей ступени инвестирования) и конечную стоимость проекта, то есть при выходе из проекта инвесторов текущей стадии и входе инвесторов следующей.
Об этом и написана данная заметка.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии6

Информация

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