Как стать автором
Обновить
89
0
Александр Мещеряков @freecoder_xx

Rust разработчик

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

32 полезных Rust крейта, о которых вы могли не знать

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров8.1K

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии16

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров17K

C 2010 года вместе с тем, как свет увидел новый язык программирования Rust от Mozilla я начал его изучение и применение. Время шло, но он стабильно показывал отличное соотношение тех, кто хочет использовать его, кто уже использует и кто планирует делать это дальше. 

С появлением стабильной версии 1.0 в 2015 году было решено «с головой» погружаться в изучение и пилить курс, который бы в «экспресс» режиме позволил познакомиться с основами и понять, как использовать Rust на практике. 

В кейсе поговорим о создании курса, разочаровании в российском рынке, выходе материала в мир и увеличении доходов с его продажи почти в 10 раз. 

Читать далее
Всего голосов 61: ↑32 и ↓29+12
Комментарии39

Почему нельзя доверять Google

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров66K


В 2005 году компания Google решила вступить в конкуренцию с ICQ, MSN и Skype — и выпустила мессенджер Google Talk (Gchat) на открытом протоколе XMPP с распределённой архитектурой. Казалось бы, замечательно: Google продвигает открытый свободный протокол! Как бы не так.

Google не уважала спецификации, не поддерживала все функции XMPP. В итоге разработка открытого стандарта затормозилась, чтобы адаптироваться к действиям Google. Классные новые функции (например, аватарки) никто не использовал, потому что их не поддерживал Google Talk. Разработчики XMPP стали выполнять роль сисадминов для серверов Google.

Финал немного предсказуем: в 2013 году Google решила закрыть Gtalk/XMPP и забыть о нём, что практически остановило развитие XMPP на долгие годы. Сообщество до сих пор не восстановилось от того удара. Это пример вреда, который Google/Meta*/Microsoft наносят IT-индустрии. И так у них во всём… Главное — собственные интересы, на остальных наплевать.
Читать дальше →
Всего голосов 142: ↑117 и ↓25+142
Комментарии274

Доказана омнипериодичность игры «Жизнь» Конвея

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров18K

Сообщество игры "Жизнь", клеточного автомата, изобретённого Джоном Конвеем, с давних пор стремилось найти осцилляторы — стабильные конфигурации, которые повторяются с определённой периодичностью во времени — для каждого натурального числа. И вот, наконец, 21 июля 2023 года был найден осциллятор для последнего недостающего периода — 41, завершая таким образом доказательство омнипериодичности.

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

Читать далее
Всего голосов 113: ↑113 и ↓0+113
Комментарии13

NURBS моделирование в Rhino 3D и T-Spline

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

Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами).

Каждый из подходов имеет свои преимущества и недостатки, во многом схожие с различиями между растровой и векторной 2D графикой. Особенностям работы с ПО для полигонального моделирования посвящено довольно много статей но, что касается средств NURBS моделирования, тут, на мой взгляд, ситуация сложнее. Большинство таких статей либо являются туториалами по созданию конкретных объектов, либо предназначены скорее для создателей ПО, нежели для его пользователей и полны терминов вида «веса, T-точки, кривые n-го порядка, », и т п. Я же попробую пройти посередине.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров14K

Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. По итогам прошедшего 2022 года поделюсь советами для тех, кто думает о подобном бизнесе. Бизнес очень интересный, но наполнен нюансами, которые и расскажу в статье.

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

Читать далее
Всего голосов 33: ↑26 и ↓7+26
Комментарии29

Как решать конфликты с уважением к себе и оппонентам? Гайд по ненасильственному общению

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

Хотелось бы, чтобы в рабочей коммуникации все понимали друг друга с полуслова, не совершали ошибок и дарили окружающим исключительно положительные эмоции — но это что-то на сказочном. Какими бы классными ни были ваши корпоративные отношения, конфликты и сбои в диалоге будут случаться. О том, как общаться и вести себя в непростых ситуациях, рассказываем под катом.
Читать дальше →
Всего голосов 64: ↑60 и ↓4+76
Комментарии26

От крышки рояля до фреймворка на rust: как системное программирование помогает творческой реализации

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

Здравствуйте, меня зовут Тимофей, и я алкоголик программирую, чтобы писать музыку. Судя по всему, недуг мой прогрессирует:

- Пять лет назад, когда я впервые услышал про LilyPond — язык программирования, на котором можно писать партитуры в текстовом редакторе — я посмеялся над гиком, что это придумал, и прошёл дальше.
- Два года назад я прочитал код партитуры из примеров — удивился, насколько логично и музыкально он выглядит, подивился задротству автора, и пошёл набирать ноты в MuseScore.
- В этом году я пишу экспортёр MIDI из Reaper в исходники LilyPond, а сегодня зарелизил rea-rs: фреймворк для написания расширений для Reaper на rust.

