Обновить
0
@spirinread⁠-⁠only

Пользователь

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

Как работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разбор

Время на прочтение10 мин
Охват и читатели173K
Данная статья имеет цель собрать воедино и разобрать принципы и механизм работы кодировок текста, подробно этот механизм разобрать и объяснить. Полезна она будет тем, кто только примерно представляет, что такое кодировки текста и как они работают, чем отличаются друг от друга, почему иногда появляются не читаемые символы, какой принцип кодирования имеют разные кодировки.

Чтобы получить детальное понимание этого вопроса придется прочитать и свести воедино не одну статью и потратить довольно значительное время на это. В данном материале же это все собрано воедино и по идее должно сэкономить время и разбор на мой взгляд получился довольно подробный.

О чем будет под катом: принцип работы одно байтовых кодировок (ASCII, Windows-1251 и т.д.), предпосылки появления Unicode, что такое Unicode, Unicode-кодировки UTF-8, UTF-16, их отличия, принципиальные особенности, совместимость и несовместимость разных кодировок, принципы кодирования символов, практический разбор кодирования и декодирования.

Вопрос с кодировками сейчас конечно уже потерял актуальность, но все же знать как они работают сейчас и как работали раньше и при этом не потратить много времени на это думаю лишним не будет.
Читать дальше →

Инвестирование для чайников

Время на прочтение12 мин
Охват и читатели402K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

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

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!

Веселее и эффективнее: как использовать музыку для работы и где её искать

Время на прочтение6 мин
Охват и читатели22K

Flickr.com / glacial23

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

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

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

Матрица прокрастинации (откладывания дел «на потом»)

Время на прочтение14 мин
Охват и читатели147K
Для лучшего понимания этого поста, прочитайте сначала предыдущий пост про прокрастинацию.

Если бы, когда я учился в школе, вы спросили меня прокрастинатор ли я, я бы конечно ответил “да”. Учеников школы учат “держать темп” с крупными проектами. И я гордо держал темп больше чем кто-либо кого я знаю. Я никогда не пропускал дедлайн, но делал все ночью перед сроком сдачи работы. Я был прокрастинатором.

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

Без всякого сомнения в моей голове была Обезьянка Немедленного Удовольствия, но она была милее всех на свете. С постоянно маячащими дедлайнами, Панический Монстр никогда не спал и Обезьянка знала об этом. Она конечно постоянно отвлекала, но не была за главного.

Мой мозг в школе:
image

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

10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками

Время на прочтение3 мин
Охват и читатели165K

image
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»


Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.


В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.


Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.


Вот перевод этого списка.

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

Работа мечты или небольшая история мобильной разработки

Время на прочтение15 мин
Охват и читатели46K

Глава 1. В поисках сокровищ


Иногда процесс разработки мобильной игры, можно сравнить с поиском сокровищ. Вы тяжело трудитесь, день за днем, месяц за месяцем, строите планы и на них базируются ваши ожидания. Мечтаете. Конечно. Вы много мечтаете, что однажды наступит тот самый день, когда ваши поиски закончатся и все ваши мечты сбудутся. Это могут быть деньги, слава или уважение от миллионов. Но мечты для романтиков, а в реальной жизни все продолжается. Поиски. Разработка.

Но, что будет, если вы делаете игру о поиске тех самых сокровищ? На это у нас пока еще нет ответа, но мы, хотябы попытались. Мы кое-что нашли. А сокровище это или нет, вопрос к тебе, дорогой читатель.

image

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

Книга «Swift. Основы разработки приложений под iOS»

Время на прочтение3 мин
Охват и читатели23K
Привет, Хаброжители! У нас вышла новая книга:
imageДанная книга содержит исчерпывающую информацию для всех желающих научиться программировать на языке Swift с целью создания собственных iOS-приложений (а также OS X-, watchOS- и tvOS-приложений). В ходе чтения книги вы встретите не только теоретические сведения, но и большое количество практических примеров и заданий, выполняя которые вы углубите свои знания в изучаемом материале. Несмотря на то что вам предстоит пройти большой путь, это будет полезный и очень важный опыт. Книга не показывает, как писать iOS-приложения, она предназначена для изучения самого языка программирования Swift. Книга даст вам возможность освоить новый язык и в скором времени приступить к написанию собственных приложений для App Store или Mac App Store. Изучив язык, в дальнейшем вы сможете самостоятельно выбрать, для какой платформы создавать программы — для iOS, OS X, tvOS или watchOS.

Примеры кода в данной книге соответствуют Swift версии не ниже 2.1, iOS версии не ниже 9.1 и Xcode версии не ниже 7.1. Если у вас более новые версии, не беспокойтесь, весь описанный материал с большой долей вероятности будет без каких-либо ошибок работать и у вас.
Читать дальше →

Задачник.NET

Время на прочтение3 мин
Охват и читатели126K
Этот пост предназначается всем любителям платформы .NET и языка C#. Думаю, многие встречали на просторах сети разнообразные задачки на понимание тех или иных особенностей платформы или языка. Я большой любитель подобных задачек и головоломок. Они помогают глубже понять определённые области и повысить собственные программистские навыки. Однажды я решил сделать подборку подобных задачек, чтобы можно было показывать другим людям и обсуждать нюансы работы с .NET/C#. Когда задачек накопилось достаточное количество, появилась новая мысль — оформить мою подборку в виде книжки. Вашему вниманию предоставляется текущий вариант этого сочинения под названием «Задачник.NET».

Cover
Читать online
Скачать PDF-версию
Исходные коды на GitHub
Читать дальше →

Записки правдивого архитектора: просто о самом главном (Ч.1)

Время на прочтение16 мин
Охват и читатели40K
Все нижеизложенное является исключительно частным мнением автора, не имеющим отношения к какому-либо работодателю либо вендору.

«Хмм… правдивого архитектора… А что, такие бывают? – спросите вы и подумаете. — Врет, поди! Сейчас будет нам рассказывать очередную концепцию „бла-бла-бла.2.0“. Знаем, плавали, видали мы „витающих в небесах архитекторов“ и их умозрительные конструкции».
И будете правы: нормальный «пацанский» архитектор — человек очень занятой, и времени писать статьи у него, как правило, нет… Но! Бывает, что настает момент – и желание человека поделиться опытом, рассказать о своих удачах и сложностях миру настолько высоко, что и время находится, и присущий нашему брату-технарю страх публичных высказываний отступает. К тому же коллеги по цеху давно призывали меня начать подобную деятельность.

Стартовать я решила с темы несколько общего характера – ИТ-архитектуры в целом. Почему бы сразу не перейти непосредственно к деталям, которые наиболее занимают читателей технических блогов?
Ответ прост: уж больно много вопросов, трактовок и кривотолков возникают вокруг работы и задач архитекторов. И чтобы двигаться дальше, нужно выстроить некую «общую систему координат» — некую отправную точку.
За время моей работы сложилось некое «видение» происходящего, которым хотелось бы поделиться и обсудить с коллегами.

Итак, попробуем поискать ответы на следующие вопросы.
  • Что такое архитектура?
  • Что такое целевая архитектура?
  • Что такое архитектурные стандарты и фреймворки и зачем они нужны?
  • Кто заказывает архитектуру, какие у нашего заказчика могут быть желания и потребности, высказанные и невысказанные?
  • Какую архитектуру можно назвать хорошей архитектурой?
  • Зачем нужны архитекторы? Какова их роль? Чего от них ожидать и почему?
  • Когда компании нужно вкладываться в архитектуру? Что будет, если этого не делать?

Если вы когда-либо задавались подобными вопросами, и они представляют для вас интерес, то эта статья для вас — приглашаю поразмыслить вместе.
Читать дальше →

man!( C => D )

Время на прочтение14 мин
Охват и читатели23K

Каждый С-программист с опытом накапливает привычный багаж техник и идиом. Зачастую бывает сложно понять, как сделать то же самое в новом языке. Так вот, вашему вниманию предлагается коллекция распространенных паттернов на C и их эквивалентов на D. Если вы собираетесь перевести свою программу с C на D или ещё сомневаетесь стоит ли это делать, то эта статья для вас.

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

Несколько вещей, о которых стоит помнить программисту в возрасте

Время на прочтение11 мин
Охват и читатели129K
Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать.

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

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
Читать дальше →

Создание веб-сайта. Курс молодого бойца

Время на прочтение24 мин
Охват и читатели952K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →

Книги-двигатели карьеры

Время на прочтение5 мин
Охват и читатели38K
Есть книги-двигатели: закрываешь и понимаешь, что энергии, сил и творческого топлива стало сильно больше. Эти 11 книг помогут вам завести карьеру и стартовать снова. Вы не заглохли!

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

Достаточно Git-а, чтобы быть (менее) опасным

Время на прочтение23 мин
Охват и читатели132K
imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

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

Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
Но подожди! Там еще...

Откуда растут руки у GetHashCode в .NET

Время на прочтение12 мин
Охват и читатели115K

Введение


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

Что хранится в объектах помимо их полей?


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

У каждого объекта ссылочного типа есть так называемый заголовок (Header), который состоит из двух полей: указатель на тип которым является данный объект (MethodTablePointer), а так же индекс синхронизации (SyncBlockIndex).
Читать дальше →

Как писать тестируемый код

Время на прочтение17 мин
Охват и читатели90K
image


Если вы программист (или чего хуже архитектор), то можете ли вы ответить на такой простой вопрос: как писать НЕ тестируемый код? Призадумались? Если с трудом можете назвать хотя бы 3 способа добиться не тестируемого кода, то статья для вас.

Многие скажут: а зачем мне знать, как писать не тестируемый код, плохому хочешь меня научить? Отвечаю: если знать типичные паттерны не тестируемого кода, то, если они есть, можно легко увидеть их в своем проекте. А, как известно, признание проблемы — уже половина пути к лечению. Также в статье дается ответ, как собственно осуществляется такое лечение. Прошу под кат.
Читать дальше →

40 ключевых концепций информационных технологий доступно и понятно

Время на прочтение16 мин
Охват и читатели162K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →

Основы NHibernate (легкий туториал)

Время на прочтение5 мин
Охват и читатели59K
Перевод статьи «NHibernate Basics» с сайта codeproject.com.

Ведение


Nhibernate это решение для Объектно Реалицонного мапинга для платформы .NET. Этот фреймворк позволяет делать мапинг Объектно ориентированных моделей к традиционным БД. Его основное преимущество маппирование классов .Net к таблицам БД и от типов данных CLR в типы SQL.

Как указано в заголовке нашей статьи, мы посмотрим: Как загружать бизнес объекты из БД и сохранять измененные объекты обратно в БД.
Читать дальше →

Сделай себя сам, или 7 шагов к успеху

Время на прочтение4 мин
Охват и читатели23K


Реализуй свои жизненные и профессиональные устремления.

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

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

Приватные трекеры начинают банить пользователей с Windows 10

Время на прочтение2 мин
Охват и читатели31K
image

Паранойя, связанная с повадками новой операционной системы от Microsoft, развивается и принимает новые формы. На прошлой неделе стало известно, что несколько закрытых торрент-трекеров решили не пускать к себе пользователей, которые попытаются войти в систему из-под Windows 10, или по крайней мере думают над таким ограничением. Причиной сегрегации по операционке называют излишнее количество данных, отправляемое на сервера Microsoft этой ОС вкупе с их сотрудничеством с антипиратской организацией MarkMonitor.

Вскоре после выхода и массового обновления с предыдущих версий операционной системы, пользователи постепенно начали выяснять, что Windows 10 отправляет очень много информации с компьютера пользователя на сервера компании без ведома этого пользователя, и обещает чуть ли не самостоятельно удалять нелицензионный контент. Что именно она отправляет и в каких количествах – пока что в этом разбираются специалисты, ясно только, что это вызывает негативные эмоции у пользователей ОС.

Первыми отреагировали на этот скандал владельцы приватного трекера iTS, объявив, что отныне все пользователи, зашедшие на ресурс из-под Windows 10 (судя по всему, определять это администраторы планируют по заголовку User-agent), будут перенаправлены на ролик на youtube, рассказывающий о шпионских функциях ОС.

«К сожалению, в Microsoft решили избавиться от защиты данных, и отправлять всю собранную информацию как себе, так и другим компаниям, в частности в одну из крупнейших антипиратских организаций MarkMonitor,- поясняют администраторы сайта. – Кроме всего прочего, Windows 10 отправляет содержимое ваших дисков напрямую на один из их серверов. Это, конечно, зашло уже слишком далеко и превратилось в серьёзную угрозу для сайтов, подобных нашему, что и побудило нас принять меры».
Читать дальше →

Информация

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