Pull to refresh
  • by relevance
  • by date
  • by rating

«Кадры», вып. 6, «Созданы друг для друга»

Lumber room
— Почему Оляпка все еще в Перми
— Фритоник сделал так, что детям этот подкаст слушать теперь нельзя
— Немного о странностях монтажа подкастов
— Очень приятные комментарии
— Диалог увлеченных сериалами
— Гениальная притча
— Любишь Россию?! Голосуй за «Кадры»! rpod.ru/2008
— Наш «котоконкурс». Призы последуют!
— Едим ли мы «Вискас»?
— Кто такой Никита Бегун?
— Как у «кадров» со «слепой печатью»?
— «Взрываем мозг» в прямом эфире
— И еще раз «хана мозгу»… Поэтическая страничка… от Оляпки

Читать дальше →
Total votes 40: ↑26 and ↓14 +12
Views 365
Comments 7

Заходя на сайт крупной компании — опасайся крупного вируса!

Lumber room
Добрый вечер хабротята.

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

Но больше меня волнует безопасность! На нее как раз и не хватило фирме «Вискас»! :(

Смотря очередной ролик про Вискас, решил все-таки зайти на их сайт, тем более там была акция бесплатная — какой русский этого не любит? :).

Дизайн конечно отличный

image

но! кис2009 сразу, же выдал предупреждение и заблокировал попытавшийся запуститься файл!..
Лезем в логи и что мы видим?

image

Ай я я… вирусик с левого сайта.

Смотрим html код сайта

image



Банальный IFRAME.

Скорее всего, на компьютере админа имеется вирус, который утянул пароли на ФТПшку сайта — как там можно жить?
А я то хотел принять участие в акции :(, там кстати анкету заполняешь — скорее всего данные уходят на лево.
Анкету не стал заполнять. Отписался в техПоддержку — подожду :).

Решил поискать инфу по сайту — ничего интересного не выдал. Поднялся на уровень выше svoboduud.cn — тоже вирус выдал, но очеееееееееень со смешного сайта :)))

lovisiribkabolishajaimalenkaja.com

Мораль? Рекламируемый сайт — не гарантия качественной безопасности!

UPD: скриптик убрали через 12 часов после обнаружения.
UPD: совсем забыл сказать — за этот пост получил инвайт. Спасибо :)
Total votes 30: ↑26 and ↓4 +22
Views 153
Comments 12

Meteor + MVVM = ❤

Website development *JavaScript *Perfect code *HTML *Meteor.JS *
Recovery mode
Tutorial

Тут мелькнула статья, как чувак, выбирая инструментарий, ничего не мог написать. Это про меня! Под Новый год нашёл ViewModel.org. А внутри прекрасный Two-Way Binding. Но не проходит ощущение ящика в гараже, заваленного гаечными ключами вперемешку с "лишними" деталями. Наглядный пример, как в собственной же демке пришлось ввернуть костыль, гы-гы. И я застрял на четыре месяца — хобби по вечерам после работы. Перебрал все пакеты, хоть как-то полезные для Blaze. Приставал к авторам с мольбами… Собрал в итоге новый велосипед с громким именем Template2.


Очень сложно сделать просто, как известно. Зацените:

Читать дальше →
Total votes 19: ↑12 and ↓7 +5
Views 15K
Comments 6

Отпусти меня, Meteor

Website development *Perfect code *Meteor.JS *
Recovery mode

Непросто отказываться от иллюзий, но пришла пора подвести черту. Может кому-то сгодится на распутье выбора. Ну и внукам потом буду показывать. Этой истории уже 20 лет. Краткое содержание: фреймворки — больше никогда; выход есть.


Будущее

Читать дальше →
Total votes 73: ↑22 and ↓51 -29
Views 11K
Comments 27

Материалы курсов по Clojure

Website development *Functional Programming *Clojure *
Tutorial
image

В 2014 году группа профессиональных разработчиков на Clojure под руководством Дмитрия Бушенко провела первые и единственные онлайн-курсы по языку Clojure на русском языке.

Специально для курса мы записали 71 оригинальное видео общей продолжительностью 17 часов 25 минут и 44 секунды. Курс пользовался успехом — пришло более 200 человек, но материалы в открытом доступе не публиковались.

Этот сайт — те самые материалы.

Мы публикуем их в том виде, в каком они есть. Лекции сами по себе связные, полные и самодостаточные. Они даже почти не устарели (на июнь 2016-го), хотя, конечно, появилось и много нового. Задания тоже можете порешать — это ровно те файлы, которые выдавались на дом слушателям курса в 2014-м.

(мопед не мой)
Total votes 27: ↑24 and ↓3 +21
Views 12K
Comments 8

Как Clojure помогает ускорить написание Selenium-тестов

Website development *Functional Programming *Web services testing *Clojure *
Tutorial

image Привет, читатель! Если доводилось писать Selenuim-тесты чуть сложнее чем на пару полей ввода и одну кнопку, то эта статья может пригодиться.


Наверняка знакомо чувство неправильности происходящего, когда внезапно отказывался работать тест-кейс длиной в пару минут, вынуждая тыкаться вслепую, чтобы найти поломавшийся css- или xpath-селектор в сложном Single Page Application, раз за разом запуская этот медленный сценарий, только чтобы дождаться вывода лога в консоль. Оказывается, можно писать Selenium-тесты с комфортом!


О чём статья - другими словами для нубов

Про Selenium. Когда-то это был просто плагин для FireFox. Нажимаешь кнопочку "запись", и начинаешь дергать интерфейсы тестируемого сайта (формочки, ссылки). Практически без знания программирования, полученный сценарий можно править, подставляя нужные значения проверок. Всё — тест готов! Запускай каждый раз после деплоя, и проверяй, чего сдвинул локтем. Потом в Selenium добавили API для разных языков. В частности есть и для JAVA. Через API можно делать тоже самое: запускать браузер с требуемым сайтом, проверять переданные значения в формах, ходить по ссылкам и т.д. Беда в том, что скрипт выполняется медленно. Чтобы тестировать тесты, надо перезапускать сценарий, а это форменная пытка. Clojure (поверх JAVA) позволяет выполнять куски кода в работающей программе посредством REPL прямо в редакторе!

Читать дальше →
Total votes 27: ↑23 and ↓4 +19
Views 13K
Comments 12

Как слямзить Хабр по-быстрому

Website development *JavaScript *ReactJS *
Tutorial

Это произошло в понедельник 13 февраля, мир больше не будет прежним. Открыта вакансия:



Для работы над нашими проектами мы ищем сильного front-end разработчика. Вам предстоит амбициозная задача: внедрить компонентный подход в разработку всех текущих и новых проектов компании.

Отлично, работаем дальше! Выполняю "тестовое задание".

Читать дальше →
Total votes 59: ↑34 and ↓25 +9
Views 42K
Comments 66

React Native — одного JS мало

JavaScript *Development of mobile applications *ReactJS *
Tutorial

Итак, пришла пора быстро погрузиться в тему. Для усиления эффекта, использую разные техники преобразования информации в знания. В частности, представляю конспект доклада Алексея Андросова (старшего разработчика интерфейсов, Yandex).

Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Views 189K
Comments 84

Как вернуться в кодеры, когда за сорок

Programming *

Сколько раз рассказывал коллегам и на собеседованиях. Видимо есть спрос и на Хабре. Кто-то встал перед выбором. Другой сомневается в правильности намеченного пути. Когда выгораешь, такое случается. Кому-то интересно, с чем предстоит столкнуться впереди, или сопоставить своё подобное. Поверьте, это короткая версия объёмной тоскливой истории.

Читать дальше →
Total votes 87: ↑64 and ↓23 +41
Views 44K
Comments 173

Блог а-ля Хабр, выбор платформы

Website development *JavaScript *Node.JS *ReactJS *
Tutorial

В предыдущей серии (Как слямзить Хабр по-быстрому) запустил проект на базе Create React App (CRA). Но это SPA, что не очень подходит, когда требуется индексация в поисковиках. Нужен Server Side Rendering (SSR). И желательно из коробки, а не на коленке. Крайне расточительно тратить ресурсы на самостоятельную разработку базовых технологий. Как выбирать платформу с поддержкой SSR? На практике, конечно, POC. Попробую реализовать CRUD с формой ввода на Material-UI, рассматривая кандидатов: React Starter Kit (RSK), NEXT.js и Electrode (не путать с Electron).


Исходники на GitHub.

Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Views 15K
Comments 44

Организация компонентов в проекте

Website development *JavaScript *ReactJS *
Tutorial
Многие руководствуются рекомендациями Presentational and Container Components, но уважаемый автор признаётся в сносках, что концепция разделения спорная, и компоненты можно смешивать. А если это так, то зачем тащить чемодан без ручки? Все компоненты проекта удобнее хранить в одной общей папке. Какие плюсы:
  • Простота навигации по файловой системе.
  • Уникальные имена компонентов проекта.
  • Импорт без боли ('../../../../../..').


Когда проект вырастет, следует дробить его на приватные npm-пакеты, инкапсулируя реализацию. Но не выращивать дерево подпапок внутри папки компонентов — развивать и поддерживать такое ощутимо сложнее. Проверено.
Дальше больше
Total votes 30: ↑26 and ↓4 +22
Views 15K
Comments 13

Flow + tcomb = типизированный JS

Website development *JavaScript *ReactJS *
Tutorial

Рано или поздно, все приходят к выводу, что нам нужна строгая типизация. Почему? Потому что проект разрастается, обрастает if-ами; функциональное программирование — всё функция — неправда, мне только что консоль сказала "undefined is not a function". Вот эти проблемы появляются всё чаще-чаще, становится сложнее отслеживать, возникает вопрос — давайте строго типизировать, хотя бы на этапе написания кода будет подсказывать.


Знаете рекламу: TypeScript — это надмножество JavaScript-а. Маркетинговый BS. Мы честно попытались, грубо говоря, переименовать проект из JS в TS — оно не заработало. Оно не компилируется, потому что некоторые вещи, с точки зрения TypeScript-а являются некорректными. Это не означает, что TypeScript — плохой язык, но продвигаться на идее надмножества, и подводить меня так, TypeScript — я не ожидал.


Как только вы вычеркиваете TypeScript, остаётся ровно одна альтернатива — Flow. Что я могу сказать про Flow? Flow мегакрутой тем, что заставит вас выучить систему типов OCaml, хотите вы того, или нет. Flow написан на OCaml. У него гораздо строже и гораздо мощнее вывод типов, чем у TypeScript-а. Вы можете переписывать проект на Flow частично. Количество бонусов, которые вам приносит Flow, сложно описать. Но, как всегда, есть парочка "но".

Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 12K
Comments 29

Функциональные компоненты

Website development *JavaScript *ReactJS *
Tutorial

Как говорится, в редакцию пришло письмо: "не могли бы вы подробно разъяснить..." Отвечаю публично, кому оно надо, а применение можно пощупать тут.

Читать дальше →
Total votes 35: ↑25 and ↓10 +15
Views 21K
Comments 16

Способы отладки JS на клиенте

Website development *JavaScript *ReactJS *
Tutorial

Применительно к разработке на create-react-app (CRA) в браузере и в IDE WebStorm. Если вам известны какие-либо другие способы отладки, большая просьба поделиться знаниями.

Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Views 19K
Comments 21

Загрузка данных из REST API

Website development *JavaScript *ReactJS *
Tutorial

Хочу поделиться ещё одним маленьким велосипедом — в первую очередь, чтобы получить бесценные советы. Дополнительные примеры можно посмотреть в исходниках фан-проекта на GitHub.

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 10K
Comments 13

Быстрый старт на React Native

JavaScript *Development of mobile applications *ReactJS *
Tutorial

Какие горизонты открывает React? Single Page Application (и веб-приложения, и десктопные приложения на Electron) — это цветочки. Очень заманчиво выглядит разработка мобильных приложений на React Native. Лозунг "learn once, write anywhere" стоит того, чтобы приложить некоторые усилия. Go!

Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 46K
Comments 14

2017: Автостопом по галактике JavaScript

Website development *JavaScript *Programming *Development of mobile applications *

Расшифровка доклада Ильи Климова на конференции JavaScript fwdays.


Мы с вами попробуем отследить некоторые тренды в развитии JS, как сообщества, как движения, в 2017-ом году. Я очень постараюсь избежать оценочных суждений. Хотя кого я обманываю, все равно не получится. И где-то через год вы сможете с радостью открыть эту презентацию на YouTube, и понять, насколько я был не прав.


Поэтому давайте перенесёмся в 2015 год. Посмотрим, как развивался JS.



Читать дальше →
Total votes 51: ↑46 and ↓5 +41
Views 30K
Comments 239

Почему программисты не могут программировать

JavaScript *Programming *Perfect code *Algorithms *
Translation

Я был недоверчив, когда прочитал это наблюдение у Реджинальда Брейтуэйт:


Как и у меня, у автора возникают проблемы с тем фактом, что 199 из 200 претендентов на каждое задание программирования не могут писать код вообще. Повторяю: они не могут писать никакого кода вообще.
Читать дальше →
Total votes 38: ↑25 and ↓13 +12
Views 52K
Comments 516

Интеграция React и DataTables — не так тяжело, как рекламируют

Website development *JavaScript *ReactJS *
Translation
Tutorial

Несколько месяцев назад я искал React-компонент для отображения таблицы данных в одном из наших веб-приложений в Undertone. В предыдущем проекте, который не был основан на высокоуровневой библиотеке, такой как React, мы использовали jQuery-плагин DataTables, и мы были очень довольны той гибкостью, которую он предлагает. Теперь я искал нечто похожее, которое можно легко интегрировать как React-компонент в наше новое приложение.


Проведя довольно обширные исследования, я узнал две вещи. Во-первых, это то, что не рекомендуется использовать DataTables вместе с React, потому что обе библиотеки управляют DOM. Во-вторых, не было библиотеки, которая обеспечивала гибкость, необходимую для нашего веб-приложения (с момента моего исследования). Крайний срок для сдачи проекта приближался, и мне нужно было что-то выбрать. Я решил пойти по непопулярному пути и интегрировать DataTables в свой проект. Результат получился намного лучше, чем я ожидал, и весь процесс интеграции на самом деле был довольно плавным. В следующих разделах я опишу схему проекта, в котором работает интеграция React и DataTables.

Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 14K
Comments 16

Redux Business Logic

Website development *JavaScript *ReactJS *
Tutorial

Как-то раз в Телеграмм-чате React_JS (кстати, русскоязычный чат, присоединяйтесь) обсуждали вопрос: "где в React-приложении должен быть расположен код, отвечающий за бизнес-логику". Вариантов несколько, мнения разделились. Ну а я решил записать подкаст (автор @PetrMyazin).

Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Views 10K
Comments 21
1