Pull to refresh
288
0
Юрий Насретдинов @youROCK

Программист, в основном на Go

Send message

Golang-дайджест № 9 (1 – 30 сентября  2021)

Reading time 4 min
Views 7K

Свежая подборка новостей и материалов

Интересное в этом выпуске

Выпущены Go 1.17.1 и Go 1.16.8, Создание приложения с графическим интерфейсом Gio, I18n в Go: Управление переводами, Обновления кодекса поведения сообщества Go, Выпущены OpenTelemetry Go API и SDK 1.0

Приятного чтения!

Читать далее
Total votes 24: ↑21 and ↓3 +18
Comments 0

Вред маленьких функций

Reading time 15 min
Views 39K

Перевод статьи Синди Шридхаран.

В этой статье автор собирается:

  • Пролить свет на некоторые предполагаемые преимущества маленьких функций.
  • Объяснить, почему некоторые из преимуществ вовсе не такие радужные, как рекламируется.
  • Объяснить, почему маленькие функции иногда контрпродуктивны.
  • Объяснить, в каких случаях маленькие функции действительно полезны.
Читать дальше →
Total votes 60: ↑47 and ↓13 +34
Comments 195

Подводные камни Bash

Reading time 32 min
Views 94K


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


Читать дальше →
Total votes 143: ↑141 and ↓2 +139
Comments 63

Поисковые подсказки изнутри

Reading time 11 min
Views 27K


Ночная зала. Тысячи таинственных ликов в темноте, подсвеченных голубоватым свечением мониторов. Оглушительный треск миллиона клавиш. Подобные выстрелам автомата удары по клавишам «Enter». Зловещее стрекотание сотен тысяч мышек… Так, наверняка, играло воображение каждого разработчика высоконагруженной системы. И если его вовремя не остановить, то может выйти целый триллер или фильм ужасов. Но в данной статье мы будем гораздо ближе к земле. Мы кратко рассмотрим известные подходы к решению задачи поисковых подсказок, как мы научились делать их полнотекстовыми, а также расскажем о парочке уловок, на которые мы пошли, чтобы придать им скорости, но при этом не научить жадности к ресурсам. В конце статьи вас ждёт бонус — небольшой рабочий пример.
Читать дальше →
Total votes 64: ↑60 and ↓4 +56
Comments 14

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Reading time 10 min
Views 94K
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Total votes 110: ↑104 and ↓6 +98
Comments 73

IBM PC своими руками — это очень просто

Reading time 34 min
Views 199K
image

После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
Читать дальше →
Total votes 261: ↑260 and ↓1 +259
Comments 81

Краткий обзор видео по Go c FOSDEM 2015

Reading time 4 min
Views 8.5K
Одна из самых популярных конференций по open-source проектам, FOSDEM, прошла 31 января — 1 февраля, и, помимо многих dev-румов, был dev-room, целиком посвященный Go. Видео с этой конференции уже выложены в паблик, доклады по 30-40 минут каждый, и, надо сказать, доклады очень достойные — привычного и надоевшего интро для новичков в стиле «Что мне нравится в Go?» или «Как тестировать в Go» тут не было.

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



Всего было 8 докладов по 30-40 минут, и полтора часа так называемых Lightning talks — коротких докладов, идущих один за другим.

Сразу привожу ссылки на плейлисты:

Youtube: www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb
FOSDEM http: video.fosdem.org/2015/devroom-go

Итак, в порядке выступлений.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 1

0 dB Бесшумный компьютер. Версия 1.0

Reading time 27 min
Views 331K
Не кажется странным, что навязчивое гудение компьютера всеми воспринимается «как норма»? Можно вообразить весь ужас происшествия, если внезапно эти же звуки начнёт издавать любимый телевизор. Расценивать такое событие можно будет только как серьёзную поломку. Так почему компьютер не сделать, подобно телевизору, таким же уютно тихим?!

Итак, настала пора отступить от стереотипов и поменять хорошее на лучшее!

Эта статья для тех, кто считает шум лишним компонентом компьютера: меломанам и аудиофилам, борющимся за чистый звук; студентам, делящим кубрик общежития с нервными соседями; родителям, желающим своим чадам крепко спать не отвлекаясь на вой кулеров и клацанье периферии. Всем тем, кто рад островку тишины в нашем беспокойном мире.

Цель статьи — поделиться исследовательским и практическим опытом в компоновке компьютера, который при работе не издавал бы ни единого звука.
Читать дальше →
Total votes 170: ↑149 and ↓21 +128
Comments 269

MTBF — откуда берется «миллион часов MTBF»

Reading time 2 min
Views 127K


Просто удивительно то, насколько велико непонимание вокруг такого широко распространенного понятия, как MTBF (Mean Time Between Failure — «Время между сбоями» или «наработка на отказ» ), насколько смысла этой величины не понимают, зачастую, даже специалисты в области хранения данных.

Казалось бы — что может быть проще. «Наработка на отказ» это время беспроблемной работы, от первого включения нового диска, до момента отказа, посчитанная в часах.
Почти любой, кто поинтересуется значением, приводимым производителями, в качестве MTBF современных дисков, и с легкостью сделает несложные подсчеты, будет удивлен странной его величиной.
На сегодня величина MTBF приводится в миллион или даже полтора миллиона часов.
В году — примерно 8760 часов, значит, исходя из нашего понимания «физического смысла» этого значения, производитель планирует «наработку на отказ» для любого такого диска более ста лет (114 лет, для миллиона часов MTBF), что является очевидной нелепостью для каждого, у кого подыхали жесткие диски.
Читать дальше →
Total votes 153: ↑147 and ↓6 +141
Comments 83

Покупка в Apple Store с доставкой в Россию

Reading time 7 min
Views 125K

Для чего я пишу этот пост?


На многих форумах не устают задавать одни и те же вопросы, суть которых сводится к одному — “Где и как дешевле купить определенный девайс?”. Некоторые, осознав, что лучший способ это заказать заграницей и в этом нет ничего сложного, решаются на покупку в иностранном интернет магазине, но получают не совсем то, что ожидали, например, недавний пост «Так ли выгодно делать покупки за рубежом (на примере ebaytoday.ru)».

Особенно ярко это проявляется при покупке техники Apple, так как официально техника, если и поставляется, то с большой задержкой и в большинстве случаев по заоблачным ценам. Данная статья не сможет решить первую проблему в полной мере, так как Гонконг не является, так называемой “страной первой волны”, где в первую очередь появляются устройства от Apple, а вот метод борьбы со второй я и попытаюсь описать далее.

Итак, о чем же данный пост?


В данном посте я хочу описать весь процесс покупки техники на Apple Store HK через посредника(Shipito), начиная от основных моментов работы с shipito.com, заканчивая объединением нескольких посылок в одну и оплатой доставки в Россию. Описываемый способ может использоваться и для США, но, к сожалению, я не пробовал этого делать и, по некоторым отзывам, Apple Store US отказывается высылать на адреса Shipito, на этом моменте я постараюсь остановиться подробнее в заключении.

UPD: получил посылку, публикую Tracking #: CP839884595HK и пишу сроки внизу статьи.
Много текста с картинками.
Total votes 184: ↑167 and ↓17 +150
Comments 180

DropMocks: самый простой способ делиться фотографиями

Reading time 1 min
Views 649
Один из неизвестных веб-проектов, сделанных сотрудниками Google — сервис DropMocks (назван, очевидно, по аналогии с Dropbox): изумительно простой и концептуальный способ публикации изображений. Просто перетягиваете один или несколько снимков с десктопа в браузер — и получаете ссылки. Работает поразительно быстро и даже без регистрации. Проще, наверное, уже невозможно. Фотогалерея с десятками фотографий создаётся за пару секунд.



Сервис сделан исключительно на CSS и Javascript, без применения Flash. Автор — Глен Мёрфи (Glen Murphy), UI-дизайнер браузера Google Chrome и операционной системы Chrome OS.
Total votes 106: ↑98 and ↓8 +90
Comments 77

Используем portdowngrade на примере

Reading time 3 min
Views 1.8K
Возникла необходимость откатить один из портов FreeBSD, а именно eAccelerator, с версии 0.9.6.1 до 0.9.5.3. Связано это с удалением пользовательских функций кэширования начиная с версии 0.9.6-rc1.

Для решения подобной задачи как раз подойдет утилита portdowngrade.
Без неё мы должны выполнить следующие действия:
  • Отследить изменения порта в CVS репозитории FreeBSD.
  • По комментариям найти все файлы предыдущего релиза (пример ревизий Makefile для eAccelerator).
  • Загрузить эти файлы и правильно их расположить в дереве портов FreeBSD.
  • Используя стандартные механизмы управления портами установить порт.

Утилита portdowngrade сама анализирует историю заданного порта и показывает список изменений. Остается лишь выбрать, какую из предыдущих версий порта мы хотим установить. Таким образом, portdowngrade автоматизирует всю, описанную выше, последовательность действий, от осмотра CVS репозитория, до копирования нужных файлов в дерево портов.

Рассмотрим как происходит откат порта к предыдущей версии на примере eAccelerator.

Читать дальше...
Total votes 9: ↑7 and ↓2 +5
Comments 0

BBCode-enabled Growl Webkit Style

Reading time 2 min
Views 828
Продолжая тему Изучаем иностранные выражения (и не только), создал отдельный плагин для Growl, который поддерживает расширенное форматирование. Я считаю что для изучения языка (а не просто выражений) надо выводить немного больше информации, чем просто строчку «оригинал — перевод», например, добавлять контекст. Но в этом случае надо как-то отделять смысловые блоки друг от друга, желательно, визуально. Данный плагин это позволяет делать.

Естественно, возможности использования плагина не ограничены — он поддерживает полный набор BBCode-тегов. В данной заметке я расскажу как проинсталлировать и использовать плагин.
Читать дальше →
Total votes 32: ↑26 and ↓6 +20
Comments 2

Ускорение загрузки Windows for fun and profit

Reading time 4 min
Views 802K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16 +500
Comments 365

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Reading time 6 min
Views 136K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

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

И что же них такого деформированного?
Total votes 461: ↑436 and ↓25 +411
Comments 558

10 способов расположить к себе айтишника

Reading time 3 min
Views 3.1K
Не копипаст и не перевод. Принимаются дополнения и уточнения ;)


1. Регулярно консультируйтесь с айтишником по поводу всего, что связано с системами сложнее веника
Будь то водогрей или сигнализация — это неважно. Айтишник должен разбираться во всём, что присутствует в современном мире и недоступно вам. Просто потому, что вам кажется, что он заумен. Физик ядерщик тем временем почему-то остаётся в стороне, хотя имеет к кондиционерам и дрелям ровно такое же отношение.

2. Задалбывайте айтишника словом «компьютерщик»
Ведь совсем неважно, что у каждого айтишника есть своя узкая специализация, хотя бы на верхнем уровне, «железа» и «софта», а свою специальность он уважает. Даже не забивайте себе голову мыслями о том, как бы вы, начальник отдела по продажам в секторе B2B, чувствовали себя назови кто-то вас «торгашом».
Читать дальше →
Total votes 229: ↑179 and ↓50 +129
Comments 170

Microsoft для PHP программистов

Reading time 4 min
Views 21K
Не секрет, что у Microsoft есть технология ASP.NET (и смежные ASP.NET MVC, ASP.NET AJAX, AJAX Control Toolkit и т.д.), которая является стандартом де-факто для .net ориентированных разработчиков. В то же время количество PHP разработчиков также велико, поэтому было бы странно игнорировать такую большую аудиторию.

В данной статье представлен материал, который, надеюсь, поможет PHP разработчикам лучше интегрировать свои приложения с Microsoft технологиями и продуктами (если, конечно, в этом есть необходимость).
Читать дальше →
Total votes 104: ↑60 and ↓44 +16
Comments 89

Как правильно покупать товары на Ebay

Reading time 5 min
Views 182K
image
Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
Читаем далее
Total votes 187: ↑166 and ↓21 +145
Comments 100

Information

Rating
5,080-th
Location
London, England - London, Великобритания
Date of birth
Registered
Activity