Pull to refresh
0
0
Send message

Практичный Go: советы по написанию поддерживаемых программ в реальном мире

Reading time48 min
Views54K
Статья посвящена лучшим практикам написания кода Go. Она составлен в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту.

Для начала следует договориться, что значит лучшие практики для языка программирования. Здесь можно вспомнить слова Расса Кокса, технического руководителя Go:

Программная инженерия — то, что происходит с программированием, если добавить фактор времени и других программистов.

Таким образом, Расс различает понятия программирования и программной инженерии. В первом случае вы пишете программу для себя, во втором создаёте продукт, над которым со временем будут работать и другие программисты. Инженеры приходят и уходят. Команды растут или сокращаются. Добавляются новые функции и исправляются ошибки. Такова природа разработки программного обеспечения.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments14

Git снизу вверх

Reading time27 min
Views125K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →
Total votes 104: ↑102 and ↓2+100
Comments32

Скриптуем на WebAssembly, или WebAssembly без Web

Reading time6 min
Views11K

Представлять WebAssembly не нужно — поддержка уже есть в современных браузерах. Но технология годится не только для них.


WebAssembly — кроссплатформенный байткод. Значит, этот байткод можно запустить на любой платформе, где есть его виртуальная машина. И для этого вовсе не нужен браузер и Javascript-движок.


Далее — проверка концепции на прочность, инструментарий и первый скриптовый модуль.

Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments19

Быстрая разработка скриптов мониторинга с помощью Bash, Outthentic и Sparrow

Reading time7 min
Views6.8K

Доброе время суток!


В данном посте я расскажу о том, как просто и быстро писать различные скрипты проверки состояния инфраструктуры с помощью инструментов Bash, Outthentic и Sparrow ...

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments0

Cloud-AI – искусственный интеллект в облаке, нашедший 10 уязвимостей LinkedIn

Reading time6 min
Views15K
В 2015 году команда проекта CloudSek задалась целью разработки системы искусственного интеллекта, которая сможет взаимодействовать с интернетом как разумный человек. Первый прототип системы был представлен публике в марте 2016 года на конференции NullCon. С тех пор в проекте было несколько прорывных открытий, о которых мы хотим сегодня рассказать.

Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments5

Малые реакторы как альтернатива современным энергетическим реакторным установкам

Reading time7 min
Views39K
image

Малые модульные реакторы – одно из самых популярных направлений развития атомной энергетики и реакторных технологий.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments79

Полный кадр 35мм. Мини-обзор камеры со сменной оптикой Sony a7II

Reading time6 min
Views20K
Привет geektimes. Наверное почти каждый фотолюбитель и владелец цифровой зеркальной камеры хоть раз задумывался о полнокадровой DSLR. Ведь чем больше матрица камеры, тем меньше шумы, лучше цветопередача, эффектнее ГРИП (она же DOF), выше ЧСВ. Когда-то давно, первой такой камерой стала Canon 5D, но по тем временам это было что-то космическое, как по цене (около 120тыс при средней зарплате инженера в 45) так и по массе с габаритами. Впрочем, даже при такой стоимости 5D на то время считался прорывом в цене, т.к. другие full-frame камеры стоили гораздо дороже.

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

Кому интересны впечатления «чайника» от камеры Sony A7II, прошу под кат.



До этого я пользовался камерой похожего типа, Sony NEX5, так что сравнить их было тем более интересно.
Total votes 31: ↑20 and ↓11+9
Comments111

Обзор наушников Bluedio: разрыв шаблона от создателей Beats

Reading time15 min
Views106K
Принято считать, что разработчики смартфонов и прочей мобильной электроники (планшетов, ноутбуков, смарт-часов и пр.) наживаются на бедных потребителях. Видели новости с заголовком вроде «айфон нам продают за 500 баксов, а цена его комплектующих всего 250»? Я как раз об этом. Однако Apple со своими смартфонами – это ещё относительно честный производитель, который делает минимальную наценку. Неужели бывает хуже? Бывает. Пальму первенства в области развода покупателей удерживают – тарам-пам-там – производители наушников!

Всё дело в том, что производство наушников – бизнес крайне высокомаржинальный. Если не считать профессиональные аудиофильские модели ценой в пару тысяч долларов, где действительно применяются уникальные компоненты (вроде моделей STAX или Astell&Kern), подход к созданию «ушей» у всех производителей примерно такой. Берём старую начинку, слегка подкручиваем звучание (ну чтобы новая модель хотя бы немного отличалась от старой), чуток изменяем дизайн (с той же целью), продаём. Всё! Учитывая, что каких-либо реально дорогостоящих компонентов в массовых серийно выпускающихся наушниках нет, а на разработку «c нуля» тратиться не приходится, стоимость производства (cost of materials) одного флагманского экземпляра практически любого бренда редко превышает 50, ну максимум 70 долларов. Откуда же появляются модели за 500 баксов и дороже? Оттуда и появляются – потребителю впаривают не столько технологии и звучание, сколько бренд. Давайте-ка разберёмся в ситуации поглубже и параллельно обозреем линейку «антипафосных» наушников не так давно появившегося на российском рынке бренда Bluedio. Наушники этого производителя ориентированы как раз на тех, кто не желает выбрасывать даже лишний рубль (пусть даже может себе это позволить) и при этом хочет получить реально клёвые, хорошо звучащие «уши». Без наценки за «пафос».


Читать дальше →
Total votes 41: ↑31 and ↓10+21
Comments109

Что общего в поведении политиков и шимпанзе?

Reading time7 min
Views23K


«Во время политических дебатов по телевизору я всегда рекомендую выключить звук. Таким способом мы можем пренебречь словами и содержанием дебатов и лучше сосредоточиться на невербальной коммуникации (позы, жесты, выражения лиц)», — говорит профессор американского университета Эмори, приматолог Франс де Вааль (Frans de Waal), отвечая на вопрос, опубликованный на сайте Quora. По его словам, выключить звук совершенно необходимо было во время последних дебатов кандидатов в президенты от республиканской партии США, потому что их «содержание не имело особого смысла». Кандидаты оскорбляли друг друга, врали, ставили под сомнение мотивы друг друга, даже делали анатомические сравнения. «На самом деле, они делали то, что обезьяны делают лучше всего: запугивают, угрожают, разворачивают плечи, бьют себя в грудь», — говорит профессор.
Читать дальше →
Total votes 26: ↑18 and ↓8+10
Comments31

C++ без new и delete

Reading time15 min
Views88K
Привет, хабравчане!

Меня зовут Михаил Матросов, я технический менеджер в компании Align Technology. Сегодня я поработаю капитаном и немного расскажу об основах современного С++.

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

Мне бы хотелось поговорить об этих основах и начну я со своей любимой темы. Будем говорить об операторах new и delete. А точнее, об их отсутствии. Я расскажу, как писать надёжный и современный код на С++ без использования операторов new и delete.

Казалось бы, тема стара как мир, Саттер и Майерс в своё время всё разложили по полочкам. Именно поэтому я не буду вдаваться в ненужные подробности, отправляя читателей к первоисточникам. Моя цель собрать информацию по вопросу в одном месте, дать соответствующие ссылки и сформулировать ёмкие рекомендации.

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


Изображение взято с сайта behappy.me
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments134

«Извините, я занят» или как стать эффективным, а не загруженным

Reading time2 min
Views3.6K


Мы все — очень занятые люди. Это не обсуждается. А наличие широкополосного и мобильного интернета делает нас доступными практически круглые сутки.

Тем не менее, Вы замечали, что люди, которые постоянно говорят о собственной занятости, на деле оказываются наименее эффективными? Быть очень занятым — вовсе не означает быть эффективным или успешным.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

Почему мы не достигаем целей, которые ставим

Reading time5 min
Views29K
Часто бывает, что мы ставим себе цели, которых по различным причинам не можем достигнуть. То ничего не хочется делать, то постоянно отвлекаешься, то считаешь, что нужно еще получше подготовиться и откладываешь дело в долгий ящик.

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

Как мы ставим цели и что они нам дают
Здесь вроде все просто. Цели мы все ставить умеем: амбициозные, масштабные, отвечающие критериям SMART.
Бывает, что поставили себе цель, которую нужно выполнить, записали ее на бумаге и повесили на стенку. Смотрим на нее день, другой, а ничего не происходит.

Как в стихотворении И. Губермана:
Бывает – проснешься, как птица,
крылатой пружиной на взводе,
и хочется жить и трудиться;
но к завтраку это проходит.


А бывает по-другому, когда вы были по утрам полны энергии и вскакивали с постели, горя желанием взяться за работу. Например, когда завершали увлекательный проект или готовились к свадьбе.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments21

Что нам стоит LVM построить (принцип работы, производительность, Thin Provision)

Reading time4 min
Views32K
Не смотря на наличие нескольких статей на Хабре, про LVM2 и производительность Thin Provisioning, решил провести своё исследование, так как имеющиеся показались мне поверхностными.

Кому интересно, добро пожаловать под кат.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments7

Ищите прикольный недорогой подарок мужчине на новый год 2016? Идеи подарков за 10-20$

Reading time3 min
Views36K
До нового года ещё больше месяца, но сани, как говорится, надо готовить летом, особенно, если хочется успеть дождаться посылок из Китая. Поэтому сегодня мы подготовили 10 интересных мелочей, которым будет рад почти любой гик. Впрочем, я судил по себе, так что это можно назвать моим личным Wish List (списком пожеланий). Если вам этот список близок, то рекомендую поделиться им в социальной сети и возможно на этот новый год вы получите подарки интереснее, чем новые чёрные носки.

Итак, поехали:
1. Умный браслет за умные деньги — Xiaomi Mi Band за 11.99$ (4151 человек лайкнули)

Читать дальше →
Total votes 22: ↑14 and ↓8+6
Comments30

Information

Rating
Does not participate
Registered
Activity