TechFULの中の人

TechFULスタッフ・エンジニアによる技術ブログ。IT関連のことやTechFULコーディングバトルの超難問の深掘り・解説などを紹介

おすすめプラクティス問題集

突然ですが、みなさんはTechFULのチャレンジ問題やTCBの問題に挑戦するときにどのような練習方法を行っているでしょうか? 様々な書籍、サイトを参考にして自らのスキルを向上させて挑んでいる方も多いとは思いますが、今回はTechFUL内で自分がおすすめする…

好きなテキストで画像分類

こんにちは!TechFUL PROでアルバイトをしているPeyjunです!TechFUL PROでは、人工知能やデータサイエンスに関する問題を作成しています。今回は、昨今の画像分類の分野で注目を集めている、「CLIP」というモデルについて紹介したいと思います。 CLIP CLIP…

指数タワーの値を任意 mod で求める

のように指数を連ねた表記を一般に 指数タワー といいます。また、指数タワーが表す値を 指数タワーの値 と呼ぶことにします。ここで、冪乗の演算は右結合、即ち、積みあがった指数の上側から計算することに注意が必要です。例えば、 となります。 本稿では…

プログラムの「型」を支える理論

プログラミング言語における重要な概念の一つに、「型」があります。しかし型という概念は、プログラミング言語において必須ではありません。 それにもかかわらず多くの言語に型が備わっているのはなぜでしょうか?この記事ではその理由や、型を支える理論に…

サイクル分解の標準形【TCB49第7問の背景】

TCB49第7問目では次のような問題を出題しました。整数 $N, K$ が与えられます。$1, 2, \ldots, N$ の順列 $a$ であって、次の条件を満たすものの個数を $998244353$ で割った余りを求めてください。 $a_i = \max(a_1, \ldots, a_i)$ を満たす $i$ の個数が $…

編集距離を O(NM/w) 時間で求めるアルゴリズム

文字列を比較する際の指標の一つに、編集距離があります。具体的には、編集距離とは「一方の文字列をもう一方の文字列に一致させるために必要な $1$ 文字の置換、挿入、削除の最小回数」のことです(後で詳しく説明します)。 生物情報科学(バイオインフォ…

TechFUL の得点システムを知る

こんにちは、普段はTCBやチャレンジ問題などの上級問題を主に作っている作問担当者の1人です。 今回は、TechFUL上で問題を解いたときに得られる「スコア」について、噛み砕いた説明をしていこうと思います。「スコア」は、毎月開催されるガチコンテストの Te…

クワインの書き方【自分自身を表示するプログラム】

自身のソースコードと完全に同じ文字列を出力するプログラムは Quine (クワイン) と呼ばれます。 Quine は単純に書けるものではありません。 例えば Python3 で print 関数から Quine を書き始めようとすると、引数に渡すべき文字列は自身のソースコードなの…

画像つきボタンを作成する

こんにちは、TechFULでアルバイトをしているAtriaです。 現在はTechFULで出題される問題の作成をしています。 さて、私は趣味でAndroidアプリの開発をしているのですが、その中でどうしてもXML上で 画像つきのボタン が作りたくなりました。 今回はXML上で画…

未来予測と勘違い

こんにちは.TechFUL PROのアルバイトをしているzekiです. TechFUL PROでは人工知能に関する問題を提供しています. 今回は時系列データの未来予測についてです. 株価や仮想通貨,天気,流行など,未来予測は魅力的な題材が多いですよね. 天気予報なんか…

TechFULの問題を作る時に考えていること

お久しぶりです。この記事を書いた作問アルバイトです。 triple-four.hatenablog.com 今回は、自分がTechFULで作問をするにあたって何を考えてどのような問題を目指しているかをブログに書きます。 TechFULに必要な問題の性質 まず、TechFULに並んでいる問題…

テストケースが正解にならない時のTechFUL上でのデバッグ方法

こんにちは! 問題管理を担当しているTechFULエンジニアです! TechFUL問題に挑戦している皆さんから、「サンプルケースは通るのにテストケースは通らない。テストケースは非公開になっているため手詰まりになってしまった。」というご意見を耳にします。 こ…

PyTorchのLazy modulesを使ってみる

こんにちは。TechFULでアルバイトをしているberryberryです。 TechFUL PROで機械学習に関する問題を作成しています。 今回は、ディープラーニングを実装できるライブラリであるPyTorchに実装されている、Lazy modulesを紹介したいと思います。 Lazy modules…

ニューラルネットワークの限界を観察してみる

こんにちは.TechFUL PROのアルバイトをしているzekiです. TechFUL PROでは人工知能に関する問題を提供しています. 今回はニューラルネットワーク(NN)の限界について観察してみます. NNはそのパラメータ数を無限に大きくするとどのような関数にも限りなく…

コマンドラインでTODO管理【Taskwarrior】

TODO を管理するためのツールは数多くの種類があります。 人それぞれに TODO 管理ツールの好みがあるでしょう。 本記事ではコマンドラインで TODO 管理ができる Taskwarrior を紹介します。

FizzBuzzを題材としたvue3での単体テスト入門

こんにちは、TechFULでアルバイトをしているAtria(@AtriaSoft)です。 現在はTechFULで出題される問題の作成をしています。 本記事では、FizzBuzz問題を題材にvue3で単体テストに入門してみます。 Vue Test Utilsを使ってテストフレームワークにMocha、アサー…

【初心者向け】Python(Flask) で作成したWeb APIをGCEにデプロイする

こんにちは。 444株式会社エンジニアの河端です。 本記事ではローカル環境で動作するアプリケーションを、 GCEにデプロイする方法をなるべく簡単に説明します。 本記事について 手順1. ローカル環境で動くアプリケーションを作成 手順2. サーバーを準備 手順…

行列の掛け算だけでデータ分析

こんにちは.TechFULでアルバイトをしているzekiです. TechFUL PROで機械学習に関する問題を作成しています. 機械学習と行列計算は切っても切れない関係にありますが,今回はこの行列計算の掛け算のみを使ってデータを分析していきます. 行列というのは数…

【Python3.7~】データクラスの速度について調べてみた

はじめに こんにちは! 444株式会社エンジニアの白神(しらが)です。 もともと開発アルバイトとしてTechFULのジャッジ周りの開発をしていましたが、今年の4月から正社員として新卒で入社しました。まだまだ未熟ですが、先輩のエンジニアの方々に日々アドバ…

ブラウザ自動化フレームワークSeleniumを用いてコードを提出してみる

こんにちは、TechFULでアルバイトをしているSiiiecです! 今回はWebブラウザの自動化に用いられるSeleniumをPythonで使い、 TechFULへコードの提出をしてみたいと思います。

【知っておくと便利】C++で問題を解くときにおすすめのコンパイルオプション

こんにちは。TechFUL でアルバイトをしている Arumakan です。 TechFUL ではアルゴリズム構築能力やプログラムの実装能力を問う問題を提供しています。 みなさんはどのようなプログラミング言語で問題を解いているでしょうか。 TCB 参加者、特にランキング上…

TechFULチャレンジ問題に挑戦しよう! 第一回チャレンジ検定(プログラミング基礎・アルゴリズム編)

はじめまして、問題管理を担当しているTechFULエンジニアです! 皆さんは「チャレンジ問題」に挑戦したことはありますか? (いつも挑戦してくださっている皆さん、ありがとうございます!) チャレンジ問題は2021年6月9日時点で400問以上公開しており、「どの…

C#によるSPA開発が可能になるフレームワークBlazorの紹介

こんにちは、TechFULでアルバイトをしているAtriaです。 現在はTechFULで出題される問題の作成をしています。 さて、みなさんはWebフロントエンド開発を行う際にどのようなフレームワークを利用するでしょうか。 Vue, React, Angular, Django, Ruby on Rails…

参加者目線で見る 第35回TechFUL Coding Battle

はじめまして、TechFULでアルバイトをしている某競技プログラマです。(ハンドルネームは伏せさせていただきます...) まず、前回のTCBの結果ですが、なんと理論上の最高得点である858点を記録した方が3人も出て、とても驚いています!(ちなみに、記事の執筆者…

ubuntu20.04のローカルkubernatesでプライベートGCRのイメージを利用する

はじめに 444エンジニアの久保田です。 当社サービスのTechFULのバックエンドにGKEを使っています。GKEはGoogleさんがよろしくやってくれているのでk8sをよく知らなくても使い始められてしまいます。とてもありがたいのですが、ちょっとした試験するにいちい…

グラフで理解するニューラルネットワーク

こんにちは.TechFULでアルバイトをしているzekiです. TechFUL PROで人工知能に関する問題を作成しています. 人工知能といえばディープラーニング! 本記事ではその基礎であるニューラルネットワーク(NN)がどのように関数を近似するのか,どうしてディー…

PyTorchを使ったワンライナー機械学習

こんにちは、TechFULでアルバイトをしている、berryberryです。 現在は、TechFUL PROと呼ばれる人工知能などの最先端技術を測定/学習するためのサービスに関連した問題の作成や英訳作業をおこなっています。 私は大学院で深層学習に関係する研究をおこなって…

TechFUL Coding Battle 一挙解説【得点計測方法は?賞金は?第35回の難易度はどれくらい?】

初めまして!TechFULのマーケターです。 TechFULブログは、スタッフ間で毎週順番を回しながら更新しているので、内容はほぼ技術記事やTechFULの問題に関することが多いですが、まれに私のような平凡なスタッフによる記事が出てきます。(私のようなって、私…

DjangoでFormクラスを利用した共通CSVバリデーションメソッドを作った話

TL;DR 一括入力系のcsvアップロード機能にはすでにあるFormクラスを使いまわしたかったので、csvバリデーション向けの共有メソッドを作成した 自己紹介 444株式会社エンジニアの橋本玄基です。 21/02にジョインし、バックエンド開発をメインに、ちょびっとイ…

VR空間と現実の位置合わせがしたい【3D】【Unity】

こんにちは、TechFULでアルバイトをしているSiiiecです! はじめまして、もしくは以前のブログを読んでくださっていた方はお久しぶりです。 TechFULでは問題作成やTCB運営、新機能の検証をしています。 過去にはTechFULサイトエラー時のロゴを作成したりして…