Программирование {BookFlow}
16.2K subscribers
1.58K photos
468 videos
145 files
2.1K links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций, новости технологий.

Группа в https://vk.com/bookflow.

По всем вопросам @evgenycarter

РКН https://clck.ru/3KoAbH
Download Telegram
«Отучаем» WinFXNet от жадности (часть 1)

Предыстория

В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.

В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.

Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.

https://habr.com/ru/articles/790564/

👉 @bookflow
3👍2💩1
Языки программирования и их создатели 👍

👉 @bookflow
👍1811🥱1
Что такое Bug Bounty и почему корпорации платят за поиск ошибок?

Bug Bounty — это программа вознаграждения за найденные ошибки в программном обеспечении или на сайтах компаний.

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

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

Есть ли у российских корпораций Bug Bounty? Да, для крупных IT-компаний это обычная практика. Недавно как раз Яндекс обновил свою программу, подняв вознаграждение за критическую находку до миллиона рублей (!) Тестить можно даже новые устройства: Станцию Дуо Макс, Миди и ТВ Станции.

👉 @bookflow
👍1
Каково это, создавать язык программирования сегодня?

«Эта книга – классика. Относитесь к ней бережно».

Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.

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

https://habr.com/ru/companies/ruvds/articles/790868/

original https://blog.whimslab.io/how-much-work-does-it-take-to-build-a-programming-language-784a6868f4e9

👉 @bookflow
👍2
Как я поменял профессию: из тканевой инженерии в adult-индустрию

Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.

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

Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.

Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.

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

Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.

https://habr.com/ru/companies/wiseops/articles/791774/

👉 @bookflow
👍2
Я мыслю MOV EAX, 1

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

https://habr.com/ru/articles/721420/

👉 @bookflow
👍4
Forwarded from ITmozg
Media is too big
VIEW IN TELEGRAM
Превращение коротких видео в ASCII-арт

https://codepen.io/konstantindenerz/pen/YzgRQZj

👉 @itmozg
3👍3🦄1
Вороной, Манхэттен, рандом

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

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

https://habr.com/ru/articles/794572/

👉 @bookflow
👍4👎1
Как работает Git - из рабочего каталога в удаленный репозиторий

[1]. Рабочая директория:
Ваш проект начинается здесь. Рабочая директория - это место, где вы активно вносите изменения в свои файлы.
[2]. Область постановки (Index):
После модификации файлов используйте git add для сохранения изменений. Это подготавливает их к следующей фиксации, действуя как контрольная точка.
[3]. Локальный репозиторий:
После постановки выполните git commit для записи изменений в локальный репозиторий. Коммиты создают снимки проекта в определённых точках.
[4]. Stash (необязательно):
При необходимости используйте git stash для временного сохранения изменений без фиксации. Полезно при переключении веток или выполнении других задач.
[5]. Удаленный репозиторий:
Удаленный репозиторий, размещенный на таких платформах, как GitHub, - это версия вашего проекта, доступная другим пользователям. Используйте git push для отправки локальных коммитов и git pull для получения удаленных изменений.
[6]. Отслеживание удаленных веток:
Локальные ветки могут быть настроены на отслеживание соответствующих веток на удаленном ресурсе. Это облегчает синхронизацию с git pull или git push.

👉 @bookflow
👍41
Media is too big
VIEW IN TELEGRAM
Нужна ли математика DevOps-инженеру, программисту, SRE, тестировщику?

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

источник

👉 @bookflow
👍6👎1
ProgramCC1_0.pdf
106.7 KB
Учебный курс по конструированию компиляторов "Основы методов трансляции"

👉 @bookflow
👍211💩1
programcc2.pdf
117.2 KB
Учебный курс по конструированию компиляторов "Методы оптимизирующей компиляции"

Освещаются такие вопросы, как статический потоковый анализ и форма SSA (в том числе распределение регистров на уровне формы SSA).

👉 @bookflow
2👍2🤮1