Как стать автором
Обновить
3
0
Михаил Баланов @realsonic

Инженер-разработчик

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

Советы по отладке в Visual Studio 2010

Время на прочтение8 мин
Количество просмотров73K
Это двадцать шестая публикация в серии публикаций о VS 2010 и .NET 4.

Сегодняшняя публикация рассматривает некоторые полезные советы по отладке которые вы можете применять в Visual Studio. Мой друг Скот Кэйт (Scott Cate) (который опубликовал в блоге дюжину великолепных советов и трюков по VS) недавно обратил мое внимание на несколько хороших советов о которых не знает много разработчиков использующих Visual Studio (даже при том, что многие из них работают с ней уже давно с более ранних версий).
Читать дальше →
Всего голосов 70: ↑56 и ↓14+42
Комментарии31

Что может чат-бот

Время на прочтение6 мин
Количество просмотров156K
Сначала мы выделили основные офисные процессы. Про чат-бота мы даже не говорили. Вот, например, заказ командировок. Сейчас я должна написать сотруднику службы деловых поездок в почту: «Я собираюсь в командировку в Сургут 5-го числа на три дня», а он: «Такой-то самолет и такая-то гостиница — всё подходит?», а я: «Да, давай». Дальше он пойдет согласовывать с руководством, забронирует сам билеты, спустя какое-то пришлёт мне подтверждение, что все Ок. Всё то же самое может делать бот.

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



Теперь давайте покажу пример чуть посложнее.

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

Ja.NET — Java для .NET

Время на прочтение1 мин
Количество просмотров7.1K
image Как скрестить ужа с ежом? Эту, казалось бы, анекдотичную задачу довольно неплохо решили разработчики проекта Ja.NET. В результате их кропотливого труда на свет появилось уникальное творение — JVM, работающая под Microsoft .NET Framework. Разработчики заявляют о частичной совместимости с Java SE 1.5.

На этом месте разработчики со стажем, поморщившись, вспомнят про полумертвенький J#, впоследствии практически заброшенный «родителями». Но Жанетт — в отличие от той поделки — девушка серьезная, и подход демонстрирует более вдумчивый. В ее родителях числятся именитые проекты: Eclipse JDT compiler, Mono's Cecil, и Apache Harmony. В отличие от своих аналогов, Ja.NET представляет из себя полноценную виртуальную ява-машину, работающую на основе .NET. Кроме того, компилятор генерирует родной код MSIL, что положительно сказалось на производительности.

Пример кода
Всего голосов 43: ↑36 и ↓7+29
Комментарии55

Видеозаписи лучших докладов DotNext 2016 Moscow: Перфоманс, CLR и функциональное программирование на .NET

Время на прочтение4 мин
Количество просмотров13K
Если у вас еще нет планов на выходные – у меня есть предложение: посмотрите доклады с DotNext 2016 Moscow, вчера мы выложили их в общий доступ.

Вообще, мой любимый формат поста про конференции – обзор лучших докладов. Жаль, делать его получается только один раз на конференцию… В любом случае, сегодня у нас есть о чем поговорить: мы открыли доступ к видеозаписям лучших докладов конференции DotNext 2016 Moscow и близимся к завершению программы DotNext 2017 Piter (Питер, 19-20 мая), о которой тоже скажу пару слов.



Все видео под катом.
Всего голосов 33: ↑31 и ↓2+29
Комментарии1

Удачная модель ветвления для Git

Время на прочтение10 мин
Количество просмотров978K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии105

Воспроизведение звука в Java

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

Введение


Нормальной русскоязычной информации по теме просто нет. Java-tutorials тоже оставляют желать лучшего. А архитектура javax.sound.sampled хоть и проста, но далеко не тривиальна. Поэтому свой первый пост на Хабре я решил посвятить именно этой теме. Приступим:
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии7

Игры, которые учат программированию

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


Образование стоит дорого. Хорошее образование стоит очень дорого. Но тем не менее возможность получить бесплатное и качественное образование есть у каждого. Компании и корпорации во всём мире вкладывают деньги в создание бесплатных образовательных продуктов. Отчасти, чтобы обеспечить себя квалифицированными кадрами в будущем. Отчасти, для преодоления бедности, предоставления всем равного доступ к качественному образованию.

У каждого есть возможность воспользоваться специально созданной для обучения школьников средой программирования Scratch, которую разрабатывают специалисты одного из самых престижных технических учебных заведений США и мира — Массачусетского технологического института. Или игрой Minecraft, за которую Microsoft год назад заплатила $2,5 млрд и с помощью которой, в том числе, планирует обучать детей программированию. Или обучающими играми, которые создают энтузиасты и добровольцы во всём мире.

Препятствием для использования подобных ресурсов может быть неосведомлённость о их существовании или незнание языка. Действительно, англоязычных ресурсов и игр значительно больше. Но существуют и русскоязычные игры, обучающие программированию.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии37

Книги, которые должен прочитать Java программист: от новичка до профессионала

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

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Всего голосов 90: ↑77 и ↓13+64
Комментарии77

Проследи за собой сам

Время на прочтение2 мин
Количество просмотров2.2K
Некоторое время назад большой популярностью пользовались программки, измеряющие путь, пройденный по экрану компьютера курсором мыши. Молодая калифорнийская компания Fitbit предлагает устройство, которое поможет вам посостязаться с электронным грызуном. Миниатюрная «клипса» Fitbit Tracker, которую легко можно носить на одежде, запишет все ваши передвижения (количество шагов и пройденное расстояние) и затраченные в течение дня калории. А ночью, будучи надетой на специальный браслет на запястье, она изучит качество вашего отдыха по характерному слабому дрожанию рук, отмечающему переходы между фазами сна.

Беспроводной гаджет работает до 10 дней на одном заряде батареи и синхронизирует собранные им данные автоматически, когда оказывается вблизи своей базовой станции. Та, подключенная к компьютеру, отправляет их на специальный сайт, который составляет вторую важную часть изобретения.
Читать дальше →
Всего голосов 49: ↑42 и ↓7+35
Комментарии30

Синдром рассеянного внимания меняет человечество

Время на прочтение2 мин
Количество просмотров3.5K
Молодёжь тупеет? Люди становятся более легкомысленными? Можно сказать и так, но учёные предпочитают использовать другие формулировки: по их мнению, цифровые технологии способствуют возникновению синдрома рассеянного внимания у абсолютного большинства населения. Человеческий мозг не приспособлен для многозадачного режима работы, что уже неоднократно обсуждалось на Хабре. Это понятно. Но теперь врачи говорят, что последствия длительной «многозадачности» уже необратимы. Молодёжь из «цифрового поколения» просто не может сконцентрироваться на чём-то одном на долгое время (они даже не могут прочитать ни одну книгу до конца; для них даже несколько страниц текста — это уже слишком много). Некоторые специалисты считают, что это очень опасная тенденция.

Этой глобальной проблеме посвящена книга “Distracted: эрозия внимания и наступающие тёмные времена” (автор — Мегги Джексон). Может быть, автор где-то сгущает краски, но факты остаются фактами: синдром рассеянного внимания уже сейчас реально приводит к тысячам смертей. Из-за рассеянного внимания в наши дни гибнут сотни людей в ДТП, происходят техногенные аварии, у людей появляются серьёзные ментальные проблемы, а экономика теряет миллиарды долларов по причине понижения эффективности труда.
Читать дальше →
Всего голосов 77: ↑70 и ↓7+63
Комментарии196

Артур Кларк об интернете, 1968 год

Время на прочтение2 мин
Количество просмотров1.5K
Артур Кларк, «Космическая одиссея 2001», 1968

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

Читать дальше →
Всего голосов 138: ↑137 и ↓1+136
Комментарии65

Земля без людей

Время на прочтение2 мин
Количество просмотров1.6K
Представте: люди вымрут. А что будет с землей? Интересно? Канал The History Chanel сделал попытку предсказать постапокалиптическое будущее в своем двух часовом документальном фильме Life After People.
Вот кадры оттуда.


Читать дальше →
Всего голосов 114: ↑106 и ↓8+98
Комментарии168

Опыт применения Go в продакшене Яндекса

Время на прочтение7 мин
Количество просмотров74K
Хочу поделиться опытом использования языка Go в продакшн-системах Яндекса. Вообще мы здесь довольно консервативно относимся к тому, какие языки использовать для реальных систем. И это лишь добавляет полезности тому опыту, который мы получили в этот раз.

Мы начали разрабатывать на Go летом прошлого года. Тогда появился фреймворк Go для облачной платформы Cocaine. До этого приложения серверного API Браузера писались в основном на C++ и Python. Серверный API в это время как раз переходил на облачную платформу, и мы по большей части только определялись с тем, какие технологии использовать в будущем для него. API выполняет следующие функции: получить данные, обработать, отправить во внутренний сервис Яндекса, ещё раз обработать, отдать назад Браузеру. Набор простых приложений.



Недостатком C++ для нас был явный оверкилл для наших целей, на разработку уходила уйма времени, также большой проблемой для нас было то, что плюсовый фреймворк для Кокаина не представлял никакой возможности работать асинхронно, кроме как с помощью коллбэков. У нас было много обращений к различным сервисам, поэтому в результате скоро весь код стал одной большой лапшой из коллбэков. Масштабировать и отлаживать ее было очень сложно.
Читать дальше →
Всего голосов 144: ↑138 и ↓6+132
Комментарии123

Dispose pattern

Время на прочтение10 мин
Количество просмотров67K
“Не стоит следовать некоторой идиоме только потому, что так делают все или так где-то написано”

Мысли автора статьи во время чтения и рефакторинга чужого кода

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

А как же финализаторы? – спросите вы. Ну, да, есть такое дело, финализаторы действительно предназначены для освобождения ресурсов, но проблема в том, что время их вызова не детерминировано, а это значит, что никто не знает, когда они будут вызваны и будут ли вызваны вообще. Да и порядок вызова финализаторов не определен, поэтому при вызове финализатора некоторые «части» вашего объекта уже могут быть «разрушены», поскольку их финализаторы уже были вызваны. В общем, финализаторы – они-то есть, но это скорее «страховочный трос», а не нормальное средство управления ресурсами.
Читать дальше →
Всего голосов 77: ↑68 и ↓9+59
Комментарии28

UICloud: Самая большая база пользовательских интерфейсов

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


UICloud — это база бесплатных пользовательских интерфейсов с поисковой системой, рейтингом и каталогизатором в которой собрано все от исходников в формате PSD, до готовых решений на HTML, CSS или jQuery: формы, слайдеры, кнопки, календари, элементы и полноценные интерфейсы для мобильных и веб приложений. В проекте уже сейчас можно найти практически все что нужно для облегчения процесса разработки дизайнерам и разработчикам.

На данный момент в базе 23586 элементов и почти тысяча UI-сэтов включающие в себя готовые решения в едином стиле. Проект создан Британской студией Double-J Design целью проекта является создание самой обширной UI базы.
Всего голосов 163: ↑161 и ↓2+159
Комментарии40

Я бы в Джабберы пошёл…

Время на прочтение5 мин
Количество просмотров32K
… пусть меня научат.

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

Введение и пара оговорок



Джаббер (Jabber) — протокол мгновенного обмена сообщениями. Хотя Jabber правильнее называть XMPP — расширяемый протокол обмена сообщениями и индикацией присутствия.
Читать дальше →
Всего голосов 195: ↑180 и ↓15+165
Комментарии268

Interactive Fiction или Используй воображение…

Время на прочтение6 мин
Количество просмотров14K
Zork 1Я автор известной в определенных кругах платформы QSP, предназначенной для создания текстовых (sic!) игр.
Столь редкий жанр мало освещен в рунете, поэтому очень хочется исправить ситуацию и вкратце рассказать об интерактивной литературе и QSP в частности.

Это моя первая статья для Хабрасообщества, поэтому прошу сильно не пинать :)

Введение


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

Читать дальше →
Всего голосов 88: ↑81 и ↓7+74
Комментарии65

Как зарегистрировать домен бесплатно

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

Вот какие домены можно зарегистрировать абсолютно бесплатно:
Украина
.net.ua, .od.ua, .org.ua, и множество вида регион.ua
Россия
.com.ru, .net.ru, org.ru, pp.ru, .msk.ru, spb.ru и множество остальных типа регион.ru

Ниже инструкция типа «домен бесплатно для чайников»

Читать дальше →
Всего голосов 231: ↑214 и ↓17+197
Комментарии97

Встраивание и кодирование в JavaScript

Время на прочтение1 мин
Количество просмотров1.8K
Примечание: ниже находится перевод статьи «Embedding and Encoding in JavaScript», в которой автор (JavaScript-евангелист в Mozilla и автор библиотеки jQuery по совместительству) рассматривает способы сжатия информации и ее объединения при помощи JavaScript и некоторых других методов. Мои комментарии далее курсивом.

Грубая реализация на JavaScript (заметка на Хабре, ссылка blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html) первого уровня Super Mario Brothers буквально на днях обошла весь Интернет. В нее, в общем, можно играть, хотя упущены многие ключевые аспекты (нет грибов, нет флага, нет повышающих очков и т.д.). Однако, это, на самом деле, не самый интересный аспект в этой игре.

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

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

читать дальше на webo.in →.
Всего голосов 33: ↑29 и ↓4+25
Комментарии16

Информация

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