И, несмотря на то, что в этом альфа-релизе >16 300 строк, я всё ещё считаю, что занимаюсь «бытовым программированием». Имею в виду что-то вроде готовки: можно, конечно, сходить в ресторан, когда хочется чего-то эдакого, но в ресторан каждый день не набегаешься. А то, что погреб на даче потихоньку превращается в винодельню — так это побочный эффект. Зато всё своё, домашнее, натуральное.

В последнее время, подобные мысли я проговаривал не как здоровый сарказм, а как симптомы болезни: мол, «это не хумус, видео не передаёт запах»! Но, намедни, моя музыкальная школа подогнала мне мак с Finale и полным комплектом Adobe на борту, чтобы совместно работать над сборником рождественских песен. И… Holly crap, I was damn right! Но расскажу по порядку, как я дошёл до жизни такой.

К рассказу
Всего голосов 42: ↑42 и ↓0+42
Комментарии6

JSON-RPC? Возьмите хитрый REST

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


Уверен, что заголовок вызвал здоровую реакцию — “ну опять началось…” Но позвольте завладеть вашим вниманием на 5-10 минут, и я постараюсь не обмануть ожидания.


Структура статьи будет такова: берется стереотипное утверждение и раскрывается “природа” возникновения этого стереотипа. Надеюсь, это позволит взглянуть на выбор парадигмы обмена данными в ваших проектах под новым углом.


Для того, чтобы была ясность в том, что такое RPC, предлагаю рассматривать стандарт JSON-RPC 2.0. C REST ясности нет. И не должно быть. Все, что нужно знать о REST — он неотличим от HTTP.

Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии118

«Йо-хо-хо»-2 или перевозка рабов и трупов оппозиционеров

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

Я продолжаю работу над своей браузерной игрой про пиратов на Three.js. Пришло время добавить торговлю. Я подумал, раз у нас тут век пиратов, то и в политическом смысле обстановка должна быть весьма фривольной, то есть, без всякой богомерзкой демократии. А чего стесняться? Заходим в порт, а там нам, пиратам, сразу же предлагают приобрести пушечные ядра и выполнить заказы на транспортировку трупов оппозиционеров и доставку рабов. Еще можно отвезти ром на Тортугу или подбросить губернаторскую дочь на вечеринку на Райский остров. Или тайно эвакуировать беглого губернатора за хорошую плату. Действительно, для подобных дел правительству идеально использовать пиратов. В конце концов, рабы сами себе билет на регулярный рейс не купят, а оппозиционеры сами себя не похоронят. А проблему решать надо... Короче говоря, перевозить древесину и шелк, как в обычных играх - это скучно. Пусть будут этакие «девяностые», но в эпоху пиратов. Пираты выполняют не совсем законные задания правительства, а последнее закрывает глаза на их не совсем законные методы обогащения.

Читать далее
Всего голосов 86: ↑76 и ↓10+85
Комментарии59

Как сделать успешную аутсорс-компанию

Время на прочтение11 мин
Количество просмотров26K
Эта статья будет полезна в первую очередь тем, кто подумывает о фрилансе, уже занимается фрилансом или хочет масштабировать свою частную деятельность в системный бизнес.

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

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

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

Под аутсорс-бизнесом я понимаю системную подрядную деятельность по оказанию услуг выполнения работ различным заказчикам.

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

Я считаю, что многие фрилансеры и начинающие предприниматели игнорируют некоторые очень важные факторы успеха в аутсорс-бизнесе. В результате этого они сильно страдают, не могут хорошо зарабатывать и часто отказываются от идеи делать бизнес в аутсорсе. В этой статье я раскрываю три самых важных (по моему мнению) принципа, помогающие достичь успеха в аутсорс-бизнесе.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+5
Комментарии18

Почему Civilization настолько увлекательная: феномен «ещё одного хода» Сида Мейера

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

Игры серии Civilization — это пошаговые исторические стратегии, в которых игрок управляет развитием цивилизации на протяжении тысячелетий от каменного века до космической эры. Пользователь исследует мир, выстраивает международные отношения, делает научные открытия, проводит военные операции. Civilization связана с феноменом «ещё одного хода». Игры настолько аддиктивны, что многие пользователи проводят в них много времени, опаздывая на рабочие встречи и забывая про сон. Под катом мы разберём, из-за чего игры Civilization получились настолько увлекательными.

Читать далее
Всего голосов 36: ↑27 и ↓9+24
Комментарии28

3D-печать металлами: краткие ответы на большие вопросы, часть 1

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

3D-печать относится к быстро развивающейся технологии – неизменно растет. Она уже зарекомендовала себя как эффективный метод создания передовых продуктов и будет играть все большую роль в производстве с развитием цифровизации и переходом к модели Индустрии 4.0.

Отвечаем на самые популярные вопросы о 3D-печати, которые задают наши клиенты и читатели – технические специалисты, ищущие новые пути оптимизации производства и внедрения инноваций.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии38

Мировые корпорации. Есть ли свет в конце туннеля?

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

Глобальные корпорации уже давно и прочно вошли в нашу повседневную жизнь своими продуктами, зачастую не оставляя пользователям альтернативного выбора. Или он все таки есть? Данная статья затрагивает проблему доминирования больших корпораций в определенных сегментах, и на примере Google предлагает оценить негативные последствия, а также содержит ряд практических советов. Спойлер одного их них : если вы пользователь Android то совет поможет продлить время работы вашего девайса и улучшить приватность.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии32

20 вещей, которые я узнал за 20 лет работы инженером-программистом

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

Наткнулся на любопытный материал, в котором автор систематизировал и записал свой опыт инженера-программиста в 20 тезисов. Я работаю в коммерческой разработке ПО больше 25 лет, и этот текст отозвался во мне практически каждой буквой — большинство советов я тоже регулярно практикую, не облекая их в формат ёмких афоризмов. В общем, решил сделать перевод.

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Всего голосов 154: ↑149 и ↓5+176
Комментарии158

5 вещей, которые я узнал, доведя Snowpack до 20000 GitHub-звёзд

Время на прочтение9 мин
Количество просмотров26K
Меня зовут Фред. Я — создатель Snowpack. Для тех, кто не знаком с этим проектом, расскажу в двух словах о том, что он собой представляет. Это — инструмент для сборки фронтенда веб-сайтов, который, по существу, дал дорогу движению «unbundled web development» («веб-разработка, основанная на использовании отдельных компонентов»), которое в наши дни поддерживают Snowpack, Vite, SvelteKit и другие современные инструменты для веб-разработки.

В этом материале я хочу рассказать о пяти вещах, которые я узнал, доведя Snowpack от исходного коммита до почти 20000 звёзд на GitHub и до более чем миллиона загрузок.



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

Мой рассказ состоит из двух частей. В этом первом материале я уделяю основное внимание тому, чему научился, создавая Snowpack с нуля и находя наших первых пользователей. Во второй части я расскажу о том, как выглядит поддержка популярного растущего опенсорсного проекта.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+62
Комментарии26

Абстракции без накладных расходов: типажи в Rust

Время на прочтение11 мин
Количество просмотров16K
В предыдущем посте (англ.) мы затронули два столпа дизайна Rust (поскольку во внутренней речи я постоянно склоняю название языка, дальше я буду использовать русскоязычное название «раст», что мне кажется более органичным — прим. перев.):
  • безопасное использование памяти без сборщика мусора,
  • многопоточность без гонок данных.

Этот пост начинает рассказ о третьем столпе:
  • абстракции без накладных расходов.

Одна из мантр C++, которая делает его таким подходящим для системного программирования — принцип абстракции с нулевой стоимостью:
Реализации C++ подчиняются принципу нулевой стоимости: ты не платишь за то, что не используешь [Страуструп, 1994]. Более того: то, что ты используешь, кодируется наилучшим образом.

– Бьёрн Страуструп

Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии38

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3+213
Комментарии163

Когда, зачем и почему вернутся дирижабли

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


Короткая предыстория


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

Трагедия была ужасной, в ней погибло 36 человек (35, находившихся на борту и еще один из находившихся на земле) из 97 пассажиров и членов экипажа.

На земле «Гинденбург» ждали – его встречали множество фотографов, кинокамера, а несколько радиостанций вели прямой репортаж о его приземлении – в итоге, о катастрофе сообщили в прямом эфире, а кадры с гибелью «Гинденбурга» разлетелись по всей планете.

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

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

image
Гибель «Гинденбурга», жуткая картина, потрясшая мир.

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

К 1937 году ситуация в воздухе радикально изменилась – теперь уже дирижаблям нечего было противопоставить юркой и быстрой винтовой авиации – и об их технологии надолго забыли, переключившись на создание самолетов, а позже и вертолетов, и «все деньги мира», в первую очередь, деньги военных ведомств, отныне закачивались именно в эти виды воздушного транспорта.
Читать дальше →
Всего голосов 84: ↑75 и ↓9+95
Комментарии207

UML умер, а никто и не заметил?

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

UML, нам будет тебя не хватать

Unified Modelling Language (UML), разработанный Rational Software и принятый в качестве стандарта Object Management Group (OMG) в 1997 году, призван был стандартизировать множество различных типов графических нотаций, принятых в отрасли разработки ПО.

Моя история отношений с UML началась почти десяток лет назад, когда я стал евангелистом этого языка как моста между ИТ и бизнесом. Я никогда не был полностью убеждён в ценности UML как нотации для моделирования конкретных программных продуктов; моя цель заключалась в использовании UML для описания требуемых структурных и поведенческих свойств, ожидаемых от проектируемой системы.
Читать дальше →
Всего голосов 66: ↑59 и ↓7+65
Комментарии185

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность