Как стать автором
Обновить
2
0
Михаил @Misiam

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

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

Минимум один трюк Vim, про который вы не знали

Время на прочтение10 мин
Количество просмотров37K
Я уже восемь лет работаю в Vim и постоянно открываю что-то новое. Принято считать это достоинством Vim. Как по мне, так это недостаток открытости: куча скрытых функций спрятаны слишком глубоко.

Вот говорят о красоте модального редактирования и текстовых объектах, но мне кажется, что суть Vim не в этом. Vim — это лоскутное одеяло из подсистем, под завязку забитых дополнительными инструментами. Только в обычном режиме редактирования более сотни комбинаций клавиш! Такая плотность инструментария в значительной степени объясняет, почему Vim настолько полезен. Если «показать все теги для ключевого слова» — это просто g], то этой командой будут пользоваться гораздо чаще.

В системах с недостатком открытости приходится полагаться на руководства. Но для Vim их не так уж много. Есть статьи для новичков, такие как ciw (не путать с CIA, мануалом ЦРУ по Vim) и тому подобное. И есть статьи экспертов, которые погружаются в подсистемы. Но никто на самом деле не говорит об этих особых трюках, которые заставляют воскликнуть: чёрт побери, как мне это было нужно в течение последних шести лет!
Читать дальше →

Современная стоматология: одномоментная имплантация зуба и наращивание челюстной кости глазами технического директора

Время на прочтение13 мин
Количество просмотров75K
Привет, Хабр!

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

Цель данной статьи: рассказать на своем примере, какова в действительности современная стоматология, как происходит вживление искусственного зуба и к чему вы должны быть готовы.
Внимание! Публикация содержит изображения, которые могут вызвать неприятные эмоции у читателей. Если вы впечатлительный человек, не читайте статью за едой.
Также напоминаем, что не стоит принимать без консультации врача упомянутые лекарственные препараты.

Модератор.

Коротко обо мне


Мне скоро 37 лет. До недавнего времени я хвастался тем, что у меня на месте все мои 32 зуба. И ведь действительно, мало у кого к этому возрасту на месте все зубы. (и в принципе, ничего удивительного: я попробовал прикинуть расходы на стоматологов, исходя из сегодняшних тарифов и вышла сумма, свыше $7.000 или свыше ₽450.000).

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

image

Понимание джойнов сломано. Это точно не пересечение кругов, честно

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

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

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

Как я пишу конспекты по математике на LaTeX в Vim

Время на прочтение9 мин
Количество просмотров131K
Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


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

6 полезных ресурсов и сервисов для потенциальных эмигрантов в США, Германию и Канаду

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


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

Антипаттерны Vim

Время на прочтение4 мин
Количество просмотров22K
Когда вы находитесь в состоянии потока, Vim серьёзно ускоряет редактирование, будь то написание кода, поэзии или прозы. Но поскольку кривая обучения слишком крута для текстового редактора, то очень легко сохранить вредные привычки с тех времён, когда вы только осваивали редактор. Vim настолько ускоряет работу, что искоренить эти привычки особенно трудно, ведь их можно даже не заметить. Но это того стоит. Перечислю некоторые из наиболее распространённых антипаттернов.
Читать дальше →

Чат-бот для Вконтакте на ASP.NET Core C#

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

В данной статье представлен пошаговый пример создания простого чат-бота в социальной сети VK на ASP.NET Core C#.


Глава 1. Подготовка


Начнем с создания и настройки сообщества.


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

Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом

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

Однажды в далекие школьные годы у меня появилась идея заняться авто-реставрацией, благо у отца был в наличии уже практически сгнивший (но с отличным мотором) АЗЛК Москвич-408. Первым делом конечно же было решено поменять пороги и укрепить раму металлическим швеллером. Самый быстрый способ — естественно сварка, благо у отца и самодельный аппарат на Ш-образных пластинах был. Электроды и я нашел и, в принципе, довольно сносно приварил куски металла. Довольный своей работой заснул, думая о том, что я буду приваривать с утра. А с утра проснулся и понял что "ослеп", а отец поздравил "с первым пойманным зайцем". Чтобы понять о чем разговор — проследуйте под cut.


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

Заметки фитохимика. Хурма

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

Мы откроем нашим чадам
Правду — им не всё равно,
Мы скажем: "Удивительное рядом,
Но оно запрещено!"
В.С. Высоцкий


Занимаясь решениями в области "зеленой химии" мне часто приходится иметь дело с растениями (и с их химическими составными частями). Многие знакомые об этом знают и при случае интересуются, а что вот в этом овоще интересного, а что вот в этом фрукте. И как правило ответ вроде "витамины и минералы" — не удовлетворяет человеческое любопытство. Поэтому я, периодически занимаясь тем или иным представителем флоры, писал в своем facebook заметку с указанием интересных фактов/химических соединений, которые можно найти в этом растении.

Вот и сейчас, в ожидании Нового года многие закупаются хурмой. Знают, что она полезна. А вот чем, кому? Мне с одной стороны приятно, что существует большое количество людей, которым недостаточно видео-ролика или пару слов "на отцепись" в описании, а с другой — грустно из-за этой повальной тенденции к упрощению. Поэтому… поэтому если хотите узнать больше про природные антиоксиданты, расширить свои знания по лекарственным свойствам хурмы и понять почему хурма и Coca-Cola созданы друг для друга — проследуйте под кат...


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

Качество воздуха в доме зимой

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

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →

Einstein Telescope: детектор гравитационных волн нового поколения

Время на прочтение10 мин
Количество просмотров28K
Длиннее, мощнее, точнее — Европа собирается построить гравитационно-волновой детектор нового поколения под названием Einstein Telescope.


Einstein Telescope концепт-арт, credit: www.gwoptics.org

Детектор AdvancedLIGO только-только начал работать пару лет назад, и даже еще не достиг запланированной чувствительности. Однако ученым очевидно, что чувствительности LIGO будет недостаточно для настоящей гравитационно-волновой астрономии.

Я расскажу о том, что ограничивает LIGO, и как подземный криогенный детектор в 2,5 раза длиннее LIGO сможет обойти эти ограничения.
Внимание! Под катом много изображений.

10 смертных грехов спикера

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


Прелюдия


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

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

Как я начал карьеру разработчика с нуля и получил оффер всего через 10 месяцев

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


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

От автора: Моя история — о том, как у меня получилось с нуля начать карьеру frontend-разработчика, не имея никакого специального образования или опыта. Я учился самостоятельно, одновременно работая по 8 часов в день. Через 10 месяцев я получил работу по новой специальности.

Использование Lua скриптов в .NET с LuaInterface

Время на прочтение4 мин
Количество просмотров40K
Привет, Хабрахабр!

Этот небольшой пост родился после того, как я решил узнать, как можно запускать скрипты Lua совместно с игрой на C# (либо на другом .NET-языке). с использованием библиотеки LuaInterface. Я был впечатлен легкостью этого интерфейса по сравнению с lua.h на C++

image

Что нужно знать


C# на приличном уровне, иметь понятие об основах программирования, а также о подключении ссылок в проекте на Visual Studio

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

Новые инструменты разработки с LEGO Education — от Microsoft, MIT и не только

Время на прочтение3 мин
Количество просмотров13K
Из шести кубиков LEGO размером 2х4 можно собрать 915 миллионов различных комбинаций. Но в LEGO Education конструирование из кубиков — это лишь часть дела. Даже проекты для дошкольников здесь включают в себя программирование, пусть и в простейшей форме.


Мы стремимся к тому, чтобы гибкость программной платформы LEGO Education была сопоставима с ее гибкостью на аппаратном уровне. И в этом нам помогают наши партнеры — Microsoft, Массачусетский технологический университет, Институт интегральных схем общества Фраунгофера, а также разработчики из России. В этом посте мы расскажем о новых инструментах для программирования, с которыми возможности LEGO Mindstorms Education EV3 и WeDo 2.0 становятся шире.
Читать дальше →

Отладка как процесс

Время на прочтение14 мин
Количество просмотров18K
Существует мнение, что разработка занимает около 10% времени, а отладка — 90%. Возможно, это утверждение утрировано, но любой разработчик согласится с тем, что отладка — крайне затратный по ресурсам процесс, особенно в больших многопоточных системах.

Таким образом, оптимизация и систематизация процесса debugging'а может приносить весомые плоды в виде сэкономленных человеко-часов, повышения скорости решения проблем и, в конце концов, увеличения лояльности ваших пользователей.



Сергей Щегрикович (dotmailer) на конференции DotNext 2018 Piter предложил взглянуть на отладку как на процесс, который может быть описан и оптимизирован. Если вы до сих пор не имеете четкого плана поиска багов — под катом видео и текстовая расшифровка доклада Сергея.

(А еще в конце поста мы добавили обращение Джона Скита ко всем дотнетчикам, обязательно посмотрите)

Основные структуры данных. Матчасть. Азы

Время на прочтение5 мин
Количество просмотров251K
Все чаще замечаю, что современным самоучкам очень не хватает матчасти. Все знают языки, но мало основы, такие как типы данных или алгоритмы. Немного про типы данных.

Еще в далеком 1976 швейцарский ученый Никлаус Вирт написал книгу Алгоритмы + структуры данных = программы.

40+ лет спустя это уравнение все еще верно. И если вы самоучка и надолго в программировании пробегитесь по статье, можно по диагонали. Можно код кофе.


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

ThinkingHome.Migrator — версионная миграция схемы базы данных на платформе .NET Core

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

Привет! Сегодня я выпустил новую версию ThinkingHome.Migrator — инструмента для версионной миграции схемы базы данных под платформу .NET Core.


Пакеты опубликованы в NuGet, написана подробная документация. Вы уже можете пользоваться новеньким мигратором, а я расскажу, как он появился, почему у него номер версии 3.0.0 (хотя это первый релиз) и зачем он нужен, когда есть EF Migrations и FluentMigrator.

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

Почему не стоит покупать светодиодные люстры

Время на прочтение2 мин
Количество просмотров323K
Сейчас в магазинах появилось огромное количество люстр с несменными светодиодными источниками света. Отказ от использования стандартных патронов позволяет дизайнерам делать люстры необычных форм, а светодиоды теоретически делают их вечными, но у меня есть пять весомых доводов, почему такие люстры покупать не стоит.

1. Светодиодная люстра это «кот в мешке».

Неизвестно, какое у неё качество света и какие светодиоды там использованы. Вот одна из самых популярных люстр.

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

Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация

Время на прочтение16 мин
Количество просмотров50K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы

Все мы знаем о том, что JavaScript-код веб-проектов может разрастаться до прямо-таки огромных размеров. А чем больше размер кода — тем дольше браузер будет его загружать. Но проблема тут не только во времени передачи данных по сети. После того, как программа загрузится, её ещё надо распарсить, скомпилировать в байт-код, и, наконец, выполнить. Сегодня мы представляем вашему вниманию перевод 14 части серии материалов об экосистеме JavaScript. А именно, речь пойдёт о синтаксическом анализе JS-кода, о том, как строятся абстрактные синтаксические деревья, и о том, как программист может повлиять на эти процессы, добившись повышения скорости работы своих приложений.

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

Информация

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