Как писать хороший и понятный код: 3 простых способа для программиста

Автор: admin от 26-12-2018, 14:50, посмотрело: 38

Как писать хороший и понятный код: 3 простых способа для программиста


От переводчика: сегодня публикуем для вас статью разработчика из Индии Рави Шанкара Рахана. Он рассказывает о том, что стоит делать, если вы хотите научиться писать простой и понятный код. Статья рекомендуется всем начинающим программистам.



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



Разработчику необходимо создавать код, который может использовать любой его коллега из любой страны мира. Так он становится чем-то вроде его «наследия». Все это хорошо и складно звучит, но реальность несколько иная…

Категория: Программирование, Веб-разработка

 

IBM показала 8-битный аналоговый чип памяти с изменением фазового состояния

Автор: admin от 26-12-2018, 14:25, посмотрело: 22

Исследователи использовали чип для испытания простой нейросети, сумевшей определить цифры со 100% точностью



IBM показала 8-битный аналоговый чип памяти с изменением фазового состояния


В начале декабря 2018 на выставке IEEE International Electron Devices Meeting в Сан-Франциско IBM показала новый 8-битный аналоговый чип. Однако основной инновацией стало не то, что аналоговые чипы догоняют своих цифровых собратьев, а радикальное переосмысление архитектуры. Этот чип стал первым чипом, производившим 8-битные вычисления там же, где хранится информация.



В традиционной компьютерной архитектуре фон Неймана данные постоянно передаются между памятью и процессором, что потребляет много ценных энергии и времени, говорит Абу Себастиан, главный исследователь в данной работе из IMB Цюрих. Подсчёты в памяти – следующий логический шаг по уменьшению потребления энергии и увеличению быстродействия. А это необходимо для того, чтобы оборудование поспевало за продвижениями в области искусственного интеллекта.

Категория: Программирование

 

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11

Автор: admin от 26-12-2018, 14:25, посмотрело: 22

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11

На хабре уже есть много статей про использование вычислительных шейдеров с Unity, однако статью о использовании вычислительного шейдера на "чистом" Win32 API + DirectX 11 затруднительно. Однако эта задача ненамного сложнее, подробнее — под катом.



Для этого будем использовать:




  • Windows 10

  • Visual Studio 2017 Community Edition с модулем "Разработка классических приложений на C++"

Категория: Программирование

 

Где мы взяли флакон?

Автор: admin от 26-12-2018, 14:25, посмотрело: 18

Flowcon, или Флакон – методика управления, в том числе – задачами. Потоком, проектом, разработкой, рутинными функциями, регуляркой и т.д.



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



Лучше всего, мне кажется, в виде истории изложить, потому что рождение флакона тесно связано с моей, с позволения сказать, карьерой. Так и поступлю. Погнали.

Категория: Программирование

 

Самые смешные поисковые запросы 2018 года

Автор: admin от 26-12-2018, 14:05, посмотрело: 24

Компания «Яндекс» составила список самых забавных поисковых запросов 2018 года (см. под катом). Вдобавок, на подборке «смешных, трогательных и парадоксальных» запросов компания запустила «генератор предсказаний».



Самые смешные поисковые запросы 2018 года




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

Категория: Яндекс

 

Айсберг

Автор: admin от 26-12-2018, 12:20, посмотрело: 22

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



Аналогичная ситуация – с данными в автоматизированных системах.

Категория: Программирование

 

Производительность Excel на чистом Javascript — достижима

Автор: admin от 26-12-2018, 10:50, посмотрело: 23

Привет Хабр!



Продолжаем битву за производительность javascript на примере построения сводных таблиц. В прошлый раз камнем преткновения стал асинхронный интерфейс IndexedDB, который, используя межпоточный вызов для каждой записи курсора, работает чудовищно медленно. Решив эту проблему путем организации крупноблочного хранения, а также применив все известные оптимизации, мне удалось поднять производительность приложения в 20 раз, и в настоящее время расчет по хранилищу в 1 миллион фактов занимает 21 секунду, что потенциально дает надежду догнать Америку Excel, который обрабатывает тот же миллион строк за 5..7 секунд.



Однопроходный алгоритм, не использующий индексы и вложенные запросы, отлично ложится на блочную схему хранения данных, и, самое обнадеживающее — позволяет распараллелить расчет по разным потокам (воркерам), по сути повторяя алгоритмы «взрослых» СУБД. Таким образом — возможности по оптимизации далеко не исчерпаны. В настоящее время расчет производится лишь одним воркером, WASM не используется, результаты «милионного» теста на различных браузерах следующие:






















БраузерВремя
Chomium Linux21 сек
Firefox Linux51 сек
Chrome Android29 сек
Firefox Android62 сек
В приложении доступен генератор тестовых данных, также можно загрузить собственный JSON и проверить цифры. Приложение в глубокой бетте, так что ошибки должным образом не обрабатываются, простите. Под катом — несколько кейсов по ускорению WEB-приложений, которые, конечно, все являются банальностями и очевидностями, просто я, как любитель учиться на собственных ошибках — их проверил, зафиксировал, и теперь стараюсь соблюдать.

Категория: Веб-разработка

 

Оценка и планирование в программных проектах — без купюр

Автор: admin от 26-12-2018, 10:50, посмотрело: 19

Друзья, добрый день!



Мы продолжаем серию публикаций «без купюр» о проектах, связанных с разработкой, часто с приставкой «веб». Сегодня поговорим о том, как наиболее правильно и быстро проводить оценки работ и планировать релизы программной системы. Скорее всего, начинающие менеджеры и энергичные и ищущие себя разработчики будут шокированы рекомендациями, но, поверьте — цель стоит одна и только одна: помочь и сделать из вас настоящего джедая, который и пользу компании приносит, и проекты двигает, да и людей развивает одновременно. Такого джедая, который искренне не заслуживает быть обнаруженным в виде мумии в темной серверной между стойками с веб-серверами и базами данных веб-проекта, летящего в будущее без душевно документированного кода, ТЗ — лишь на энергии чистого «ХЗ». Итак, поехали!

Категория: Веб-разработка

 

Как перестать писать прошивки для микроконтроллеров. Пример

Автор: admin от 26-12-2018, 10:50, посмотрело: 36

Как перестать писать прошивки для микроконтроллеров. Пример

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

Категория: Веб-разработка

 

Принципы функционального программирования в JavaScript

Автор: admin от 26-12-2018, 10:50, посмотрело: 23

Автор материала, перевод которого мы публикуем сегодня, говорит, что он, после того, как долго занимался объектно-ориентированным программированием, задумался о сложности систем. По словам Джона Оустерхаута, сложность (complexity) — это всё, что делает тяжелее понимание или модификацию программного обеспечения. Автор этой статьи, выполнив некоторые изыскания, обнаружил концепции функционального программирования наподобие иммутабельности и чистых функций. Применение таких концепций позволяет создавать функции, не имеющие побочных эффектов. Использование этих функций упрощает поддержку систем и даёт программисту некоторые другие преимущества.



Принципы функционального программирования в JavaScript




Здесь мы поговорим о функциональном программировании и о некоторых его важных принципах. Всё это будет проиллюстрировано множеством примеров кода на javascript.

Категория: Веб-разработка

 
Назад Вперед