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

Full Stack Javascript Developer

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

x += x++

Время на прочтение2 мин
Количество просмотров66K
Хотел бы начать перевод с маленького опроса. Вопрос к .NET разработчикам пишущим на языке программирования C#.

Опрос в конце перевода.

Сегодня я смотрел внутренний список разработчиков языка C#. Один из вопросов был о поведении выражения «x += x++», а именно, каким должно быть правильное поведение. Я думаю этот вопрос более чем интересный, поэтому решил посвятить ему запись в своем блоге. Но для начала, НИКОГДА НЕ ПИШИТЕ ТАКОЙ КОД.

ОК, мы можем начать…
Читать дальше →
Всего голосов 51: ↑31 и ↓20+11
Комментарии48

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров180K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Всего голосов 311: ↑288 и ↓23+265
Комментарии208

О книге Билла Вагнера «Effective C#»

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


Я уже много лет являюсь поклонником серии «Effective XXX», начатой Скотом Мейерсом в 1997-м году с его “Effective C++”. Книги из этой серии содержат несколько десятков советов о вашем любимом языке программирования, рассказыавя о том, что делать стоит, а чего – нет. Такие книги легко читать, и они являются отличным источником для размышлений.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии21

Mojo Share — все социальные кнопки на CSS3 с иконочным шрифтом в одном месте

Время на прочтение10 мин
Количество просмотров21K
Доброго времени суток уважаемые хабравчане. Начну издалека… Share кнопки — это очень важно. Большинство из нас с Вами использует либо стандартные кнопки определенной социальной сети, либо один из этих сервисов: Блок «Поделиться» от Яндекса, AddThis, ShareThis и новоиспеченный Pluso. Если рассматривать все эти способы с точки зрения кастомизации и дизайна, то достойнее всего, на мой взгляд, это реализовали в Pluso. Все остальное почти ничем не отличается друг от друга. Рассматривая основной функционал (непосредственно шаринг), отличается баганутостью только Pluso, где можно легко накрутить счетчики, нажимая кнопки помногу раз. Я не буду сравнивать качество сбора статистики этих сервисов хотя Pluso явно не фаварит, поскольку не компетентен в этом вопросе. Вернемся к кастомизации кнопок. Как таковой, во всяком случае удобной, ее нет. А если говорить про дизайн, то кнопки не адаптированы под Retina дисплеи, что сразу бросается в глаза. Поэтому я решил создать проект на GitHub, который состоит из иконочного шрифта MojoSocial и файла стилей MojoShare.

image

Сейчас в проекте более 40 векторных иконок. Все кнопки построены на CSS3 с использованием градиентов из фирменных цветов каждого отдельного сервиса. Плюс несколько стилистических классов, определяющих дизайн кнопки. А пользоваться этим удобно, потому что файл стилей на LESS.

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

CSS-маски для hover-эффекта

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


На многих сайтах-портфолио работы представлены в виде небольших картинок-миниатюр с приятными hover-эффектами. В этой статье будет рассказано о способе сделать такой эффект, используя CSS-маски. Работает только в современных браузерах, но к счастью и в старых верстка выглядит корректно и не съезжает.
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии11

Неэффективный программист или как взломать свой мозг за 2 дня

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


Disclaimer: Автор понимает, что ничего нового не открыл, но подача материала может оказаться достаточно полезной, особенно для тех, кто регулярно пытается сконцентрироваться и расти над собой.


Интернет сделал нас ленивыми!

Почему? Кто в последний раз посмотрел видео больше 3х минут? Кто прочитал пост больше 2 страниц? Какой заголовок более привлекателен, «63 способа бла-бла-бла» или «3 проверенных метода бла-бла-бла»? А если эти три проверенных метода выделены от основного текста, то это вообще гуд (можно не читать текст вовсе, а просто пробежаться по выделенным подзаголовкам).

В этом свои плюсы. Наш мозг эволюционировал, и обрабатывает информацию быстрее, чем, скажем, 15-20 лет назад (да и эволюционирует быстрее, чем это было возможно век назад). Как компании справляются с высокими нагрузками? Как процессор выполняет программу по возможности быстро? С помощью кэширования! (как вариант, но самый приоритетный). Что делает наш мозг, чтобы справиться с большой нагрузкой? Кэширует! Что именно и как — оставим на размышление ИИшникам (специалистам по искусственному интеллекту). В противном случае при увеличении размера обрабатываемой информации время «отклика» бы увеличилось в разы, и на ответ на «как добраться до ближайшей больницы?» уйдет больше времени, чем человек «в силе ждать». «Сила ждать» тоже уменьшилась, «размер» нашего терпения уменьшился, и мы быстро устаем, если продолжительность видео большая, размер статьи большой (на самом деле продолжительность может не влиять на терпение, больше всего влияет полезная информация, если «воды» меньше или вовсе нет, то и терпеть ничего не приходится, посему данный пост написан «эз лаконик эз посибл»).
Убедиться в этом
Всего голосов 258: ↑207 и ↓51+156
Комментарии176

Сортировка в .NET

Время на прочтение16 мин
Количество просмотров71K
Задача сортировки — это классическая задача, которую должен знать любой программист. Именно поэтому эта статья посвящена данной теме — реализации сортировки на платформе .NET. Я хочу рассказать о том, как устроена сортировка массивов в .NET, поговорить о ее особенностях, реализации, а также провести небольшое сравнение с Java.

Итак, начнем с того, что первые версии .NET используют алгоритм быстрой сортировки по умолчанию. Поэтому небольшой экскурс в быструю сортировку:
Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии37

Грамотное адаптивное выравнивание шапки сайта

Время на прочтение3 мин
Количество просмотров155K
Зачастую вроде бы простые задачи верстки требуют сложной структуры HTML-разметки и использования CSS-трюков. Центрирование элементов или выравнивание контента может быть очень утомительным. Одна из таких задач — это выравнивание элементов верхней части сайта так, чтобы логотип был слева, а пункты меню — справа. Можно использовать float и position:absolute, а для выравнивания по вертикали — добавлять margin и padding разным элементам. Вроде бы ничего сложного. Но если сайт должен корректно отображаться и на мобильных устройствах, возникает много проблем.



Ниже описан лаконичный способ решения этой проблемы.
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии36

Наглядный жизненный урок

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

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

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

Далее, для тех, кто еще не снял розовые очки — гайд по реальному миру.
Добро пожаловать в реальный мир
Всего голосов 277: ↑242 и ↓35+207
Комментарии212

BitTorrent Tracker на C#

Время на прочтение6 мин
Количество просмотров26K
Долгое время я искал в сети пример простейшего tracker-а на C#, но, к сожалению, мои поиски успехом не увенчались. Поэтому я решил попробовать себя в написании tracker-а на C#, а получив более-менее рабочую версию — поделиться опытом ее создания со всеми. А заодно и получить как можно больше советов по ее усовершенствованию.

Но давайте начнем с начала…
Читать дальше →
Всего голосов 33: ↑26 и ↓7+19
Комментарии36

ABC: Always Be Coding (не переставай программировать)

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


Как получить работу инженера?

Давай на чистоту. Ты хороший кандидат на должность инженера? Как ты сам себя оцениваешь? Много ли компаний, в которых ты бывал на собеседованиях? Каково у тебя отношение пройденных интервью к полученным предложениям о работе? Попробуй воспользоваться следующей формулой (это мое сферическое измерение в вакууме, которое не означает ровным счетом ничего):

# x = количество компаний, в которых ты проходил собеседования

# y = количество предложений о работе, которые ты получил

рейтинг = 100 * log(x) * y / x



Если твой рейтинг < 90, обязательно прочти это. Если > 120, возможно, тебе это не нужно, но, все равно прочти.

Читать дальше →
Всего голосов 109: ↑90 и ↓19+71
Комментарии58

Шесть советов по созданию сайтов для многоязычной аудитории от Google Web Studio

Время на прочтение3 мин
Количество просмотров18K
Уровень подготовки веб-мастера: любой

В Интернете немало сайтов, содержание которых доступно на нескольких языках, и таких ресурсов становится все больше. Тем не менее, создание многоязычного веб-сайта – это не просто перевод или локализация (L10N). Здесь необходимо принимать во внимание множество других аспектов, каждый из которых относится к интернационализации (I18N). В Справке Google вы можете найти информацию о том, как оптимизировать для Google Поиска мультирегиональные и многоязычные сайты, а в этой статье мы хотим поделиться несколькими советами по созданию ресурсов для многоязычной аудитории.

1. Создавайте многоязычные страницы с помощью разметки, а не таблиц стилей


Язык и направленность текста тесно связаны с содержанием страницы. В этой связи старайтесь всегда использовать разметку, а не таблицы стилей. Задавайте язык и направление текста (по крайней мере для материалов в html) с помощью псевдоклассов lang и dir:

<html lang="ar" dir="rtl">

Мы не советуем применять оригинальные решения, такие как специальные классы или идентификаторы.
Полагаться на таблицы стилей не стоит: пользовательские агенты могут игнорировать такие свойства, как направление или двунаправленный текст Unicode. Для XML ситуация прямо противоположна: поскольку XML не поддерживает специальную разметку для интернационализации, в этом случае рекомендуется использовать таблицы стилей.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии2

Приложения для Windows 8 на C# и XAML

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

Название оригинала: Building Windows 8 Apps with C# and XAML
Автор: Дж. Ликнесс
Перевод книги: Заика А. А.
Дата выхода: июль 2013г.


Книга на сайте издательства.
Книга на Ozon.ru

Электронная версия в продаже!

Подробное оглавление
Отрывок

Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии10

Xamarin + PCL + MVVM — как облегчить написание мобильных приложений под разные платформы

Время на прочтение5 мин
Количество просмотров35K
Как-то совершенно незаслуженно обделена вниманием платформа Xamarin 2.0, и я б хотел начать описание всех его замечательных свойств

Прежде всего, что такое Xamarin?

Xamarin это коммерческий продукт, основанный на open-source проекте Mono, который позволяет использовать .Net framework, в том числе язык C#, для кроссплатформенных разработок.

Основные свойства:
  • C# для написания приложений под Android, iOs и Windows8. Поддержка LINQ и async/task
  • Native UI, Native Peformance — код компилируется под конкретную платформу и использует native UI контроли
  • Visual Studio и все его plugins, включая ReSharper, NUnit testing…
  • Xamarin Studio, которая похожа на Visual Studio, но доступна также и для Mac
  • Использование .Net библиотек
  • Использование других готовых native компонент, обвернутых в C#
  • Графический редактор для Андроида

image
Подробности и пример приложения для Андроида
Всего голосов 40: ↑30 и ↓10+20
Комментарии35

HabraPack возвращается

Время на прочтение1 мин
Количество просмотров64K
Я надеюсь тут остались люди, которые помнят старый и ужасный на вид HabraPack? В последнее время я начал натыкаться на свои жуткие иконки на большом количестве сайтов и даже в терминалах оплаты местной компании, в разделе «Социальная сеть». Также, совсем недавно, знакомые попросили чуть обновить иконки, что я собственно и сделал.

image

Я буду обновлять иконки раз в день, большим количеством иконок. А пока можете СКАЧАТЬ и спокойно пользоваться, если вдруг найдутся люди, кому понравится.

.PSD файл прилагается.
Всего голосов 164: ↑158 и ↓6+152
Комментарии54

Упражнения для тренировки мозга

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

В силу склада ума или давнего увлечения скорочтением, мнемотехникой и прочим, у меня был повышенный интерес к играм состоящим из набора упражнений для тренировки мозга(BrainChallenge, Dr.Kawashima и др.). Переиграв практически во все что было на десктопе и nds, появилось желание использовать такие игры для каждодневных тренировок, но для этого они не совсем подходят(в тексте объясню почему). Поэтому на досуге решил написал небольшой сайт с набором такого рода упражнений.
Читать дальше →
Всего голосов 96: ↑81 и ↓15+66
Комментарии83

Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

Время на прочтение18 мин
Количество просмотров245K
На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


Договор авторского заказа
Всего голосов 158: ↑147 и ↓11+136
Комментарии124

Инструменты мониторинга в социальных сетях

Время на прочтение7 мин
Количество просмотров56K
Сегодня можно без труда на пальцах одной руки насчитать две и даже семь сотен социальных сетей. Я думаю мне не нужно убеждать дорогого читателя в том, что это бездонный кладезь информации. Но вот как можно эту самую информацию заполучить, да ещё и в удобоваримом виде?

Для того, чтобы у нас с вами было не как на картинке, предлагаю вашему вниманию обзор наиболее интересных сервисов для монитроинга и взаимодействия с социальными сетями. Если коротко, то ситуация выглядит следующим образом:
Wildfire HootSuite TweetDeck AppData Klout
С чем интегрируется
Google+, Facebook, Linkedin, Pinterest, Twitter, Youtube
Google+, Facebook, Foursquare, Linkedin, Mixi, Myspace, Twitter, Wordpress, App Directory
Facebook, Twitter
Facebook
Facebook, Twitter
Цена
Pro / Enterprise — договорная
Free, Pro — $10/месяц, Enterprise — договорная
Free
Free, Pro — $595/месяц или $5995/год, Enterprise — договорная
Free
Аналитика
          
          
          
          
          
Сравнение брендов
          
          
          
          
          
Постинг по расписанию
          
          
          
          
          
Стриминг сообщений
          
          
          
          
          
Для любопытного же читателя я подготовил более развёрнутое описание всех этих сервисов под катом. Так же там можно найти идеи для сервиса, который мог бы принести радость всем людям на Земле.
Читать большой субъективный обзор с картинками
Всего голосов 24: ↑22 и ↓2+20
Комментарии23

Как создать новый продукт для рынка электроники. Часть 1

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


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

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

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

Многие читатели Хабра знакомы с внутренней кухней разработки ПО, а ведь железо — это совсем другая история. Готовы? Тогда поехали.
Дальше о том, в чем разработка электроники отличается от разработки ПО
Всего голосов 88: ↑83 и ↓5+78
Комментарии32

Европейцы и европейские языки: переводить или не переводить?

Время на прочтение5 мин
Количество просмотров48K
Европа известна своим языковым разнообразием: в этой части света говорят на 23 официальных языках и более чем на 60 региональных языках коренного населения. К тому же согласно полному докладу Европейской комиссии от 2012 года «Европейцы и европейские языки» множество мигрантов, приехавших в Европу, разговаривают на своих родных языках.

Как же при наличии такой пестрой языковой среды решить, насколько целесообразным будет перевод?

Недавно компания TNS, которая проводит исследования общественного мнения и социальных сетей в 27 государствах Европейского союза, подготовила отчет о том, как европейцы используют и воспринимают языки. И мне хотелось бы ознакомить вас с несколькими самыми интересными выводами, сделанными в этом документе.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии43

Информация

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