Search
Write a publication
Pull to refresh
38
0
Danov @Danov

Dev UWP/Mobile, Data Scientist, EduTech

Send message

Программный код и его метрики

Reading time19 min
Views138K
Измерения...
Одной из тем в программировании, к которым интерес периодически то появляется, то пропадает, является вопрос метрик кода программного обеспечения. В крупных программных средах время от времени появляются механизмы подсчета различных метрик. Волнообразный интерес к теме так выглядит потому, что до сих пор в метриках не придумано главного — что с ними делать. То есть даже если какой-то инструмент позволяет хорошо подсчитать некоторые метрики, то что с этим делать дальше зачастую непонятно. Конечно, метрики — это и контроль качества кода (не пишем большие и сложные функции), и «производительность» (в кавычках) программистов, и скорость развития проекта. Эта статья — обзор наиболее известных метрик кода программного обеспечения.
Читать дальше →

Ликвидатор велосипедов: часть 2

Reading time3 min
Views34K
Исходя из того, что первая статья насобирала много плюсов и попала в избранное большого количества человек, я понял что тема актуальна и во-первых призываю подтянуться сообщество (ведь я не могу знать абсолютно все библиотеки и решения), а во-вторых буду продолжать своими силами рассказывать о том какие библиотеки можно подтянуть, если необходимо что-то сделать вместо того чтобы делать все новые и новые велосипеды, состоящие из водопроводных труб.

В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.

Часть первая из серии



Читать дальше →

Когда не нужна тригонометрия

Reading time4 min
Views54K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →

Интуиция взамен бизнес-анализа?

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

Можно ли использовать эти чувства?
Читать дальше →

Irisar Centena

Reading time2 min
Views2.5K

102


хабравчане, хочу вас «поздравить» с знаменательной датой 10\10\10 10:10. Как принято, на праздники с подарками. Специально для этой даты я подготовил мультицветной toolkit с динамической настройкой палитры цветов.
Использовать его можно в любом вашем (коммерческом и нет) проекте, а приемы irisar и centesimo помогут вам модернизировать его под ваш интерфейс.
Подробнее под катом.



В конец поста добавлено видео демонстрации смены цветов через kuler.adobe.com
Читать дальше →

Если вам надоели истории с захватами доменов…

Reading time2 min
Views2.9K
Сообщаем вам о новой услуге REG.RU «Запрет операций с доменами», которая была введена для обеспечения максимальной защиты доменного имени от действий третьих лиц или вредоносного программного обеспечения. Услуга бесплатна и доступна для всех владельцев доменных имен в национальных зонах .RU/.РФ/ .SU.

В текущей версии 0.01 «Запрет операций с доменами» предлагает:
• Запрет любых технических операций с доменом из личного кабинета: управление списком серверов DNS, снятие/установка делегирования;
• Запрет изменения контактных данных администратора домена из личного кабинета;
• Запрет осуществления любых административных операций (смена регистратора, администратора, управляющего аккаунта) без письменного разрешения администратора на выключение услуги.
Читать дальше →

Ликвидатор велосипедов: часть 1

Reading time3 min
Views15K
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →

Penisland, или как написать спеллчекер

Reading time7 min
Views12K
Есть хорошая статья Питера Норвига, в которой он рассказывает как написать спеллчекер в 20 строк кода. В этой статье он показывает как поисковые системы могут исправлять ошибки в запросах. И делает это довольно элегантно. Однако, у его подхода есть два серьезных недостатка. Во-первых, исправление более трех ошибок требует больших ресурсов. А гугл, кстати, неплохо справляется и с четырьмя ошибками. Во-вторых, нет возможности проверки связного текста.



Итак, хочется исправить эти проблемы. А именно, написать корректор коротких фраз или запросов, который:
  • умел бы выявлять три (и более) ошибки в запросе;
  • умел бы проверять «разорванные» или «слипшиеся» фразы, например expertsexchange — experts_exchange, ma na ger — manager
  • не требовал много кода для реализации
  • мог бы достраиваться до исправления ошибок на других языках и других типов" ошибок

Остальное — под катом.
Читать дальше →

Суета вокруг идей

Reading time6 min
Views4K
Говорят, что идеи ценятся дороже любых драгоценностей и предметов искусства и при грамотном использовании могут принести миллионы долларов. Говорят, что если к вам в голову пришла интересная идея, то её нельзя никому рассказывать, а надо найти богатого инвестора и продать идею ему за большие деньги. Говорят, что идею надо обязательно запатентовать, иначе богатые инвесторы украдут идею и не заплатят денег. Говорят, что те кто так сделал — сейчас сказочно богаты, купили себе остров и живут там как в сказке. Говорят… А кто говорит-то? Да все вокруг! Друзья, коллеги, знакомые, родственники. А так ли это на самом деле?
Читать дальше →

Предпринимательство в сфере общественных благ

Reading time9 min
Views11K
В индустрии высоких технологий сейчас наметился интересный тренд. Еще недавно общественные блага рассматривались как область для благотворительности. Теперь же предприниматели, инвесторы и топ-менеджеры корпораций увидели в них возможность для получения прибыли. В этом эссе мы пройдем по основным вопросам рынка общественных благ. В частности, разберемся с определением, бизнес-моделями и направлениями роста.



Читать дальше →

Так всё-таки, полезно или вредно слушать музыку на рабочем месте?

Reading time3 min
Views25K
Сегодня, во время утреннего разговора с коллегой о продуктивности работы и «способах входа в поток», мне рассказали о топике на сайте rsdn.ru. Там, в одном из комментариев, рассказывается об университетском эксперименте, который объясняет, когда полезно, а когда вредно слушать музыку на рабочем месте. Всё вроде бы и так понятно, и все об этом давно догадывались, но иметь ещё одно научное обоснование своим догадкам никому не повредит:

«В ответ на жалобы сотрудников по поводу шума можно попытаться вылечить симптомы или же устранить причину. Устранение причины потребует создания заграждений от шума — стен и дверей — и будет стоить денег. Лечить симптом гораздо дешевле. Установив «Мьюзек» или другой источник розового шума, вы малой кровью заглушаете шум, мешающий работе. Можно и ещё больше сэкономить — просто не обращать внимания на проблему; людям тогда придётся прибегнуть к помощи магнитофонов и наушников, чтобы защититься от шума. Избрав один из таких подходов, вы должны быть готовы понести невидимое наказание — пострадают творческие способности ваших сотрудников.
Читать дальше →

Как работают алгоритмы сортировки

Reading time1 min
Views22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».

Семинар Natural Language Processing — открытие сезона 2010/11

Reading time2 min
Views844
image

В субботу 25-ого сентября 2010 в 17.00 мы открываем новый сезон семинара по автоматической обработке естественного языка. На первом заcедании этого учебного года выступит Эдуард Клышинский (Институт прикладной математики им. М.В. Келдыша РАН. Москва) с рассказом о принципах построения программного модуля морфологического анализа и синтеза для русского языка. Доклад называется «Давайте напишем морфологию».
Семинар будет транслироваться в он-лайне, позже мы выложим презентацию и видеозапись на сайт семинара.

Читать дальше →

IT-Portfolio — Расскажи о себе ИТ-сообществу!

Reading time3 min
Views3.6K
IT-Portfolio Logo Добрый день, читатели Хабра!

Хочу рассказать вам о проекте IT-Portfolio, который должен помочь представителям IT-индустрии находить интересные проекты и людей в команду, устраиваться на ту работу, где их навыки и способности действительно были бы востребованы, найти представителей науки, занимающихся схожими областями необъятного Computer Science и смежных дисциплин, поделиться с коллегами и работодателем не просто списком «где учился, где работал», а кое-чем более интересным. А теперь обо всем по порядку.
Читать дальше →

Дешевые SMS для интересных проектов и хороших людей

Reading time1 min
Views2.3K
Представляю вашему вниманию сервис для отправки SMS через HTTP/HTTPS API.

LittleSMS.ru

Для кого предназначен сервис?

  • Интернет-магазинам (уведомление о новом заказе).
  • Небольшим проектам с системой уведомлений по SMS.
  • Сисадминам (уведомления о состоянии сервисов, оборудования и т.п.).
  • Вам? Напишите, обсудим.
Читать дальше →

Как выглядит китайская клавиатура

Reading time8 min
Views398K
Вы, вероятно, представляли ее себе как целый орган — грандиозное сооружение длиной в пару метров с сотнями и тысячами клавиш. На самом деле, большинство китайцев используют обычную клавиатуру с латинской раскладкой QWERTY. Но как с помощью нее можно набрать такое несметное количество различных иероглифов? Мы попросили рассказать об этом нашу сотрудницу Юлию Дрейзис. Ее с Китаем связывают и давняя любовь, и работа.

История вопроса: печатные машинки


За несколько тысяч лет хитроумные китайцы успели довести количество иероглифов до 50000 с хвостиком. И хотя число нужных в повседневной жизни знаков не измеряется десятками тысяч, все равно, как ни крути, стандартный набор старой типографии — 9000 литер.

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

image
Печатная машинка фирмы «Шуангэ», 1947 год (принцип действия придуман японцем Киота Сугимото в 1915 году).

Читать дальше →

Wolframalpha + Wikipedia = Galois/Wiki

Reading time2 min
Views1K
Представьте себе Maple, Maxima или Mathematica, в которой правила работы являются энциклопедическими статьями, и, наоборот, энциклопедию, пополняя которую, вы улучшаете работу системы компьютерной алгебры. Эта идея лежит в основе Galois/Wiki (Галуа/Вики) — математической энциклопедии с интеллектуальным поиском.

image
Читать дальше →

Инструмент для ограничения полномочий .Net-сборок

Reading time3 min
Views2.2K
Представляю сообществу простой, но полезный инструмент для управления полномочиями доступа к коду .Net сборок – Managed Sandbox. На утилиту советую обратить внимание НЕ только разработчикам, но и всем кто периодически использует .Net программы из не доверенных источников (с небольшими оговорками, но об этом ниже).



Статья состоит из 2-х частей: (1) немного философии о системе безопасности .Net-платформы, (2) описание утилиты Managed Sandbox и причин, почему нужно было ее создавать.

Читать дальше →

8 вещей, которые я хотел бы знать, когда начинал свой бизнес

Reading time3 min
Views12K

Предисловие


В мире, наполненном стартапами, успех или неудачу сложно предсказать. Но одно можно сказать точно: тот, кто решается открыть своё дело, уже никогда не будет таким, как прежде. Постоянные трудности, связанные с появлением новых возможностей и проблем, делают процесс удивительным и интересным. Я думаю, что именно поэтому многие люди начинают своё дело, несмотря на наличие другой (более простой) альтернативы — работать на кого-то другого.
За свою жизнь я открыл несколько фирм и могу сказать, что некоторые извлечённые мной уроки были интуитивно понятны и доступны, в то время как другие — далеко не так просты и очевидны. Однако, учитывая временные и денежные затраты на понимание этих уроков, ни один из них я не могу назвать дешёвым.
Эти уроки изменили моё мировозрение, изменили меня как личность. Я рад, что мне пришлось столкнуться с ними, но это не значит, что я не хотел бы знать их изначально.
Вот эти восемь вещей, которые я хотел бы знать, когда начинал своё первое дело.
Читать дальше →

Прототипирование в Expression Blend + SketchFlow. Часть 1. Немного истории

Reading time2 min
Views26K

Введение


Этой статьей я хочу начать цикл статей, посвященных созданию прототипов с помощью Expression Blend и SketchFlow. Мы постепенно пройдемся от базовых концепций и понимания, как работает SketchFlow, до отдельных нюансов вроде настройки и брендирования проигрывателя прототипов. Местами, я буду включать переводы статей других авторов.

В качестве введения в тему и для того, чтобы получить общее представление, предлагаю посмотреть вот это короткое видео (всего 90 секунд!) с обзором текущих возможностей SketchFlow:


А начнем мы со статьи Christian Schormann об истории SketchFlow.

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


SketchFlow, инструмент динамичного прототипирования для Expression Blend, наконец официально вышел (от переводчика: статья писалась к выходу Expression Blend 3)! Вы можете скачать триальную версию здесь.

Так как мне всегда нравилось наблюдать за развитием людей, идей и продуктов, я подумал, что вам тоже будет интересно узнать немного о прошлом SketchFlow — сейчас, кажется, подходящий момент, чтобы взять школьные тетрадки со столика и рассказать немного о том, как рос SketchFlow. Если вы хотите узнать больше о сегодняшем состоянии SketchFlow, смотрите этот пост…
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity