heap.tech
лаборатория велосипедов
×
09 июля 2018
Каждый сайт можно характеризовать по трем пунктам: удобный, полезный, быстрый. Первые две характеристики достаточно субъективные, и их достаточно сложно измерить. Но, в отличие от удобства и полезности, скорость работы сайта можно вполне точно измерить. Более того, скорость работы сайта имеет наибольший вес – если сайт крайне удобный и очень полезный, но медленно работает, реакция пользователя уже не будет такой медленной - он поспешит закрыть вкладку так быстро, как только может.
Еще скорость отклика, или работы сайта, сильно влияет на поисковую выдачу. На самом верху располагаются сайты, которые обрабатывают запросы быстрее, разумеется, при прочих равных условиях.
В итоге получается, что скорость работы сайты – очень критичный показатель, оказывающие наибольшее влияние и лояльность аудитории.
11 марта 2017
В прошлой статье я описывал реализацию OAuth протокола Twitter, которая оказалась наиболее сложной из всех. Сложность заключается в создании дополнительного запроса для получения request-токена, это нулевой этап twitter oauth-flow. Далее каждый запрос к API должен иметь заголовок, содержащий тело всего запроса в зашифрованном виде. И, наконец, все заголовки каждого запроса должны быть упорядочены по алфавиту, это относится и к заголовку с зашифрованным телом запроса, в нем тоже все должно быть отсортировано и только после зашифровано.

В этой статье я расскажу как добавить на сайт кнопку авторизации с помощью GitHub, и подводных камнях, о которых не пишут в этих ваших интернетах
03 марта 2017
Уже давно хотел, даже мечтал, разобраться с протоколом OAuth и, конечно, добавить на сайт кнопку входа через социальные сети: vk, fb, twitter, instagram и иже с ними. В этих интернетах полно гайдов, примеров и реализаций, как хороших, так и не очень. В первую очередь я захотел добавить вход через twitter, нашел пару примеров, но ни один из них не захотел нормально работать. Challenge accepted.

Первое, что я сделал - залез на офф сайт в раздел для разработчиков, там нашел интересующий раздел - oauth. Вроде бы понятно написано, но как-то не очень. Кажется, что писали на скорую руку для тех, кто уже знает, что такое oauth и как работает. В итоге пришлось экспериментировать и додумывать самому.
22 января 2017
Рано или поздно у любого человека возникает вопрос о смене места работы. В этом нет ничего зазорного - логика большинства компаний, в этой стране, сводится к тому, что выращивать кадры не торт, проще взять вот этого парня с классной улыбкой и подвешенным языком. И пускай, что разговорчивый парень свинтит через 3 месяца, а Вася работает уже 5 лет, знает все бизнес-процессы от и до, и хочет нового горизонта задач.
В этой статье речь пойдет о актуальных тенденциях проведения собеседований и мейн-стриме вопросов, задаваемых повально.
21 января 2017
Какие принципы ООП вы знаете ? Это коронный вопрос, с которого начинается каждое собеседование IT-специалиста. Иногда вопрос усложняют, например, так – «любезный, расскажите мне, обычному человеку, далекому от программирования, что означает каждый из принципов так, чтобы я понял суть и стал богом программирования». Если вам задали такой вопрос, радуйтесь - есть шанс самоутвердиться морально раздавив интервьюера знаниями и опытом.
Ссылки на предыдущие уроки выживания
Массивы, коллекции, перечисления, foreach
Упаковка и распаковка (boxing, unboxing)
Принципы SOLID (СОЛИД)
13 декабря 2016
На собеседованиях любят задавать вопросы на тему как работают коллекции, про итераторы, индексаторы и вообще, какие типы можно использовать в цикле foreach. Практическая ценность таки вопросов стремится к 0 и они, на мой взгляд, задаются в двух случаях: чтобы проверить, насколько кандидат может логически рассуждать или завалить его. Увы, второй вариант встречается чаще, но мы то знаем, что на собеседованиях обычно спрашивают то, что узнали вчера.
Почему ценность этих знаний столь мала? Да просто - на практике необходимость реализации собственных коллекций, перечислений или массивов возникает чуть реже, чем никогда. В .Net уже реализовано все, что нужно для работы и даже больше – универсальные коллекции, перечисления, словари, хеш-таблицы, стек, да тысячи их.
В этой статье я опишу основные принципы коллекций и массивов в .Net с оглядкой на типовые вопросы на собеседовании. Это позволит поставить собеседующего в тупик и разорвать его нежные шаблоны в клочья.
21 ноября 2016
Пару месяцев назад я опубликовал статью о грядущих нововведениях в c# 7, какие-то вещи удалось рассмотреть достаточно детально, а по поводу других осталось больше вопросов, чем ответов. В этой статье я еще раз хочу сфокусироваться на новых фишках языка, благо на прошлой недели была трансляция connect() от MS.
Connect(); это такой meet-up для разработчиков, основной посыл - рассказать о новшествах в технологическом стеке Microsoft сообществу. Естественно меня заинтересовал блок о новых фичах в c# 7. Да, большинство из них я уже упоминал в прошлой статье, но есть и новые, о которых я ничего не слышал. Например деконструкторы. Еще более пристально удалось взглянуть на сопоставление с образом (pattern matching).
03 ноября 2016
Это вторая статья из цикла выживания на собеседованиях для IT-специалистов. На подавляющем большинстве собеседований, на которых мне посчастливилось побывать, мне задавали вопросы о том, знаю ли я что такое boxing и unboxing. Иногда беседа плавно перетекала в допрос с пристрастием о циклах. Еще реже вопросы о циклах перетекали в плоскость индексаторов и создания собственных коллекций. И наконец, самые стойкие рекрутеры, спрашивали про синтаксический сахар. В этой статье я опишу максимально подробно процесс боксинга и анбоксинга, немного затрону циклы. Про то, как устроены индексаторы, энумераторы, создание собственных коллекций я обязательно расскажу в будущих статьях, вопросы подобного типа совсем не редкость.
23 сентября 2016
Мир устроен так, что если, кто-то придумал какую-то идею, пусть бредовую, но с крутым заголовком и подкрепленную мощным, но бредовым, исследованием - то каждый стремится поскорее скопирастить её. Одними из самых ярких представителей умелой копирастии - рекрутинг спецов. Поэтому опытный специалист, услышав вопрос типа "почему мы должны нанять именно вас ?", или задачи "почему люки круглые", "сколько нужно поездов, чтобы люди ждали поезда не более трех минут" или "сколько мячиков для гольфа уместятся в одном автобусе" выходит в окно просит перейти к более значимым вопросам. Все эти вопросы и ответы изжеваны овер9000 раз и рассматривать их смысла нет.
В этой статье я сделаю акцент на вопросе "Что такое принципы SOLID ?", он задается в 8 из 10 компаний. Но мы то знаем, что обычно на собеседованиях спрашивают то, что выучили вчера.
24 августа 2016
С момента прошлой публикации прошло чуть менее, чем два месяца. Но за это время бот резко изменился и дошел до состояния stable. Я переработал огромную кучу кода, добавил новые крутые фишки, отладил тонкие места и бился над улучшением производительности. Именно на нее я убил порядка 30 процентов всех сил и времени. Зато теперь бот работает и делает это шустро и стабильно.
Но самое главное - мне удалось прикоснуться к конкурсу. Поверхностно. Мельком. Но всеже )

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

Поехали!
28 апреля 2016
Уже достаточно давно занимаюсь английским, ну как занимаюсь, скажем посещаю курсы. Каждый раз после занятий выхожу с мыслями ну всё, настало мое время – сделаю всю домашку, повторю грамматику прошлых лекций и вызубрю новые слова. Но благодаря лени, интернету и котикам я делаю дома чуть больше, чем ничего. Плюсом ко всему зубрить домашку это скукота, а качать темного эльфа 80-левела гораздо интереснее.

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

Что нужно? Да всего ничего - накидать простенькое приложение под iOS \ Android, которое сможет хранить некоторую базу слов и каждый раз напоминать о том, что ученье - свет. Но опять же лень - приложение пусть и простое, но для его работы нужно создать over9000 других вещей. Например, хранилище слов, интерфейс для их добавления, сервис тосующий слова, сервис отправки выбранных слов на приложение, обработчик ответов и чата в целом, наконец, приложение, хотя-бы под одну платформу и, понятное дело, свой протокол передачи данных с гипертекстом и заголовками (очевидно, что http-транспорт с websoket, rest или еще чего).

Уже начал что-то делать, сходил за чебупелями на месяц, набросал требования, спецификации, ну и продумал кое-какие механизмы и, кажется даже, успел что-то накропал
12 апреля 2016
Неделю назад, если точнее, то первого апреля с 30 по 31 марта сего года, состоялась презентация новых фишек компилятора c# и самой студии. Презентация прошла весело и без факапов. Во многом благодаря отличным ведущим (Torgersen и Campbell).

Количественный и качественный объем нововведений меня очень обрадовал, язык активно развивается, впитывая в себя крутые фичи. Более того, разработчики майрософт прислушиваются к dev-комьюнити и запиливают наиболее востребованные штуки. И, похоже, что с этим они отлично справляются, так держать!

Итак, светлое будущее уже здесь!
29 марта 2016
Уверен, что почти каждый администратор ресурса в какой-то момент понимал, что ему необходимо оперативное оповещение пользователей. Оповещение по емейл это круто, но когда нужна оперативность - вариант не подходит. Еще можно отправлять сообщения на вайбер, ватсап, телеграм, скайп, аську, вконтакте и еще овер 9000 мессенджеров. К тому-же кто-то пользуется вайбером, кто-то скайпом, а параноик Василий вообще сидит в ТОХ. Поэтому функционал оперативных сообщение через мессенджеры для конкретного пользователя - нереально. Самый простой и лучший вариант это СМС-оповещения. Сейчас у каждого школьника, старше первого класса, есть айфон.

Значит нужно прикручивать отправку СМС на любимый портал. Цель такого функционала может быть любой, от паролей по СМС, оповещений или поздравлений до спама грандиозных рекламных кампаний.
27 января 2016
За свою бытность в качестве разработчика овер9000 раз я слышал вопрос «как стать программистом». Слышал его от совершенно разных людей. Правда, вопрос не всегда звучал в точности так, как в заголовке. Обычно диалог тактично – по-пацански подводится к основному вопросу трудоустройства на ЗП минимум в 3 зарплаты в макдональдсе и главное сразу.
- Я не знаю, кем хочу работать, но ЗП точно хочу большую. А ты кем работаешь, программистом ? Слушай, я тоже хочу, вашей компании нужны программисты ?
Отвечаешь, что да, нужны, и не только нам, а еще и многим другим компаниям тоже нужны. Не успев договорить, получаешь ответ – «берите меня, я ничего не знаю, но платите мне и я научусь, там учиться то нечему». Если кинуть фразу «а может лучше сначала что-то поучить, а потом приходить устраиваться» то, поздравляю, у %username% появится кровный враг. Плохой, плохой %username%, не взял к себе на работу за глаза, а еще друг называется!
Это нормальная практика, дожившая до нас со времен совка. Но даже тогда, людей с улицы просто так не назначали инженерами или конструкторами. Правда это уже не важно, вас захейтили и потерли из друзей в уютненьком.
21 января 2016
В прошлой статье я рассказал о том, что такое системы счисления, побитовые операторы и какими они бывают. Статья получилась достаточно емкой, но не было главного – для чего, как и где это все можно использовать. Во второй части статьи я заполню этот пробел примерами использования. Даешь больше примеров! Примеры я постарался привести не академические, то есть, применимые в больших и не очень проектах.

Поехали!
14 января 2016
Я занимаюсь разработкой, поэтому среди моих знакомых есть некоторая часть людей, которые занимаются тем же, ну или как-то связаны с этой областью. У всех них разные задачи, цели и средства достижения этих целей. Но всеже есть одна вещь, которая всех их объединяет – большинство из них напрочь забыли об основах программирования. По большому счету это закономерно - почти все используют высокоуровневые языки, исполняемые в песочнице фреймворка, поэтому программа третьего курса университета забывается. За ненадобностью. На совсем. Безвозвратно.

Целью этого цикла статей я ставлю освежить свою память и напомнить всем-всем, кто подзабыл или вообще никогда не касался раздела программирования связанного с битами, байтами, битовыми операциями, смещениями и всего в этом духе.
05 декабря 2015


heap.tech - сайт посвященный информационным и высоким технологиям, достижениям в науке, так или иначе связанных с отраслью, новинкам, прорывам в создании чего-то принципиально нового. Это площадка, на которой любой может поделиться своей идеей, её реализацией и конечно же критиковать чужие, куда без этого. Еще можно постить котиков по пятницам, если это обладает какой-то смысловой нагрузкой, кроме той, что котики очень милые, и о которой можно рассказать в умном тексте, расположенном под котиками.