Pull to refresh
-10
0
Send message

Синий. Нет! Жёлтый! — или — Дают ли новые языки программирования прирост скорости разработки

Reading time8 min
Views21K
Какой язык использовали для написания самых первых программ для самых первых компьютеров с хранимой программой?

Двоичный машинный язык, конечно.

Почему?

Очевидно потому, что не было символьного ассемблера. Первые программы необходимо было писать двоичным кодом.

Насколько легче писать программы на ассемблере, чем на двоичном машинном языке?

Намного легче.

Можно цифру? Во сколько раз легче?

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

Экономия объёмов работы огромная.
Читать дальше →
Total votes 55: ↑31 and ↓24+7
Comments119

О Legacy-коде без максимализма: что делать

Reading time11 min
Views29K


Представьте, что вам дали задачу поправить часть кода. В голове возникнет много мыслей. Кто его написал? Когда? А может он — legacy? Где документация? Давайте попробуем разобраться с «наследием» основательно и со всех сторон. Поможет нам в этом вопросе Андрей Солнцев @asolntsev (http://asolntsev.github.io/), разработчик из таллинской компании Codeborne. Начнём.

— Андрей, вы знакомы с трудами Michael Feathers, например, «Working Effectively with Legacy Code»? В книге акцентируется внимание на важности тестирования и выделяется одно из ключевых отличий legacy от не legacy-кода — это наличие тестов. Вы согласны с этим мнением?

Абсолютно согласен! Скажу больше: юнит-тесты — необходимое, но недостаточное условие. И с юнит-тестами можно навалить так, что сам Геракл не разгребёт.
Что для настоящего джедая мастхав, так это:
  1. TDD — то есть тесты ДО кода.
  2. Чистый код (и чистые тесты).


Я очень люблю книгу Robert C. Martin «Clean Code» («Чистый код»). Это для меня настольная библия. Категорически всем советую. Кстати, его блог тоже великолепен.

Читать дальше →
Total votes 53: ↑44 and ↓9+35
Comments61

Функциональная безопасность – старшая сестра информационной безопасности, Часть 1 из 7

Reading time7 min
Views44K
image

Безопасности на хабре посвящен целый хаб, и, пожалуй, никто особенно не задумывается, что именно вкладывается в понятие «безопасность», и так все ясно: информационная безопасность (security). Однако, есть еще и другая сторона безопасности, safety, связанная с рисками для здоровья и жизни людей, а также окружающей среды. Поскольку информационные технологии сами по себе опасности не представляют, то обычно говорят о функциональной составляющей, то есть о безопасности, связанной с правильным функционированием компьютерной системы. Если информационная безопасность стала критична с появлением интернета, то функциональная безопасность рассматривалась и до появления цифрового управления, ведь аварии происходили всегда.

Данная статья начинает серию публикаций на тему функциональной безопасности.

Информационной безопасности АСУ ТП посвящено немало статей на хабре. Функциональной безопасности авторы тоже касались, как в хабе по SCADA, так и в хабе по промышленному программированию АСУ ТП, но, как мне показалось, несколько вскользь. Поэтому я предлагаю короткую информацию об этом важном свойстве, от которого напрямую зависит, получит ли SkyNET контроль над человечеством.
В статье сделаны некоторые обобщения для АСУ ТП, а также для встроенных и кибер-физических систем.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments4

Мгновенный запуск почти любой OS под Linux используя libvirt + qemu

Reading time7 min
Views30K

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


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


  • Ubuntu
  • Debian
  • CentOS 6/7 + atomic
  • Fedora + atomic
  • CoreOS

Частично:



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


image
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments5

Подборка подкастов по программированию на русском и английском языках

Reading time7 min
Views181K
Всем привет! В этой статье собраны одни из лучших подкастов по программированию как на русском так и на английском языках, которые позволят вам быть всегда в курсе последних новостей.

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

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments63

Создатель World Wide Web Тим Бернерс-Ли изменил мир, но сам остался прежним

Reading time7 min
Views67K

фото: firepic.org

25 лет назад, 23 августа 1991 года, британский ученый Тимоти Бернерс-Ли официально представил первый в мире интернет-сайт. За это время мир изменился кардинально.

Однако то, что представляет собой интернет сейчас, уже не совпадает с изначальным замыслом Бернерса-Ли. Плохо это или хорошо – спорный вопрос. Что по этому поводу думает создатель WWW? Какой путь прошел сам Бернерс-Ли?
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments5

Математика на пальцах: давайте посчитаем хотя бы один ряд Фурье в уме

Reading time6 min
Views88K

Нужно ли вам читать этот текст?


Давайте проверим. Прочтите следующее:

Тригонометрическим рядом Фурье функции  называют функциональный ряд вида



где







Страшно, но всё же хочется понять, что это значит?


Значит, вам под кат. Постараюсь формул не использовать.
Читать дальше →
Total votes 86: ↑76 and ↓10+66
Comments99

Научно-технические мифы, часть 1. Почему летают самолеты?

Reading time13 min
Views157K
В современном мире многие люди интересуются наукой и техникой и пытаются хотя бы в общих чертах понять, как работают вещи, которые их окружают. Благодаря этому стремлению к просвещению существует научно-просветительская литература и сайты, подобные Гиктаймсу. А поскольку читать и воспринимать ряды формул большинству людей затруднительно, то излагаемые в подобных изданиях теории неизбежно подвергаются значительному упрощению в попытке донести до читателя «суть» идеи с помощью простого и понятного объяснения которое легко воспринять и запомнить. К сожалению, некоторые из подобных «простых объяснений» являются в корне неверными, но при этом оказываются настолько «очевидными», что не подвергаясь особому сомнению начинают кочевать из одного издания в другое и нередко становятся доминирующей точкой зрения, несмотря на свою ошибочность.

В качестве одного из примеров попробуйте ответить на простой вопрос: «откуда возникает подъемная сила в крыле самолета»?



Если в Вашем объяснении фигурируют «разная длина верхней и нижней поверхности крыла», «разная скорость потока воздуха на верхней и нижней кромках крыла» и «закон Бернулли», то я вынужден Вам сообщить, что Вы скорее всего стали жертвой популярнейшего мифа, который преподают порою даже в школьной программе.
То есть это как это миф? Ведь там же все внятно и с доказательствами объясняется!
Total votes 130: ↑118 and ↓12+106
Comments176

Человек, препарировавший собственный мозг

Reading time3 min
Views30K

Стивен Китинг [Steven Keating] любит делать всё сам. Когда ему не дали доступ к данным по его опухоли, он придумал, как взломать систему




Стивен Китинг привык не бояться сложных задач. Он студент в MIT Media Lab, специализируется на 3Д-печати и синтетической биологии и описывает себя, как «редкостного ботаника». Подростком он увлекался запуском высотных зондов и изготовлением катушек Теслы, а теперь хакерский подход к делу помог спасти его жизнь.

В 2014 году ему поставили диагноз – опухоль мозга размером с теннисный мяч и рекомендовали немедленно назначить операцию. Он пытался подобрать лучшего хирурга и обнаружил, что быстрее всего распространить результаты сканирования мозга и медицинские данные получится, если он будет делать это сам. Он уже сделал простейший сайт, чтобы можно было поделиться своими данными с родственниками и друзьями; теперь же он начал отправлять эту информацию и докторам. У него должны были отрезать довольно большую часть мозга, и он решил, что у него будет больше шансов сохранить разум, если он сам возьмёт на себя ответственность за свои собственные данные.
Читать дальше →
Total votes 53: ↑43 and ↓10+33
Comments138

Excel испортил 20% электронных таблиц в научных работах по генетике

Reading time4 min
Views25K

Фрагмент таблицы данных из научной работы «Тканеспецифическая экспрессия и регуляция генов полового диморфизма у мышей» (doi:10.1101/gr.5217506)

В электронных таблицах Microsoft Excel по умолчанию установлен формат ячейки «Общий». Многие сталкивались с тем, что Excel ни с того ни с сего конвертирует введённое значение в дату. Это самая распространённая ошибка автоматической конвертации. Чтобы избежать её, следует изменить тип данных с «Общего» на «Числовой» (для чисел) или «Текстовый» (для текста). В последнем случае введённые данные вообще не будут конвертироваться.

От автоматической конвертации страдают неопытные пользователи Excel. Удивительно, что среди этих неопытных пользователей — большое количество учёных. Автоматическое сканирование публикаций в базе PubMed с помощью набора bash-скриптов показало, что около 20% таблиц с данными в научных работах по генетике содержат ошибки конвертации данных Excel в названиях генов!
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments67

Проект Breakthrough Starshot: долетит ли зонд c Земли до системы Альфа Центавра со скоростью в 20% световой?

Reading time5 min
Views28K


В научной фантастике космические корабли давно уже передвигаются по всей Вселенной при помощи «червоточин», гипердвигателей и прочих систем, явлений и устройств. Червоточины или гипердвигатели, по мнению некоторых ученых, вовсе не являются сказкой, и создать их теоретически возможно. Правда, не сейчас и не в ближайшем будущем — у нас просто нет необходимых знаний и технологий.

Ну а что насчет полететь к другой звезде со скоростью в 15-20% световой? Это вполне реально. Так считают ученые, популяризаторы науки, так считают и авторы проекта Breakthrough Initiatives, работающие над проектом Breakthrough Starshot. Задача проекта — создание космических кораблей со световым парусом, которые способны долететь до системы Альфа Центавра за 20-30 лет. Для того, чтобы добраться до этой системы за такое время, космический корабль и должен двигаться со скоростью от 15% до 20% от скорости света.
Total votes 21: ↑18 and ↓3+15
Comments73

Офисная мечта: изучаем топовый МФУ Panasonic DP-MB545

Reading time11 min
Views9.6K
Широкому кругу потребителей компания Panasonic известна в первую очередь своей бытовой техникой – от телевизоров до фотоаппаратов и видеокамер. Работники офисов знают, что в ассортименте производителя значится еще и почти три десятка интересных моделей МФУ для рабочих групп любого размера, от малых до больших. Причём, на рынке данного вида техники компания, мягко говоря, не новичок.

В этом материале я расскажу о новой модели Panasonic DP-MB545 – это флагманское решение, которое россиянам презентовали в мае 2016 года. Аргументы в пользу модели самые простые и эффектные: скоростная печать 45 страниц в минуту (причем как при односторонней, так и двухсторонней печати), почти самая низкая в классе стоимость печати одной страницы (32 копейки) и возможность сканирования/печати документов в формате А3. Последний пункт реализован нестандартно – нужно отдельно сканировать верхнюю и нижнюю части документа, после чего МФУ «сшивает» единое изображение. Как вы понимаете, тем самым компания добилась функционала А3-устройства при сохранении компактных габаритов типичного А4-МФУ.


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments34

Робомобили Google все еще не готовы к массовому появлению на дорогах. Почему?

Reading time5 min
Views20K


Корпорация Google не так давно отметила важное событие: ее беспилотные авто проехали по дорогам более 2,5 миллионов километров. Испытания, которые проводятся компанией, показывают, что эти автомобили неплохо справляются со своей задачей — поездка из точки А в точку Б без управления человека. Но проблемы еще есть, и их довольно много. Из-за этих проблем робомобили Google пока еще не могут колесить по дорогам городов в массовом порядке.

Основная причина в том, что машины компании, хотя и очень продвинуты в техническом плане, но это машины. Система управления беспилотными авто — слабая форма ИИ, которая неспособна решать многие нестандартные задачи. Что это за задачи такие? Давайте посмотрим, компания Google недавно поделилась этими данными с общественностью.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments192

7 полезных утренних привычек психологически выносливых людей

Reading time4 min
Views75K
Как начинают свой напряженный день американские (и не только) участники Олимпийских игр и «Морские котики» (и как можете действовать и вы!)?

image

Жизнь активного предпринимателя — это, мягко говоря, езда по американским горкам.
Как же преуспевающие люди ухитряются переживать такие сумасшедшие дни?
Читать дальше →
Total votes 57: ↑33 and ↓24+9
Comments19

Книги о типографике: все, что вам нужно знать об искусстве шрифтов

Reading time7 min
Views44K
подборка книг по типографике

Типографика — это искусство сделать текст красивым, удобным для чтения, отразив в начертании букв информационный посыл или характер издания. Это искусство привнести визуальную гармонию в любой текстовый материал. Искусство выразить смысл не только через слова, но и через их отображение. Типографика вовсе не ограничивается выбором шрифтов и отступов — это более глубокая, сложная и интересная дисциплина. И освоить её вам поможет наша подборка книг.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments9

Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня

Reading time29 min
Views585K
И снова всем привет! Сегодня речь пойдет о протоколах верхнего уровня. Разберем, как они работают, из чего состоят и где применяются теоретически и на практике.


Приятного чтения
Total votes 44: ↑43 and ↓1+42
Comments27

Резервирование данных в системах виртуализации для малых и средних компаний

Reading time6 min
Views10K
Hewlett Packard Enterprise предлагает SMB-компаниям, желающим обезопасить свои виртуализированные системы, простое и недорогое средство резервирования данных.
Виртуализация — очень популярный в наше время способ «обустройства» ИТ-системы. Одной из важнейших задач, которую приходится решать организациям, желающим виртуализировать свой ИТ-ландшафт, является обеспечение безопасности данных путем создания системы резервного копирования и восстановления после сбоев.

Для решения этой задачи в портфеле Hewlett Packard Enterprise уже давно имеется HPE Data Protector — продукт корпоративного уровня для организации резервного копирования и восстановления данных, который может работать в любых ИТ-средах, в том числе смешанных, когда часть используемых ИТ-систем — физические, а часть — виртуальные. Информация защищается на всех уровнях — от ядра до уровня доступа в рамках физической, виртуальной или облачной инфраструктур. Копирование становится стандартной процедурой вне зависимости от того, с каких платформ виртуализации поступают данные и куда они направляются для хранения. При этом HPE Data Protector обеспечивает не только комплексную защиту данных, но и аналитику в режиме реального времени посредством использования HPE Backup Navigator, а также оптимизацию процесса хранения с помощью решения HPE Storage Optimizer, что позволяет сделать резервное копирование и восстановление простым, надежным, рациональным и недорогим процессом, адаптированным под ИТ-среду вашей организации.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments5

Программы становятся важнее железа

Reading time5 min
Views18K


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

Это далеко не первое сокращение. И как это было в прошлые годы основная причина – переориентация компании на разработку программного обеспечения. Сам же он перешёл в другой отдел, где занимается теперь поддержкой облачных продуктов.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments5

Логика сознания. Часть 1. Волны в клеточном автомате

Reading time7 min
Views67K
Начнем разговор о мозге с несколько отвлеченной темы. Поговорим о клеточных автоматах. Клеточный автомат – это дискретная модель, которая описывает регулярную решетку ячеек, возможные состояния ячеек и правила изменений этих состояний. Каждая из ячеек может принимать конечное множество состояний, например, 0 и 1. Для каждой из ячеек определяется окрестность, задающая ее соседей. Состояние соседей и собственное состояние ячейки определяют ее следующее состояние.
Наиболее известный клеточный автомат – это игра «Жизнь». Поле в игре «Жизнь» состоит из ячеек. Каждая ячейка имеет восемь соседей. Задается начальная комбинация. Затем начинается смена поколений. Если у занятой ячейки два или три занятых (живых) соседа, то ячейка продолжает жить. Если соседей меньше 2 или больше 3, то ячейка умирает. Когда у пустой ячейки оказывается ровно 3 соседа в ней зарождается жизнь. Задав произвольную начальную комбинацию можно пронаблюдать ее эволюцию.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments65

Сопоставляем неоднозначные термины в GitLab, GitHub и Bitbucket

Reading time3 min
Views22K

Всем привет, если вы не в курсе, мы начали публиковать переводы релизных статей ГитЛаба.
Если вы пропустили предыдущие, вот ссылки: 8.10, 8.9, 8.8


ГитЛаб выпускает релизы 22 числа каждого месяца.
Перевод поста про релиз 8.11 в работе, а пока представляю на ваш суд еще одну статью из блога ГитЛаба про различие терминологии у GitLab, GitHub и Bitbucket.




В зависимости от рабочих задач и потребностей клиентов разработчикам приходится использовать разные платформы управления репозиториями. Типичный разработчик участвует в каком-нибудь открытом проекте на GitHub, а на работе хостит проект одного клиента на GitLab, а другого — в Mercurial и на Bitbucket. Переключения между платформами осложняются тем, что в них одни и те же вещи могут называться совершенно по-разному. В этой статье мы поможем вам сопоставить различия и заодно объясним, почему мы выбрали именно такие названия.


Начиная с версии 8.4 в GitLab значительно улучшился процесс миграции репозиториев из GitHub. Теперь GitLab импортирует не только репозитории, но ещё и вики-страницы, тикеты и пулл-реквесты. При этом большинство сущностей не меняют своего названия. Например, специфические термины Git, такие как commit или push, везде одинаковы. Не меняются и такие общие термины, как users, webhooks и issues.


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments23

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Registered
Activity