Pull to refresh
3
0
Send message

Undefined behavior ближе, чем вы думаете

Reading time5 min
Views31K
Ад ближе чем кажетсяМногие считают, что неопределённое поведение программы возникает из-за грубых ошибок (например, запись за границы массива) или на неадекватных конструкциях (например, i = i++ + ++i). Поэтому для многих является неожиданностью, когда неопределенное поведение вдруг проявляет себя во вполне привычном и ничем не настораживающем коде. Рассмотрим один из таких примеров. Программируя на C/C++ никогда нельзя терять бдительность. Ад ближе чем кажется.

Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments51

Байки погромиста. Если кто-то скажет, что программирование — это скучно

Level of difficultyEasy
Reading time12 min
Views55K

Вообще я, как правило, нормально программирую. Иногда даже такое заворачиваю, что сам тащусь весь день.

Но если б я писал, какой я красавчик, то никому не было бы интересно. Поэтому сегодня — очередная партия программистских историй от меня любимого, с косяками, багами и болью. Иногда это происходило по запарке, или когда я торопился, или после нудной работы, когда мозг уже плавился, а иногда просто я тупил, потому что я человек. В общем, такие вот типичные будни кодера. Наслаждайтесь!

Ну что он там опять натворил?
Total votes 147: ↑142 and ↓5+166
Comments56

Шрифтовая «не-пара»

Reading time6 min
Views3.4K

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

Читать далее
Total votes 9: ↑5 and ↓4+5
Comments64

Как работает Zig?

Reading time20 min
Views13K
От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0.

Я связался с автором поста, и он любезно предоставил ссылку на репозиторий с актуальной версией исходников проекта на Zig 0.3.0

Здравствуйте! Давайте напишем интерпретатор Brainfuck! «Зачем?» — можете спросить вы, но вы не найдёте здесь ответа.

Я сделаю это на Zig.

Zig — это….


…новый язык программирования. Он пока в бета-версии, и быстро развивается. Если вы видели код на Zig раньше, код в этом посте может показаться вам немного другим. Он действительно другой! Zig 0.2.0 только что вышел, совпав с релизом LLVM 6 несколько недель назад, и включает в себя множество изменений синтаксиса и общие усовершенствования языка. Главным образом, многие «заклинания» были заменены ключевыми словами. Смотрите здесь для более глубокого объяснения всех изменений!

Zig разработан, чтобы быть читаемым, и относительно интуитивным для тех, кто знаком с компилируемыми и типизированными языками, такими, как C, C++, и, в некоторых моментах, Rust.

Код был скомпилирован и протестирован с Zig 0.2.0, который доступен прямо сейчас, по различным каналам, включая homebrew, если вы на OSX: brew install zig.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments6

Как я студентам язык D преподавал

Reading time12 min
Views16K

Два года назад я начал читать курс “Язык программирования Ди” в самом настоящем университете, провёл в общей сложности 40 лекций, примерно столько же практических занятий даже дважды принял экзамен, один раз удалённо. Как так случилось, кому вообще может быть нужен D, и как ученик превосходит учителя, под катом.

Читать далее
Total votes 58: ↑58 and ↓0+58
Comments67

Вёрстка писем почти без боли

Reading time8 min
Views20K

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

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

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments11

Создание совершенной печатной машины из Sublime Text

Reading time5 min
Views13K
UPD: Прошло больше месяца с тех пор, как я написал первоначальный черновик этой статьи. С тех пор я опубликовал еще три записи в блоге и более двадцати на моем канале в Телеграм. Настройки зарекомендовали себя фантастически, мне он очень нравится, и у меня нет желания искать где-либо еще.

Я был давним поклонником iA Writer из-за того, что писал. Я купил оригинальную версию для iPad, оригинальную версию macOS (когда она еще называлась MacOS X), версию для Android и даже ту, которую они переиздали как «платное обновление по полной цене». На мой взгляд, в нем есть идеальный баланс между функциями и простотой, дизайном и направленностью.

Вот скриншот первоначальной версии iA Writer от 2011 года:

image

А вот как это выглядит сейчас, в 2021 году:

image

Дизайн настолько вне времени, что практически не изменился за 10 лет.
И я этим доволен, я не собираюсь жаловаться. Это здорово и для вдохновения, и для нововведений, и для фактического воплощения. Я искренне рекомендую его всем, кто пишет.
Читать дальше →
Total votes 37: ↑23 and ↓14+21
Comments11

Полезные материалы по Data Science и машинному обучению, которые помогут пройти сквозь джунгли из терминов

Level of difficultyEasy
Reading time8 min
Views24K

Привет, Хабр! Меня зовут Ефим, я MLOps-инженер в Selectel. В прошлом был автоматизатором, ML-инженером, дата-аналитиком и дата-инженером — и уже несколько лет падаю в пропасть машинного обучения и Data Science. Это буквально необъятная сфера, в которой почти нет ориентиров. Основная проблема в том, что разделов математики довольно много и все они, на первый взгляд, нужны в том же машинном обучении.

В этой статье делюсь полезными материалами, которые помогут найти и заполнить теоретические и практические проблемы и основательно подойти к своему профессиональному развитию. Добро пожаловать под кат!
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments15

Как делать проект восемь месяцев вместо двух. Вредные советы для менеджеров

Level of difficultyEasy
Reading time3 min
Views7.5K

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments5

12 советов для Junior UX/UI дизайнера от самого себя из будущего

Level of difficultyEasy
Reading time12 min
Views8.3K

У старшего дизайнера UI/UX Группы «Иннотех» Павла Анплеенко за спиной уже более 9 лет опыта в проектировании интерфейсов, а это значит, что 9 лет назад он был джуном, которому очень бы пригодились советы, которые мог бы дать сам себе Павел из будущего. К сожалению, машины времени не существует, но Павел дал 12 советов, опираясь на свой опыт, которые точно помогут начинающим дизайнерам.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments5

Самая маленькая хеш-таблица в мире

Level of difficultyHard
Reading time17 min
Views12K

1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятия, так как это решение, с одной стороны, сверх всякой меры оптимизировано, а с другой — демонстрирует кое-какие полезные приёмы. Чтобы не усложнять себе жизнь — мы рассмотрим лишь первую часть задачи, но те же приёмы можно применить и к её второй части.

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments12

Сон и продуктивная деятельность

Reading time8 min
Views106K

Вступление


Доброго времени суток, %habrauser%! Думаю, в этой статье я не открыл ничего нового. Просто меня самого заинтересовала тема продуктивного сна. Несколько последних лет я был приверженцем мнения, что сон – это бесполезная трата времени, к сожалению необходимая организму. И посему, я максимально старался сократить время сна. Но чем больше я это делал, тем больше я начинал походить на зомби. И тогда я стал искать альтернативу. И результатом обобщения всей найденной мной информацией и стала эта статья. Итак, поехали!
Читать дальше →
Total votes 243: ↑215 and ↓28+187
Comments149

«Отдых — это непросто»: Андрей Бреслав о жизни после Kotlin

Reading time15 min
Views17K

Для многих в IT-сообществе имя Андрея Бреслава было почти синонимичным с названием языка программирования: «мы говорим Бреслав, подразумеваем — Kotlin». Неудивительно, поскольку Андрей возглавлял этот проект десять лет подряд, с самого его создания. Но теперь ситуация изменилась, потому что в ноябре он объявил об уходе из проекта.

Беспокоиться за будущее языка не приходится: там всё в надёжных руках Романа Елизарова, и недавно мы опубликовали наш диалог с ним. Но захотелось расспросить и Андрея:

Какими он видит итоги своей работы над Kotlin?

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

Что он сейчас делает в стартапе Alter? Каково после громадного проекта заниматься менее масштабным? И почему Alter написан не на Kotlin?

Читать далее
Total votes 38: ↑37 and ↓1+49
Comments1

Отдых при профилактике эмоционального (профессионального) выгорания

Reading time4 min
Views11K

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

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

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments4

Отдых как ключ к высокой продуктивности

Reading time6 min
Views19K


Сейчас очень популярны всевозможные техники повышения собственной продуктивности. Оптимизация выполнения работ, тайм-менеджмент, приоретизация — всё это призвано максимально повысить производительность труда. Но в сумасшедшем ритме нашей современной жизни многие из нас забывают, что такое отдых и расслабление. Даже в выходные дни наши головы зачастую заняты рабочими проблемами и переживаниями. Но постоянно перерабатывая и отказывая себе в отдыхе и сне, мы тем самым снижаем собственную продуктивность и, что самое главное, не получаем удовольствия от жизни. Хотя второй попытки с проделанной «работой над ошибками» ни у кого не будет.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments5

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Level of difficultyEasy
Reading time4 min
Views41K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее
Total votes 65: ↑48 and ↓17+39
Comments116

Сообразим на троих. Троичные компьютеры

Level of difficultyEasy
Reading time4 min
Views17K
image

В повседневной жизни мы используем десятичную систему счисления. Почему именно её — это вопрос отдельный. В конце концов, существуют системы с основанием 12 (по фалангам пальцев без большого), 5 (пальцы на одной руке), 20, 60 и так далее. В компьютерах всё несколько проще — там (можно даже сказать, «Традиционно») используется двоичная система, как самая лёгкая для воплощения. Есть ток — нету тока. Есть отверстие в перфокарте — нет отверстия. Ноль или единица. Короче говоря, «да» или «нет» — третьего не дано. А что будет, если дать? Об этом и поговорим.
Читать дальше →
Total votes 40: ↑33 and ↓7+37
Comments101

Как закалялась сталь современной симметричной криптографии. Глава 1. Классическая криптография

Level of difficultyMedium
Reading time49 min
Views9.5K

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

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments5

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity