Pull to refresh
7
0
Михаил Белоносов @Koyotter

User

Send message

Несколько лайфхаков, которые могут быть полезны при верстке диссертации или больших документов в MS Word

Reading time4 min
Views52K
image

Каждый из нас знает, насколько MS Word удобный инструмент для подготовки небольших документов. И каждый из тех, кто сталкивался с подготовкой документа, количество страниц в котором превышает сотню (плюс необходимо придерживаться строгих требований к форматированию), знает об основных недостатках этого инструмента. Мне пришлось в своей жизни столкнуться с версткой 500 страничного документа, причем количество и расположение рисунков таблиц и формул в нем постоянно менялось от версии к версии. Я бы хотел поделиться своими «лайфхаками», которые мне пришлось применить при верстке этого документа. Некоторые из них мне подсказали друзья; на некоторые наткнулся на форумах; некоторые придумал сам.

Эти простые хитрости помогут вам при верстке диссертации дипломной работы или отчета.

В данной статье рассмотрены решения проблем:

  • создание списка литературы
  • Склонения перекрёстных ссылок на рисунки таблицы и формулы
  • Перенос таблиц на новую страницу
  • Вставка формул

Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments56

Инженерный подход к подаркам

Reading time13 min
Views28K


За окном дождь, на календаре декабрь. Близится пора праздников, а значит и пора подарков. Коллега Павел желает себе новый ноутбук, а подруга Маша хочет домик у моря. И несмотря на достойный оклад профессии “тыжпрограммист”, мы не живём в мире бесконечных возможностей, а значит я не могу подарить этим людям именно то, чего они хотят больше всего (даже несмотря на то, что Паша может быть мой самый лучший Павел, которого я знаю, а Маша просто молодец).

Тут и появляется проблема “дешёвых подарков”. Подарить дорогой подарок всем не получается, а дарить очередную коробку конфет, свечку или невнятную статуэтку бог_пойми_чего просто не хочется. Значит нужно объединить приятное с полезным — я люблю делать вещи своими руками, а полученный результат отлично подходит в качестве подарка. Это рассказ о том, как я в очередной раз прикидывался инженером и рукожопил несколько подарков.
Читать дальше →
Total votes 128: ↑128 and ↓0+128
Comments25

Компания GitLab из-за политики прекращает набор инженеров из России и Китая

Reading time2 min
Views142K


2 недели назад в публичном трекере компании GitLab, стоящей за популярным одноимённым Open Source-решением для разработчиков и DevOps-инженеров, появился issue под названием «WIP: блокировка инженерных должностей по стране проживания». Сегодня о нём стало известно широкой общественности, и это событие вызвало огромный резонанс в англоязычном интернете. Достаточно сказать, что на одной только странице оригинала злополучного issue уже оставлено более 100 комментариев, и их число увеличивается буквально с каждой минутой…

Итак, публикуем перевод виновника бурных обсуждений:
Читать дальше →
Total votes 192: ↑176 and ↓16+160
Comments837

Обновление программного комплекса SafeERP: Иерархия полномочий

Reading time2 min
Views1.9K
В марте 2019 года компания «Газинформсервис» представила обновленную версию программного комплекса SafeERP 4.6. Подробное описание продукта SafeERP приведено на сайте компании.

В новую версию программного комплекса SafeERP 4.6 включена процедура построения иерархии полномочий по выбранным для анализа объектам полномочий.

Напомним структуру и общие понятия концепции полномочий SAP: «Объект полномочий» -> «Полномочие» -> «Профиль» -> «Роль» -> «Учетная запись пользователя». Концепция полномочий — классическая, но фактическая реализации более сложная:

  • несколько ролей может быть присвоено пользователю;
  • составная роль (Composite Role) может включать нескольких ролей;
  • составной профиль полномочий может состоять из нескольких профилей (Composite Profile);
  • в составной профиль может быть включён другой составной профиль;
  • пользователь может наследовать полномочия ссылочного пользователя (Reference User).

Иерархия возможной структуры полномочий представлена на рисунке 1.

image
Рисунок 1 – Общая структура концепции полномочий SAP
Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments0

nomoregoogle.com — свежий сборник альтернатив сервисам технологического гиганта

Reading time2 min
Views38K


Доминация Google в ряде сегментов совокупно с политикой компании стали вызывать так много вопросов в последние годы, что практически на всех тематических форумах и площадках пользователи начали активно делиться своим «Google-free» опытом — информацией о попытках частично или полностью избавиться от сервисов компании в повседневном обиходе.

Дошло вплоть до того, что активист Pieter @levelsio Levels создали целый сайт — nomoregoogle.com, который представляет перечень сервисов компании Google с перечислением достойных, по мнению составителей списка, альтернатив. Цель очевидна — вырваться из экосистемы технологического гиганта, которая, будто черная дыра, засасывает в себя не только пользователей, но даже соседей по цеху (в начале прошлой неделе мы писали о слухах про отказ EdgeHTML, а к концу недели эту информацию официально подтвердили в Microsoft: даже несгибаемые «майки» переходят на Chromium в своем браузере по умолчанию, что пугает).
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments89

Два мира или “инженерам есть, что сказать”. О различных типах сложных задач и процессах связанных с ними

Reading time4 min
Views9.3K
Я думаю руководители отделов IT департамента согласятся со мной, что иногда кажется, что мы находимся на границе двух миров, живущих по разным законам, в разных временных ритмах, а нам приходится жить в обоих этих мирах. И, если трансляцию “образа жизни” сверху вниз, от вышестоящих менеджеров до инженеров, мы, в силу своих должностных обязанностей, осуществляем регулярно, то вот в обратную сторону — увы…

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

Планирование, диаграммы ганта, “следование процессу”, дисциплина, deadline, распорядок, “два раза не объясняю одно и тоже”, “не успел, значит плохо планировал”… — знакомые вещи? Это сущности и методы “мира менеджеров”. Понятно, что где-то больше, где-то меньше и вообще упрощение, но речь не об этом мире. Он безусловно важен. Его методы отлично работают во многих вещах. Но есть огромный пласт задач, где ничего из этого не работает, а работает совсем другое, подчас противоположное.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments22

Виртуальный зал Эрмитажа — первый шаг к будущему по Пелевину

Reading time4 min
Views14K


Мы застряли с оцифровкой зала Эрмитажа примерно на месяц. Изначально мы думали, что имеющиеся решения для переноса объектов в 3D (типа лазерных сканеров) будут отлично работать и вопрос исключительно технический. На деле оказалось, что эта область не очень-то проработана и подводных камней там море.

За проект попали на конференцию FMX по иммерсионным технологиям и графике. Российские разработчики попадают на эту конференцию с докладом впервые. Мы выступаем вместе с Пиксаром и ребятами, которые делали «Игру престолов». Не то чтобы мы такие крутые, как Пиксар, просто агрегировали всё лучшее, что было на рынке, лучшие практики по фотограмметрии и опытным путём всё это применяли. Оказалось, так ещё никто не делал.

Но давайте начнём с того, что может быть сложного в оцифровке зала со статуей. Делов-то на пару дней, правда?
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments14

Биты и атомы (фундаментальная статья по цифровой экономике за 1995 год, часть 1)

Reading time5 min
Views5.2K
Статья, с которой «началась» цифровая экономика.

image


Сообщение: 19
Дата: 1.1.95
От: <nicholas@media.mit.edu>
Кому: <lr@wired.com>
Тема: Bits and Atoms

Лимит в 400$ применяется только к атомам


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

Недавно я посетил штаб-квартиру одного из пяти крупнейших производителей интегральных схем в Соединенных Штатах. Меня попросили войти в систему и, в процессе, спросили, есть ли у меня с собой ноутбук. Конечно, да. Регистратор попросил модель, серийный номер и стоимость компьютера. «Примерно от 1 до 2 миллионов долларов США», — сказал я. «О, этого не может быть, сэр», ответила она. «Что ты имеешь в виду? Позволь мне посмотреть на него».
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments1

JVM не такая тяжёлая

Reading time5 min
Views19K
В основном ответ на то, что Clojure — это JVM. Мол, эта хрень такая тяжёлая.

Это появилось на канале ZA Tech в группе Slack несколько недель назад. Во время некоторых выступлений по Clojure спикеры делали такое замечание снова и снова.

По этому поводу я выступил в Slack. Теперь запишу для более широкого чтения и обсуждения.

Предисловие


Я тоже раньше думал, что JVM тяжёлая. Это было в начале 2000-х, в сравнении с PHP. Там были и другие тяжеловесы, вроде .NET и ColdFusion. Были и более лёгкие альтернативы вроде Perl и Python, но я тогда сидел на Windows, так что ActivePerl и ActivePython тоже были несколько тяжеловаты.

Впервые я преодолел свой «страх» перед JVM, когда развернул небольшое производственное приложение JRuby на Heroku. Этот маленький монстрик должен был выполнять только одну задачу в день. Он генерировал ряд PDF'ов, потом загружал их на iSign (сейчас не функционирует) для хранения и распространения. Сам iSign был классическим приложением Rails, которое хостилось на трёх AMI. Этот маленький динозавр на стоковом JVM (за исключением -server -Xmx=512M) производил PDF'ки так быстро, что он буквально убивал трёхнодовый кластер при каждом запуске.

Я по-прежнему думал, что он немного тяжеловат в работе, но влюбился в этого гадкого утёнка.
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments52

Как пасти скотов. Советы руководителю подразделения разработчиков

Reading time6 min
Views22K
Помимо извечной проблемы отцов и детей, на мой взгляд, существует ещё одна проблема — подчиненных и руководителей. Именно об этой проблеме я и хотел бы поговорить в своей статье. Точнее, о таком частном случае, как взаимоотношения подчиненных и руководителей при разработке программного обеспечения, конструкторской и технологической документации. Руководители зачастую считают подчиненных безответственными разгильдяями, а подчиненные руководителей — некомпетентными пастухами, которым надо пасти стада, а не командовать подразделением разработчиков. Часто ситуация усугубляется непониманием, т.к. руководитель не разбирается в разработке, а подчиненный плохо понимает административные нюансы. Эта статья призвана помочь плохим руководителям стать хорошими руководителями. Вы, конечно, скажете: «Эй, полегче, какие ещё плохие руководители?». И будете, наверное, правы, я сильно сгущаю краски. Не очень-то и плохие. Обычные руководители, каких сотни и тысячи. Но чтобы качественно выстроить процесс разработки, нужны лучшие специалисты — и исполнители, и руководители. Поэтому руководителей я делю на хороших и не хороших. Без полутонов. Как и разработчиков, кстати, об этом сказано в последнем совете. Как понять, хороший Вы руководитель, или плохой? Почитайте нижеследующие правила. Если какие-то из них кажутся Вам чушью и потаканием бездельникам — значит статья написана для Вас.
Читать дальше →
Total votes 76: ↑50 and ↓26+24
Comments110

Информационная безопасность АСУ ТП: Дон Кихот в эру кибероружия

Reading time13 min
Views57K

В данной статье проведена систематизация требований к информационной безопасности (ИБ) АСУ ТП. Требования выбраны из доступных на настоящий момент стандартов, в первую очередь, из NIST SP 800-82 «Guide to Industrial Control Systems (ICS) Security» и разрабатываемой новой редакции серии ISA/IEC 62443 «Security for Industrial Automation and Control Systems».

АСУ ТП взаимодействуют с объектами физического мира и обеспечивают защиту от аварий и катастроф. В англоязычной литературе АСУ ТП называют Industrial Control Systems (ICS) или Industrial Automation and Control Systems (IACS). В мире IT технологий их можно сравнить с Дон Кихотом, который остался верен простым, но не очень модным принципам в уже давно изменившемся мире.

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

Похожие проблемы следует решать и для других кибер-физических систем, включая IoT и встроенные управляющие системы.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments8

Проект Jigsaw в Java 9. Модулярное будущее, которого не избежать

Reading time15 min
Views32K


О проекте модуляризации Java мы слышим из года в год. Каждый раз ждём, следим за анонсами. Нам говорят, что Jigsaw практически готов, но каждый раз переносят срок выхода. Может быть, это не такой простой проект, как видится многим? Возможно, что изменения в нем повлияют на разработку в корне? Может быть, модулярная система — это только верхушка айсберга? Ответить на вопросы, связанные с проектом Jigsaw, мы попросили Ивана Крылова.

Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java-конференциях.

Что такое Jigsaw, и как он повлияет на мир Java?


— Иван, добрый день. Расскажите, пожалуйста, какое влияние проект Jigsaw окажет на экосистему Java?

— Добрый. Для объяснения моего взгляда на Java и модулярность стоит немного рассказать о моей деятельности. Коммерческим программированием я занимаюсь примерно двадцать лет. Последние одиннадцать из них — разработкой виртуальных машин. Работал в команде HotSpot Runtime в Sun. Потом компания была куплена Oracle. Далее было несколько изменений деятельности, и последние три с половиной года работаю в компании Azul Systems, где занимаюсь разработкой виртуальных машин.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments33

Да, я пишу десктопные приложения под Windows

Reading time5 min
Views120K


Здравствуйте, меня зовут Владимир и я анонимный разработчик десктопных приложений под Windows. В этом месте все должны сказать «Здравствуй, Владимир!», а кто-то может быть добавит «Молодец, что осознал!». А потом все похлопают. Нет, правда, иногда от чтения Хабра у меня возникают именно такое ощущение, что нормально, нет, даже не «нормально», а допустимо и одобряемо сегодня писать только микросервисы для каких-то стартапов, которые будут по какому-то REST API отдавать данные какому-нибудь фронтенду на Ангуляре, который и будет, наконец, показывать пользователю что-то невероятно полезное, вроде таблицы с аггрегированными отзывами о стрижках пуделей с возможностью посмотреть на гуглокартах где бы в вашем городе можно было сделать именно такую стрижку вашему пуделю (несуществующему). А никаких других программ писать уже нет-нет, никак нельзя! Что за чушь?!

Да, многое сегодня происходит в вебе и на мобильных устройствах, но, знаете ли, далеко не всё. Значительная часть приложений по-прежнему является десктопным софтом. И даже (о, ужас!) не под Mac Os или Linux, а под тот самый богомерзкий Windows. И, знаете ли, софт этот живёт, развивается, поддерживается и является ежедневным рабочим инструментом миллионов людей. И никуда он мигрировать не собирается, потому что есть причины, по которым иногда именно десктопное приложение является лучшим вариантом.
Читать дальше →
Total votes 272: ↑231 and ↓41+190
Comments565

Математика для тестировщиков

Reading time17 min
Views41K
Доклад Никиты Налютина на конференции SQA Days – 13, 26-27 апреля 2013 г. Санкт-Петербург, Россия

Анонс. Новые методики тест-дизайна не всегда рождались одномоментно, не все в инженерной практике может появиться в результате только лишь одного озарения и гениальных идей, увиденных во сне. Достаточно большая часть современных практик тестирования появилась в результате кропотливой теоретической и экспериментальной работы по адаптации математических моделей. И, хотя, для того, чтобы быть хорошим тестировщиком, вовсе не обязательно быть математиком, полезно понимать, какая теоретическая база лежит в основе того или иного метода тестирования. В докладе я расскажу о том, какую базу для тестирования дает математическая логика, теория формальных языков, математическая статистика и другие разделы математики; какие направления, связанные с тестированием, существуют в теоретическом computer science; появления каких новых методов можно ожидать в ближайшее время



Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments6

Доказательство некорректности алгоритма сортировки Android, Java и Python

Reading time13 min
Views76K
Тим Петерс разработал гибридный алгоритм сортировки Timsort в 2002 году. Алгоритм представляет собой искусную комбинацию идей сортировки слиянием и сортировки вставками и заточен на эффективную работу с реальными данными. Впервые Timsort был разработан для Python, но затем Джошуа Блох (создатель коллекций Java, именно он, кстати, отметил, что большинство алгоритмов двоичного поиска содержит ошибку) портировал его на Java (методы java.util.Collections.sort и java.util.Arrays.sort). Сегодня Timsort является стандартным алгоритмом сортировки в Android SDK, Oracle JDK и OpenJDK. Учитывая популярность этих платформ, можно сделать вывод, что счёт компьютеров, облачных сервисов и мобильных устройств, использующих Timsort для сортировки, идёт на миллиарды.

Но вернёмся в 2015-й год. После того как мы успешно верифицировали Java-реализации сортировки подсчётом и поразрядной сортировки (J. Autom. Reasoning 53(2), 129-139) нашим инструментом формальной верификации под названием KeY, мы искали новый объект для изучения. Timsort казался подходящей кандидатурой, потому что он довольно сложный и широко используется. К сожалению, мы не смогли доказать его корректность. Причина этого при детальном рассмотрении оказалась проста: в реализации Timsort есть баг. Наши теоретические исследования указали нам, где искать ошибку (любопытно, что ошибка была уже в питоновской реализации). В данной статье рассказывается, как мы этого добились.

Статья с более полным анализом, а также несколько тестовых программ доступны на нашем сайте.
Читать дальше →
Total votes 136: ↑134 and ↓2+132
Comments26

Написание диссертации. Инструкция к применению. Взгляд с другой стороны баррикад

Reading time12 min
Views202K
image
На Хабре регулярно появляются статьи, ориентированные на помощь при написании и защите диссертации (например, здесь и здесь). Лично мне в свое время помогли шуточные заповеди диссертанта, коим уже не один десяток лет (вариант, который впервые увидел я, был еще рукописным, причем потрепанным не хуже древнерусских летописей).

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

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

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

При этом обращу внимание, что все нижесказанное ни в коей мере не официальная позиция ученых советов или, наоборот, тайное знание клана профессоров, а просто субъективное мнение отдельно взятого меня.
Итак, поехали.
Total votes 115: ↑112 and ↓3+109
Comments99

Алгоритмы на графах — Часть 2: Сортировка сетей

Reading time5 min
Views23K

Пролог

В продолжение опубликованной на выходных статьи.

Компиляторы — пожалуй одна из самых интересных тем системного программирования.
Эта статья не расскажет как написать идеальный, или, хотя бы, работающий компилятор, но она поможет прояснить пару аспектов его работы, при помощи метода топологической сортировки сети.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments22

50+ лучших дополнений к Bootstrap

Reading time5 min
Views202K


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

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Total votes 123: ↑111 and ↓12+99
Comments25

Как я проект в OpenSCADA сделал

Reading time14 min
Views83K
image

Речь в статье пойдет о той самой OpenSCADA, которая под Linux и с oscada.org.

Зачем:
• потому что SCADA на самом деле достойна внимания и популяризации;
• в некоторых малобюджетных или маленьких проектах просто безальтернативная;
• судя по статьям про АСУТП на хабре, многим читателям АСУТП представляется черной магией, недо-IT или чем-то похожим (ломают несчастный modbus, мучают WinCC, которая и так еле тарахтит… Люди читают и охают: «Как так можно…. дырявое ПО в промышленности», но никого не удивляет ломание Win95 и 6го ослика. Поломали бы LON шифрованный, OPC, OPC_UA…… А WinCC сама расшаривает папку с проектом с именем вида WinCC_Project_xxxxxx при первом открытии + это вы еще не видели как ее плагин к Excel может намертво винду подвесить при неаккуратной вставке ячеек чуть больше, чем он может за раз осилить!) – добавим ликбеза;
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments185

Назад, к технологиям верхнего палеолита, от любимых всеми REST, STATEless, CRUD, CGI, FastСGI и MVC

Reading time7 min
Views69K
«Только со смертью догмы начинается наука.»
// Галилео Галилей


«Я начал завидовать рабам. Они всё знают заранее. У них твёрдые убеждения.»
// х/ф Марка Захарова «Убить дракона» по мотивам пьесы Евгения Шварца


Уже пару лет и дня не проходит, чтобы я не услышал (или не прочитал) от людей, начинающих новые проекты, фразу типа «Возьмем серверный движок для REST API и MVC, и погнали». Сначала я думал, что у этих слов есть один источник, может книжку какую завезли во все магазины или где-то в топе поисковиков лежит статья, зомбирующая разработчиков. Если же выяснять у них, что они понимают под REST и MVC, то можно повредиться умом. Ну с MVC уже все ясно, об этом я уже давно писал, ничего не изменилось, только усугубилось, стоит набрать в Google Images «mvc» и мы увидим страшное, стрелочки в любые стороны. Ну а про REST отвечают следующее: ну как же, нам нужно из браузерного GUI и мобильного приложения вызывать серверные методы, например: setUserCity(userId, cityId) или calculateMatrix(data) или startVideoConverter(options, source, destination) а потом мы столкнемся с большой нагрузкой и архитектура REST все решит. Дальше я задаю вопросы, от которых глаза округляются уже у тех, кто недавно еще горел праведной верой, рвался в бой и точно знал, что к чему в этом мире. Теперь можно перейти к рассмотрению терминологической катастрофы, в эпицентре которой мы с вами пребываем.
Читать дальше →
Total votes 121: ↑98 and ↓23+75
Comments160

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity