Как стать автором
Обновить
-1
0
Юрий Лунев @bitterman

Embedded Linux

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

Использовать наши программы весело

Время на прочтение2 мин
Количество просмотров36K
Эти два вымышленных парня сильно повлияли на меня в плане программирования:

image

Вместо предоставления гарантий на совместимость или безошибочную работу, софт от Братьев Бигл обещал кое-что другое: веселье.

image

Игры со странными дискетами от Братьев Бигл на компьютере Apple II в средней школе, и «шведский стол» всяческих программ, которые были написаны для них, стали для меня обрядом посвящения.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии15

Игра за 14 дней [Для тех, кто годами собирает команду, но так и не сделал прототип]

Время на прочтение16 мин
Количество просмотров108K
На просторах интернета часто встречаются «команды», которые существуют уже годами, список разработчиков состоит из десятка персон, да ещё и «нужны все!». При этом никакой адекватной демки нет даже в ближайших планах. Глядя на это всё так и хочется сказать: «Да что же вы, блин, делаете?!». Но это деструктив. Мало раскритиковать. Нужно и позитивные примеры предоставить.

Эти размышления натолкнули меня на занятный эксперимент: в ноябре на gamedev.ru стартовал «конкурс леталок». Конкурс предполагал разработку в течении двух месяцев. Однако мне показалось, что это многовато. Поэтому я записался в участники… И забыл о конкурсе на полтора месяца.

Основная идея эксперимента — сделать полноценный проект за две недели. Срок завершения конкурса — неплохой дедлайн. К тому же последняя неделя конкурса совпала с концом новогодних праздников, что дало возможность не отвлекаться на другие задачи. Итак: конкурс, проект с нуля, две недели.

image
Читать дальше →
Всего голосов 111: ↑106 и ↓5+101
Комментарии25

Ресайз картинок в браузере. Все очень плохо

Время на прочтение10 мин
Количество просмотров104K
Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

function resize(img, w, h) {
  var canvas = document.createElement('canvas');
  canvas.width = w;
  canvas.height = h;
  canvas.getContext('2d').drawImage(img, 0, 0, w, h);
  return canvas;
}

Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

img
Читать дальше →
Всего голосов 156: ↑152 и ↓4+148
Комментарии90

Как мы «женили» облачную АТС, GSM и риэлторов (часть 2)

Время на прочтение4 мин
Количество просмотров7.6K
Продолжение хаба, опубликованного 30-го января.

Краткое содержание предыдущей серии: Россия, Москва, 2014-й год, телефонный провайдер решает запустить облачную IP-PBX, интегрировать ее с доработанной FMC-платформой одного из мобильщиков и зарядить все это в коммерцию, да так, чтобы сервис был полезным, клиенты счастливыми, а начальство довольным.

Мобильную составляющую сервиса мы разрулили — симки стали звонить так, как хотелось нам, а не так как это было задумано разработчиками FMC-платформы: мы видим все вызовы, получаем все, что набирается на мобильниках (принимаем от 2 до 20 символов), управляем звонками онлайн, включаем-отключаем все это, да еще и создали интерфейс, читай «Личный кабинет клиента», в котором можно назначать симкам короткие номера, блокировать-разблокировать трафик и, вообще, наводить доселе невиданную красоту в коммуникациях.

Вот такой личный кабинет получился:

image

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

Из Oracle да в Postgres

Время на прочтение10 мин
Количество просмотров71K
Так уж случилось, что с Oracle организация наша работает давно и плотно. Сам я познакомился с Oracle Database ещё во времена 6-ой версии и, с тех пор, какого либо дискомфорта не испытывал. Всё испортили рыночные отношения. С недавних пор, мы начали замечать, что Заказчик гораздо благосклоннее смотрит на наши проекты если в них используются бесплатные СУБД. О портации одного из таких проектов и будет мой рассказ... 
Читать дальше →
Всего голосов 60: ↑57 и ↓3+54
Комментарии45

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Время на прочтение29 мин
Количество просмотров107K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться.



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →
Всего голосов 96: ↑79 и ↓17+62
Комментарии37

Wi-Fi бывает хороший, а бывает обычный. Практика применения Ruckus в офисе

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

Home vs Professional

Хорошо известны решения производителя WiFi оборудования RuckusWireless для высокопроизводительных сетей с поддержкой роуминга и нагрузкой более 100 клиентов на точку доступа. На сайте производителя можно увидеть примеры реализации подобных сетей из сотен и даже тысяч точек доступа. Но имеет ли смысл использовать оборудование Ruckus (от $500 за точку в ценах MSRP) в сетях, состоящих из нескольких точек доступа или в таких задачах можно использовать более простые решения? Сегодня мы хотим привести небольшой пример, показывающий различие систем операторского класса и менее дорогих, так скажем, бытовых решений.

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

Внедрение технологии единого источника DITA в компании-разработчике ПО

Время на прочтение7 мин
Количество просмотров14K
Здравствуйте! Меня зовут Елена Толмачева. В компании «ДоксВижн» я занимаюсь разработкой пользовательской документации.

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


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

Приём радиофаксов и прочих цифровых передач с помощью обычного приёмника и компьютера

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

Один из неудачных радиофаксов

С чем у нас обычно ассоциируется слово «факс»? Большинство представят гибрид принтера и телефона, с помощью которого передают документы в отдаленные уголки планеты. Но знаете ли вы, что факсом пользуются моряки при отсутствии интернета? По факсу японское новостное агентство Kyodo передаёт новости на двух языках, а различные метеоцентры — погоду на несколько дней вперед. И мы тоже можем все это получить и раскодировать — нужен лишь компьютер и подходящий приемник.
И как все это выглядит?
Всего голосов 80: ↑79 и ↓1+78
Комментарии51

300 потрясающих бесплатных сервисов

Время на прочтение11 мин
Количество просмотров1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Обзор железок для занятий робототехникой с детьми

Время на прочтение5 мин
Количество просмотров124K
UPD: к нижеприведенному материалу поступило множество дельных замечаний, поэтому он был полностью переработан: habrahabr.ru/company/makeitlab/blog/252015

Сейчас мы готовим новую площадку для детских занятий. В процессе подготовки стал вопрос выбора платформы, на которой будем обучать. По такому случаю мы подготовили обзор имеющихся платформ с обоснованием выбора. Документ, вроде, интересный получился, решил его здесь опубликовать. Некоторые вещи изложены сильно упрощенно, поскольку текст предназначен не только для хардкорных технарей.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии38

Самые нужные плагины для Grunt

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


Доброго времени суток, всем! Кто-то умный, не помню в какой статье именно на Хабре, буквально недавно размышлял о процессе разработки с явным призывом автоматизировать все, что только можно автоматизировать. И лучше один раз потратить время на автоматизацию, чтобы потом экономить его на протяжении всего проекта.

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

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.

Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии43

Создание консоли управления MMC

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



Так и в ситуации с консолями MMC. Вы создаёте для себя «пульт управления» и при определённых ситуациях нажимаете на нужные «кнопки».
Публикация рассчитана на системных администраторов, желающих познакомиться с методом создания консолей управления Windows, путём использования mmc.exe.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии4

Нестандартная оптимизация проектов на PHP

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

image

Традиционные методы, думаю, всем известны:
  • Оптимизация SQL-запросов;
  • Поиск и исправление узких мест;
  • Переход на Memcache для часто используемых данных;
  • Установка APC, XCache и подобных;
  • Клиентская оптимизация: CSS спрайты и т.п.


В нашем же проекте всё это было сделано, но при этом проблема скорости обработки страниц сохранялась. Средняя скорость обработки страницы была в районе 500мс. В один прекрасный момент пришла идея проанализировать, какие ресурсы есть, и на что они могут тратиться.
Читать дальше →
Всего голосов 53: ↑40 и ↓13+27
Комментарии103

Опыт решения проблемы созданием OLAP-куба, используя С#

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

Предыстория


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

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

image
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии1

Как жить с Docker, или почему лучше с ним, чем без него?

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


Эта статья предназначена для тех, кто уже знает про Docker, знает для чего он. А вот что делать с этим дальше не знает. Статья носит рекомендательный характер и не посягает на звание «лучшая практика».

Итак, возможно вы прошли docker tutorial, докер кажется простым и полезным, но вы пока не знаете, как он может вам помочь с вашими проектами.

Обычно с деплоем возникает три проблемы:
  1. Как мне доставить код на сервера?
  2. Как мне запустить код на серверах?
  3. Как мне обеспечить одинаковость окружения, в котором запускается и работает мой код?


Как с этим поможет Docker под катом.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии41

Что такое Кеневин и немного о конференции Lean Kanban Russia

Время на прочтение3 мин
Количество просмотров16K
Давно ли вы меняли свою работу? Если да, то возможно с вами или с вашими коллегами случалась такая ситуация — при переходе из одной компании в другую вы начинаете видеть те же самые проблемы, и пытаетесь, основываясь на предыдущем опыте, принимать решения, но в этом случае это только усугубляло ситуацию. Мало того, вы начинаете искать причины в том, что люди недостаточно хорошо работают и все получится, просто нужно подождать или еще что-нибудь. Короче, несмотря на всё окружение и сигналы свято верите, что вы правы. Ведь это кажется контр-логично – не доверять своему опыту. Это называется «Ловушка Эксперта» — вы становитесь заложником своего опыта, вам кажется что все просто и вы принимаете неподходящие решения, порой приводящие к глубокому кризису в управлении.

Например: была у меня такая история со знакомым. Он успешный проектный менеджер, который с успехом сделал несколько проектов, используя Scrum. Все было отлично — масштабирование работало отлично, заказчик был доволен, качество на высоте, команды на подъеме, релиз, планы и velocity стабильны и предсказуемы, в общем, все отлично. И тут его приглашают в другую крупную российскую компанию, и он видит там бардак, и первая его реакция – «так, Всем Scrum!»
А ситуация, конечно, по уровню беспорядка не сильно отличается от предыдущей, если только масштабом, а вот по специфике работы и взаимодействию людей – отличается, и результаты «Всем Scrumовской» политики, конечно, помогают, но не долго. Дальше начинается вой «Scrum ваш не работает» – и нашего, до недавнего времени, успешного менеджера уже намереваются уволить.

Что делать?

Выходит так, что мы должны уметь принимать решение и понимать, когда наш опыт это плюс и его стоит использовать, а бывает что минус и это только мешает нам принять подходящее контексту решение.
Именно по этому я хочу вам рассказать про фреймворк Cynefin/«Кеневин». Это один из основных методов компании Cognitive Edge, который позволяет руководителям взглянуть на вещи с новых точек зрения, усвоить сложные понятия, и решать реальные проблемы. Использование фреймворка «Кеневин» может помочь руководителям ощутить, в какой ситуации они находятся, так что они могут не только принять лучшие решения, но и избежать проблем, которые возникают, когда их стандартный стиль управления заставляет делать ошибки.

Проще говоря, Кеневин и Sensemaking (еще оно модное слово :)) вообще – нещадно разбивают все концепции General Management'a, которые преподаются на всеми любимых MBA программах или других курсах классического менеджмента. Хотите, чтобы ваша компания имела Бизнес Гибкость не только на уровне команды или IT-подразделения, а развивалась как Сложная Адаптивная Система, устойчивая к разному роду неопределенности? А неопределенности сейчас предостаточно на всех уровнях управления.
Почитать больше про Кеневин
Всего голосов 13: ↑11 и ↓2+9
Комментарии2

Эффективные ревью кода: 9 советов от исправившегося скептика

Время на прочтение4 мин
Количество просмотров20K
Я знал теорию. Ревью кода помогает:
  • Находить баги
  • Обеспечивать читаемость и поддерживаемость кода
  • Распространять знания кода на всю команду
  • Быстрее входить в работу новым членам команды
  • Показывать всем новые подходы к решению задач

Или, это всего лишь пустая трата времени. По крайней мере, таким было мое первое впечатление от ревью кода.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии5

Уменьшаем количество ошибок с помощью чек-листа Code Review

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

Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии13

Информация

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