サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
www.viget.com
Depending on the page and the network conditions, these round-trips can add hundreds of milliseconds of latency, or more. If you are requesting resources from several different hosts, this can add up fast, and you could be looking at a page that feels more sluggish than it needs to be, especially on slower cellular connections, flaky wifi, or congested networks. One of the the easiest ways to spee
Delivering CSS & JS on your websites is completely different with HTTP/2, and here is a guide on how I've done it. D e l i v e r i n g C S S & J S o n y o u r w e b s i t e s i s c o m p l e t e l y d i f f e r e n t w i t h H T T P / 2 , a n d h e r e i s a g u i d e o n h o w I ' v e d o n e i t . We have been hearing about HTTP/2 for years now. We've even blogged a little bit about it. But we h
Jest is a batteries included unit testing framework by Facebook. It's fast, feature rich, and integrates perfectly with Babel, an important tool our build pipeline. Jest allows for an exceptional unit testing experience. However I've never been able to say that about acceptance testing. Could we integrate high-level, end-to-end tests and maintain the same experience? Nightmare, an Electron powered
Height is often overlooked in responsive design. On mobile, pages can get pretty long. Should we address this? H e i g h t i s o f t e n o v e r l o o k e d i n r e s p o n s i v e d e s i g n . O n m o b i l e , p a g e s c a n g e t p r e t t y l o n g . S h o u l d w e a d d r e s s t h i s ? When designing responsive sites, we tend to focus a lot on keeping content nicely formatted within all
The Rails router provides a redirect method, but it doesn't include the request query string. Let's fix that. T h e R a i l s r o u t e r p r o v i d e s a r e d i r e c t m e t h o d , b u t i t d o e s n ' t i n c l u d e t h e r e q u e s t q u e r y s t r i n g . L e t ' s f i x t h a t . Note: the following was tested with Ruby 2.3.1p112 / Rails 5.0.0. Your mileage may vary depending on versi
We’re a full-service digital agency that’s been helping clients make lasting change since 1999. Contact Us
Back in the days of Campfire, Hubot was an essential companion to the company chatroom. Hubot was great for the automation of some simple tasks, but the performance of more complex tasks involving external services often seemed more complicated than necessary. And the performance of private tasks was completely impossible. Campfire simply doesn't allow for a better solution. Now it's 2015 and Slac
I read Thomas Reynolds’ My Weird Ruby a week or two ago, and I loved it. I’d never heard of the Contracts gem, but after reading the post and the well-written docs, I couldn’t wait to try it out. I’d been doing some functional programming as part of our ongoing programming challenge series, and saw an opportunity to use Contracts to rewrite my Ruby solution to the One-Time Pad problem. Check out m
Are you checking color contrast in your design for optimal readability? Learn more from @troz's simple method. A r e y o u c h e c k i n g c o l o r c o n t r a s t i n y o u r d e s i g n f o r o p t i m a l r e a d a b i l i t y ? L e a r n m o r e f r o m @ t r o z ' s s i m p l e m e t h o d . When you create color palettes for your web design projects, are you testing the color combinations f
Just over a year ago I started using Gulp and created gulp-starter. The setup works great out of the box on projects that are unopinionated about assets. Rails, unfortunately, is very opinionated, and it's taken me a year of trial and error to land on a solution that fully integrates a Gulp-based asset pipeline with Rails without compromising existing features or sacrificing speed, power, or flexi
TL;DR If you've written Ruby, you've heard it before: Use single quoted strings unless you need string interpolation. It makes sense, right? When I instantiate strings using double quotes, the Ruby intepreter has to do extra work to figure out if it needs to perform interpolation. Since extra work means reduced performance, it seems reasonable to avoid double-quoted instantiation unless it's a nec
A simple React example of showcasing a multi-step registration where using state can determine what's rendered. A s i m p l e R e a c t e x a m p l e o f s h o w c a s i n g a m u l t i - s t e p r e g i s t r a t i o n w h e r e u s i n g s t a t e c a n d e t e r m i n e w h a t ' s r e n d e r e d . We've really enjoyed working with React here at Viget. We've used it on client projects, persona
Data visualization has become a more frequent element of our work at Viget. Be it simple pie charts or beautiful maps displaying jersey sales, visually representing data in a compelling way is a great device for storytelling and provides rich fuel for social sharing. Yet making these illustrations fast, shareable, and accessible has its challenges. Although browsers are powerful, tightly coupling
Hello. How are you? Thanks for stopping by. It used to be tricky to get Docker working on OS X, which is why I wrote this here blog post. With the release of Docker 1.8, it just got way easier. Now there's a new thing, Docker Toolbox, that makes it super easy. You should install that instead of reading this post. Or you can read it if you want, I think it's a pretty good blog post and you'll learn
Ever seen the :inverse_of option on an association and wondered what it did and why it was there? class Criminal < ActiveRecord::Base belongs_to :prison, inverse_of: :criminals end class Prison < ActiveRecord::Base has_many :criminals, inverse_of: :prison end The first time I saw something like that, it seemed like an unnecessary distinction to make. Why is :inverse_of a thing? Memory Optimization
Custom ActiveModel::Validators are an easy way to validate individual attributes on your Rails models. All that's required is a Ruby class that inherits from ActiveModel::EachValidator and implements a validate_each method that takes three arguments: record, attribute, and value. I have written a few lately, so I pinged the rest of the amazingly talented Viget developers for some contributions. He
Data from over 1,000 test participants paint a nuanced picture about the effect of icon style on usability. D a t a f r o m o v e r 1 , 0 0 0 t e s t p a r t i c i p a n t s p a i n t a n u a n c e d p i c t u r e a b o u t t h e e f f e c t o f i c o n s t y l e o n u s a b i l i t y . Last summer software designer Aubrey Johnson published a post on Medium with a specific critique of Apple’s bran
Traditionally stylesheets describe the majority of the presentation layer for a website. However as JavaScript becomes necessary to present information in a stylistically consistent way, it becomes troublesome to keep these mediums in sync. Data visualizations and break-point based interaction are prime examples of this; something I bumped into on my most recent project. I should note that this is
The FEDs here at Viget love using BEM syntax for our CSS. It enables us to adhere to an expressive naming convention which helps in hand-offs, code reviews, and just coding faster. However, the more abstract a design becomes, the more you need multiple modifiers for a single design element. You can apply each specific modifier, but that can quickly become unwieldy. Note: If you’re not familiar wit
Here at Viget, we've successfully used ActiveAdmin on a number of custom CMS projects. ActiveAdmin is a great help in providing a sensible set of features out-of-the-box, while still allowing heavy customization for great justice. It also has a very opinionated way of doing things, which can make customization a bit tricky (eg. layouts via Arbre, Custom Pages, etc.) After working with ActiveAdmin
Getting Started One weekend, I decided to really immerse myself in Grunt and RequireJS. Gotta stay up on these things right? Done. Then Monday rolls around, "and just like that Grunt and RequireJS are out, it’s all about Gulp and Browserify now." (╯°□°)╯︵ ┻━┻ When I was done flipping tables, I set aside my newly acquired Grunt + RequireJS skills, and started over again with Gulp and Browserify to
We love writing Rails apps at Viget. The framework covers so much ground right out of the box by convention. However, Rails is oddly silent about one thing: seed data. Beyond a simple Rake task, db:seed, each project is left on its own to define how best to provide seeds. Your Seed Data Is Important Without expounding too much on why seeds are vital over the lifetime of a project, we use them to p
In January, we worked with Dick’s Sporting Goods to launch Gear in Action, an interactive lookbook featuring new products for the 2014 Baseball season. During the video presentation, users have the opportunity to click on products in the video, view more details (example), and see purchasing options. Since this opportunity only occurs during the slow-motion part of the video, we wanted to make sur
We’re a full-service digital agency that’s been helping clients make lasting change since 1999. Contact Us In early 2013, the “Block Element Modifier” (BEM) css syntax emerged as a popular way to create better organization and uniformity across projects. For the most part, I love it. It’s clear, organized, and it makes sense. But one thing that kept bugging me (and my fellow FEDs) was how redundan
Hopefully you’ve already read Jackson Fox’s post on Making Infield Form Labels Suck Less from a UX perspective. If you haven’t, I recommend that you check it out before reading my thoughts from the front-end development perspective. Can't wait to check out the code? Head down to the jsFiddle at the end of the post. So often in web design and development, things that are easy to implement aren’t ap
With the continued adoption of advanced CSS by browsers, we are starting to have the ability to do more and more using just CSS. As we have seen, you can make all kinds of crazy shapes with only CSS. On a recent client project, the designer challenged me with a grid of diamonds. Oh, also, this is a responsive site. Challenge accepted! So first, I focused on just getting a single square rotated and
UPDATED: I've updated the instructions based on feedback in the comments suggesting the use of the --dummy-path=spec/dummy --skip-test-unit options on the rails plugin new command. Recently, we've been doing a lot more with Rails engines. We've developed a few engines that we've released publicly, and even more that we use privately on applications. We've found it's a good way to organize and shar
次のページ
このページを最初にブックマークしてみませんか?
『Web Strategy, Web Design, Web Development, and Web Marketing at Viget Labs』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く