Pull to refresh
3
0
Михаил Баланов @realsonic

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

Send message

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

Reading time8 min
Views73K
Это двадцать шестая публикация в серии публикаций о VS 2010 и .NET 4.

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

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

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

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



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

Читать дальше →
Total votes 113: ↑107 and ↓6+101
Comments102

Ja.NET — Java для .NET

Reading time1 min
Views7.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, что положительно сказалось на производительности.

Пример кода
Total votes 43: ↑36 and ↓7+29
Comments55

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

Reading time4 min
Views13K
Если у вас еще нет планов на выходные – у меня есть предложение: посмотрите доклады с DotNext 2016 Moscow, вчера мы выложили их в общий доступ.

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



Все видео под катом.
Total votes 33: ↑31 and ↓2+29
Comments1

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

Reading time10 min
Views979K
Перевод статьи Vincent Driessen: A successful Git branching model

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



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

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

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

Reading time3 min
Views80K

Введение


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

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

Reading time6 min
Views324K


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

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

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

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

Reading time4 min
Views649K

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


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

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

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

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

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

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

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

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

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

Reading time2 min
Views1.6K
Артур Кларк, «Космическая одиссея 2001», 1968

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

Читать дальше →
Total votes 138: ↑137 and ↓1+136
Comments65

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

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


Читать дальше →
Total votes 114: ↑106 and ↓8+98
Comments168

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

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

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



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

Dispose pattern

Reading time10 min
Views67K
“Не стоит следовать некоторой идиоме только потому, что так делают все или так где-то написано”

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

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

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

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

Reading time1 min
Views34K


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

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

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

Reading time5 min
Views32K
… пусть меня научат.

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

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



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

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

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

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

Введение


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

Читать дальше →
Total votes 88: ↑81 and ↓7+74
Comments65

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

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

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

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

Читать дальше →
Total votes 231: ↑214 and ↓17+197
Comments97

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

Reading time1 min
Views1.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 →.
Total votes 33: ↑29 and ↓4+25
Comments16

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity